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:
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:
Jetzt tragen wir unsere Zonen ein. Hier ein Beispiel :
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:
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 :
Alles anzeigen
Ja das wars soweit mit DNS, noch mal neustarten und fertig:
Zum ueberpruefen könnt ihr dann einen eurer DNS Namen auflösen:
Punkt 2. Webserver installieren
Nun zuerst wieder mal das Paket installieren:
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:
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:
Nun setzen wir am ende der Konfig noch unsere ftp konfiguration:
Alles anzeigen
Als nächstes erstellen wir noch unsere neue Gruppe :
und packen uns einfach selbst in diese Gruppe:
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 ...
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:
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:
Jetzt tragen wir unsere Zonen ein. Hier ein Beispiel :
Quellcode
- // Do any local configuration here
- //
- // Consider adding the 1918 zones here, if they are not used in your
- // organization
- //include "/etc/bind/zones.rfc1918";
- zone "lan.blub.de" { //Name der Zone
- type master; // Type definition, master nutzen, da hier eh nur einen DNS Server einrichten werdet :P
- file "/srv/spiderman/bind/zones/master/hosts-lan.blub.de"; // Pfad zu eurer Zonen Datei
- };
- // Dieser Eintrag ist fuer reserver DNS also von IP zum DNS Name, die erste Zahl einfach durch eure lokale Konfiguration ersetzen
- zone "1.168.192.in-addr.arpa" {
- type master; // Rest wie beim ersten beispiel
- file "/srv/spiderman/bind/zones/master/hosts-192.168.1";
- };
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
- ; bind config-file for lan-dns-zone
- ;
- $TTL 3h
- @ IN SOA ns1.lan.blub.de. admin.lan.blub.de. (
- 2013011301 ; Serial
- 3h ; Refresh after 3 hours
- 1h ; Retry after 1 hour
- 1w ; Expire after 1 week
- 1h ) ; Negative caching TTL of 1 day
- ;
- @ IN NS ns1.lan.blub.de.
- lan.blub.de. IN A 192.168.1.1 ; Router-IP
- spiderman IN A 192.168.1.5 ; DHCP, DomainController, DNS
- ns1 IN A 192.168.1.5 ; same :p
- hulk IN A 192.168.1.3 ; Fileserver + SMB Profile
- ;
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
- ; BIND reverse data file for 1.168.192.in-addr.arpa
- ;
- $TTL 604800
- 1.168.192.in-addr.arpa. IN SOA ns1.lan.blub.de. admin.lan.blub.de. (
- 2013011306 ; Serial
- 3h ; Refresh after 3 hours
- 1h ; Retry after 1 hour
- 1w ; Expire after 1 week
- 1h ) ; Negative caching TTL of 1 day
- ;
- 1.168.192.in-addr.arpa. IN NS ns1.lan.blub.de.
- ;
- 1.1.168.192.in-addr.arpa. IN PTR lan.blub.de.
- 3.1.168.192.in-addr.arpa. IN PTR hulk.lan.blub.de.
Ja das wars soweit mit DNS, noch mal neustarten und fertig:
Zum ueberpruefen könnt ihr dann einen eurer DNS Namen auflösen:
Punkt 2. Webserver installieren
Nun zuerst wieder mal das Paket installieren:
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:
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:
Nun setzen wir am ende der Konfig noch unsere ftp konfiguration:
Quellcode
Als nächstes erstellen wir noch unsere neue Gruppe :
und packen uns einfach selbst in diese Gruppe:
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 ...