Ein Webserver für den Raspberry Pi (apache, lighthttpd, nginx)

Bisher war für mich klar, ich verwende Apache als Webserver. Seit über 15 Jahren leistet dieser Webserver auf Millionen Webseiten gute Dienste. Warum also überhaupt an eine alternative denken? In den letzten Monaten las ich jedoch immer wieder von anderen Webservern (nginx & lighttpd). Dies hat mich dazu bewogen doch einmal etwas genauer zu recherchieren. Hier meine Ergebnisse:

  • Apache, der klassische Webserver. Lange Konfigurationsdateien. Hoher Speicherverbrauch durch viele Prozesse. Zum Apache Webserver findet man sehr viele Anleitungen im Internet.
  • nginx, ein neuer Webserver. Ngix wird auf einigen großen Seiten eingesetzt. Konfiguration etwas aufwendiger.
  • lighttpd, ein leichtgewichtiger Webserver. Einfach zu Konfigurieren und für kleine Seiten geeignet.

Daher habe ich mich dazu entschieden lighthttpd als Webserver für den Raspberry Pi zu testen.

lighttpd

Die installation ist mit sudo apt-get install lighttpd schnell erledigt. Jedoch unterstützt der Webserver per Default kein php. PHP muss in der Konfigurations-Datei eingerichtet werden. Der Pfad der Konfigurations-Datei ist: /etc/lighttpd/lighttpd.conf. So sieht die Datei mit aktivierten PHP-Support aus:

View the code on Gist.


Das war die Einrichtung von lighttpd, nun kann der Webserver genutzt werden.

Weiterführende Links:

Exit-Code eines Programm in der Shell ermitteln

Das Linux Shell-Script ist eine großartige Sache, leider ist es für mich etwas fremd, da ich aus der Java-Ecke komme. Somit habe ich noch viel zum Shell-Script zu lernen. Meine neuste Erkenntnis ist, wie ich den Exit-Code eines Programms heraus finde. Der Exit-Code einer Anwendung gibt an, ob diese ohne Fehler beendet wurde. Null bedeutet dabei, es sind keine Fehler aufgetreten. Alle Werte größer Null deuten auf ein oder mehrere Fehler hin. Das folgende Listing zeigt wie man sich den Exit-Code in der Konsole anzeigen lässt:

View the code on Gist.

[Linux]Paketquellen

Eine sehr schön Sache an Linux ist das Software installieren. Einfach apt-get install xy eingeben und schon wird das entsprechende Programm installiert. Leider wird manchmal eine veraltete Version des Programms installiert. Da stellte sich mir die Frage, wie kommt die Software in das OnlineRepository und wer aktualisiert es. Auch vom Standpunkt des Sicherheitsmanagement ist die Frage sehr interessant. Schließlich könnte über den Kanal wunderbar kompromittierte Software übertragen werden.

Ubuntu setzt bei Paketen auf das DebianRepository. Um ein Paket ins DebianRepository einzustellen muss man ein ein Ticket mit dem Status wishlist erstellen (Dies kann per Mail oder mit dem Tool reportbug geschehen). Das Paket selbst wird auf einen FTP-Server hochgeladen (ftp.upload.debian.org/pub/UploadQueue/ ). Erstaunlicherweise benötigt man für diesen FTP-Server keine Zugangsdaten, sondern man kann das Paket als anonymous hochladen. Danach muss sich eine berechtige Person dem Paket annehmen.

Der gesamt Vorgang wirkt auf mich recht komplex. Es gibt leider kein schönes Webinterface über das man alles machen kann. Dies mag auch dran liegen das Linux aus der Zeit vor dem WWW kommt und der Prozess immer noch weitgehend der selbe zu sein scheint. Darüber hinaus muss man auch erstmal ein Package erstellen, das ist nochmal eine Menge Aufwand. Das erstellen von Package Dateien (*.deb) ist mit dem Tool dpkg möglich. Aber mit dem Tool muss ich mich noch einmal genauer auseinander setzen.

Dies ist wahrscheinlich auch der Grund warum einige Paket nur sehr selten aktualisiert werden.

Links: