Raspberry Pi als Webserver mit lighttpd

lighttpd auf dem Raspberry Pi installieren

Der Raspberry Pi eignet sich mit dem richtigen Setup hervorragend als Server für kleine Webanwendungen, da er viel Leistung für kleines Geld bietet und dazu noch einen niedrigen Energieverbrauch hat. Wie dafür lighttpd auf einem Raspberry Pi installiert wird, welche Erweiterungen benötigt werden und wo Optimierungen vorgenommen werden können zeigen wir in der folgenden Anleitung.

lighttpd installieren

Vor der Installation sollte man wie üblich die Paketdatenbank aktualisieren und ein Upgrade vornehmen:

sudo apt-get update
sudo apt-get upgrade

Danach kann mit der Installation des lighttpd-Servers begonnen werden:

sudo apt-get install lighttpd

Sobald die Installation abgeschlossen ist, sollte der HTTP-Daemon automatisch gestartet werden. Ob dies funktioniert hat, kann man mit folgenden Befehl kontrolliert werden:

sudo service lighttpd status

Bekommt man jetzt „Started Lighttpd Daemon“ angezeigt, läuft der Server.

Nun kann ein beliebiger Webbrowser geöffnet und die IP-Adresse bzw. der Hostnamen des Raspberry Pi aufgerufen werden, um die Standard-Platzhalter-Seite des Lighttpd-Servers angezeigt zu bekommen.

http://{Raspberry_Pi_IP-Adresse}/

Berechtigungen setzen

Bevor Dateien ins Webserver-Verzeichnis unter „/var/www“ bzw. „/var/www/html“ abgelegt werden, sollten die Berechtigungen gesetzt werden, da sonst neue Dateien im Webserver-Verzeichnis mit dem „root“-Benutzer  angelegt werden.

Dazu wird nun die Benutzergruppe „www-data“ angelegt und der Benutzer „pi“ dieser Gruppe zugeordnet, sowie das Webserver-Verzeichnis „/var/www/html“ als Eigentümer übergeben. Dadurch werden neue Dateien automatisch der Gruppe „www-data“ zugeordnet.

sudo groupadd www-data
sudo usermod -G www-data -a pi
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 775 /var/www/html

Um die Änderungen zu übernehmen, wird lighttpd neugestartet:

sudo service lighttpd force-reload

PHP5-Unterstützung

Der Webserver würde zwar bereits für HTML-Dateien funktionieren. Möchte man jedoch PHP ausführen, müssen noch die benötigten Software-Module für PHP installiert werden:

sudo apt-get install php5-common php5-cgi php5

Ist die Installation von PHP5 erfolgreich beendet muss noch das FastCGI-Modul für PHP aktiviert und  die lighttpd-Konfiguration neu geladen werden:

sudo lighty-enable-mod fastcgi
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd force-reload

Nun kann die PHP-Unterstützung getestet werden, in dem man im Webserver-Hauptverzeichnis „/var/www/html“ eine kleine PHP-Testdatei erstellt:

sudo nano /var/www/html/phpinfo.php

Folgende Zeilen werden in diese Datei eingetragen:

<?php 
     phpinfo(); 
?>

Danach kann wieder mit einem beliebigen Webbrowser die zuvor erstellte PHP-Testdatei aufgerufen werden:

http://{Raspberry_Pi_IP-Adresse}/phpinfo.php

Im Browser sollten nun die detaillierten Informationen über die aktuell installierte PHP-Version angezeigt werden.

Alternative PHP-Cache Erweiterung

Die APC Erweiterung für PHP beschleunigt den PHP-Code, indem bereits interpretierte Versionen der Scripte zwischengespeichert und optimiert werden. Sobald diese erneut aufgerufen werden, kommt der interpretierte Code aus dem Cache und nicht mehr vom Interpreter. Dadurch kann der Raspberry Pi zusammen mit lighttpd und PHP in einer akzeptablen Arbeitsgeschwindigkeit arbeiten. PHP Versionen über 5.5 verwenden OPcache und machen APC überflüssig.

Um den PHP-Cache APC nachzuinstallieren wird folgender Befehl ausgeführt:

sudo apt-get install php-apc

Einige Einstellungen müssen am APC Cache vorgenommen werden. Dazu wird die APC-Konfigurationsdatei geöffnet:

sudo nano /etc/php5/conf.d/20-apc.ini

Folgende Änderungen müssen vorgenommen werden:

extension=apc.so
apc.enabled=1
apc.file_update_protection=2
apc.optimization=0
apc.shm_size=64M
apc.include_once_override=0
apc.shm_segments=1
apc.gc_ttl=7200
apc.ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0

Um die Änderungen zu übernehmen, werden die Einstellungen des Webservers neu geladen:

sudo service lighttpd force-reload
Tagged with:     , , ,

About the author /


Einst gelernter Werkzeugbautechniker, habe ich vor etlichen Jahren mein Leben der Informatik verschrieben. Zur Zeit studiere ich noch Informatik auf der Fachhochschule Technikum Wien und beschäftige mich am liebsten mit Java, Android und Elektronik.

Related Articles

Post your comments

Your email address will not be published. Required fields are marked *

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden .

Unterstütz uns!

Folgt uns!

Diese Seite

wurde erstellt mit Ehrgeiz, Liebe und viel Koffein. Bei der Erstellung kamen keine jar-Dateien zu Schaden. Das Logo wurde erstellt von Star-seven.at.