[Raspberry Pi] Als Test-Webserver nutzen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [Raspberry Pi] Als Test-Webserver nutzen

      Raspberry Pi als "Test"-Webserver (lokal als auch im www)


      Der zweite Thread der Reihe dreht sich um eine "nützliche" Verwendung des Raspberry für Webentwickler.
      Da ich es z.B. nicht ab kann, wenn auf meinem lokalen Rechner diverse Sachen für das Testen installiert sind und somit meinen Speicherplatz so wie CPU Leistung fressen, hab ich lieber einen eigenes Test-System. Hier eignet sich der Raspberry besonders, da er einen sehr geringen Stromverbrauch hat aber dennoch genug Leistung damit man seine Anwendungen ausgiebig testen kann, sowohl allein als auch mit mehreren Leuten.


      Was brauchen wir an Hardware?

      Ein Raspberry
      Ethernetkabel oder WLAN Adapter
      Einen Router mit dynDNS Support (Fuer den Zugriff von drausen)


      Was brauchen wir an Software?

      PHP (+ Datenbank , je nach Anwendung)
      Web Server
      FTP Server
      DNS Server (Je nach Geschmack, ich betreibe auch lokal DNS Server, weils einfacher ist als sich IP's zumerken!)


      Hinweis: Ich nutze sudo, solltet ihr dies nicht eingerichtet haben, so gebt die Befehle ohne sudo als root ein!


      Gut, dann fangen wir mal an.

      Punkt 1 (Optinal) DNS Server :


      Als ersten installieren wir mal das entsprechende Paket. Dies tun wir so:

      Quellcode

      1. sudo apt-get install --no-install-recommends bind9


      Soweit so gut, damit ist bind, unser dns Server, installiert. Jetzt geht es an die Konfiguration.
      Als erstes richten wir die Zonen in bind ein. Diese tragen wir in der named.conf.local ein.
      Dafuer oeffnen wir diese mit einem editor unserer Wahl:

      Quellcode

      1. sudo joe /etc/bind/named.conf.local


      Jetzt tragen wir unsere Zonen ein. Hier ein Beispiel :

      Quellcode

      1. // Do any local configuration here
      2. //
      3. // Consider adding the 1918 zones here, if they are not used in your
      4. // organization
      5. //include "/etc/bind/zones.rfc1918";
      6. zone "lan.blub.de" { //Name der Zone
      7. type master; // Type definition, master nutzen, da hier eh nur einen DNS Server einrichten werdet :P
      8. file "/srv/spiderman/bind/zones/master/hosts-lan.blub.de"; // Pfad zu eurer Zonen Datei
      9. };
      10. // Dieser Eintrag ist fuer reserver DNS also von IP zum DNS Name, die erste Zahl einfach durch eure lokale Konfiguration ersetzen
      11. zone "1.168.192.in-addr.arpa" {
      12. type master; // Rest wie beim ersten beispiel
      13. file "/srv/spiderman/bind/zones/master/hosts-192.168.1";
      14. };
      Alles anzeigen




      Jetzt müssen wir nur noch die Zonen Dateien einrichten.
      Diese könnt ihr anlegen wo ihr wollt, allerdings rate ich zu einem Unterverzeichnis auf /srv, da diese für Serverdienste gedacht ist.
      Hier seht ihr eine Beispiel Konfiguration meiner Zone:

      Quellcode

      1. ; bind config-file for lan-dns-zone
      2. ;
      3. $TTL 3h
      4. @ IN SOA ns1.lan.blub.de. admin.lan.blub.de. (
      5. 2013011301 ; Serial
      6. 3h ; Refresh after 3 hours
      7. 1h ; Retry after 1 hour
      8. 1w ; Expire after 1 week
      9. 1h ) ; Negative caching TTL of 1 day
      10. ;
      11. @ IN NS ns1.lan.blub.de.
      12. lan.blub.de. IN A 192.168.1.1 ; Router-IP
      13. spiderman IN A 192.168.1.5 ; DHCP, DomainController, DNS
      14. ns1 IN A 192.168.1.5 ; same :p
      15. hulk IN A 192.168.1.3 ; Fileserver + SMB Profile
      16. ;
      Alles anzeigen


      Sollte sich eigentlich soweit selber erklären. Das einzige was ihr wirklich wissen müsst, Serial muss immer erhoet werden wenn ihr etwas an der config ändert damit bin es auch bemerkt! Falls ihr euch fragt wieso der Serial solange ist, der wird nach diesem Schema zusammengesetzt: Jahr Monat Tag Id. Das Datum ist das Datum der Erstellung der Zone
      Bei mir wars als 2013 01 13 und eben die ID. Hochzählen tut man eigentlich nur die ID.


      Und für die, die gerne auch reserve DNS nutzen möchten :

      Quellcode

      1. ; BIND reverse data file for 1.168.192.in-addr.arpa
      2. ;
      3. $TTL 604800
      4. 1.168.192.in-addr.arpa. IN SOA ns1.lan.blub.de. admin.lan.blub.de. (
      5. 2013011306 ; Serial
      6. 3h ; Refresh after 3 hours
      7. 1h ; Retry after 1 hour
      8. 1w ; Expire after 1 week
      9. 1h ) ; Negative caching TTL of 1 day
      10. ;
      11. 1.168.192.in-addr.arpa. IN NS ns1.lan.blub.de.
      12. ;
      13. 1.1.168.192.in-addr.arpa. IN PTR lan.blub.de.
      14. 3.1.168.192.in-addr.arpa. IN PTR hulk.lan.blub.de.
      Alles anzeigen


      Ja das wars soweit mit DNS, noch mal neustarten und fertig:

      Quellcode

      1. sudo /etc/init.d/bind9 restart


      Zum ueberpruefen könnt ihr dann einen eurer DNS Namen auflösen:

      Quellcode

      1. host dein.dns.name



      Punkt 2. Webserver installieren

      Nun zuerst wieder mal das Paket installieren:

      Quellcode

      1. sudo apt-get install apache2


      Damit sollte auch php installiert werden, so das wir uns darum nicht mehr kümmern müssen.


      Im Grunde könnt ihr die Konfig so lassen wie sie per default ist. Evtl wollt ihr ein wenig RAM sparen, dann müsst ihr die Anzahl der minimalen Threads einfach ein wenig absenken.

      Fuer die, die noch nie mit Apache zutun hatten, per default liegen die Webseiten im Verzeichnis /var/www/ .


      Punkt 3 FTP Server

      So da es ja doch wesentlich bequemer ist mit nem FTP Server die Sachen rüber zu schieben, richten wir als letztes noch einen FTP Server ein.

      Hier machen wir uns das ganze jetzt mal bequem und nutzen den guten alten proftpd. Diesen installieren wir so:

      Quellcode

      1. sudo apt-get install --no-install-recommends proftpd


      Wir richten das ganze als eigenen Dienst ein, da wir ansonsten noch inetd installieren / einrichten müssten.


      Nun konfigurieren wir das ganze noch. Da die wenigsten von euch IPv6 nutzen werden, stellen wir dieses erst mal auf off:

      Quellcode

      1. # Set off to disable IPv6 support which is annoying on IPv4 only boxes.
      2. UseIPv6 off


      Nun setzen wir am ende der Konfig noch unsere ftp konfiguration:

      Quellcode

      1. #ftp konfig fuer /var/www
      2. <Global>
      3. RequireValidShell off
      4. </Global>
      5. DefaultRoot /var/www/ ftpusers
      6. <Limit LOGIN>
      7. DenyGroup !ftpusers
      8. </Limit>
      Alles anzeigen




      Als nächstes erstellen wir noch unsere neue Gruppe :

      Quellcode

      1. addgroup ftpusers


      und packen uns einfach selbst in diese Gruppe:

      Quellcode

      1. useradd username ftpusers


      Als letztes sollten wir uns noch in www Schreibrechte geben. Da das ganze nur für mich bestimmt ist, hab ich meinen user einfach zum owner von www gemacht.
      Dies ist allerdings nicht die beste Lösung!.




      So das war es eigentlich auch schon. Nun habt ihr FTP Zugang zu euren "Webspace" und könnt einfach eure Webprojekte drauf werfen und testen :)




      Punkt 4 (Optional):
      dynDNS

      Editiere ich später noch dazu, da ich die Bilder aus versehen gelöscht hab sehe ich gerade ...
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )