Wil je een Raspberry Pi voorzien van een webserver met PHP ondersteuning dan kun je gebruik maken van Lighttpd. Dit is een webserver die in tegenstelling tot Apache en Nginx niet veel resources van de Raspberry Pi zal gebruiken en voor de meeste doeleinden prima geschikt is.
In dit stappenplan installeren we Lighttpd, de bijbehorende PHP modules en zetten we de juiste bevoegheden. Hierna kan de Raspberry Pi als webserver gebruikt worden.
Lighttpd installeren
Lighttpd kan met behulp van apt-get
worden geinstalleerd, log met SSH in op de Raspberry Pi en voer de installatie uit:
sudo apt-get -y install lighttpd
De PHP modules installeren
Nadat Lighttpd is geïnstalleerd gaan we de PHP modules toevoegen aan de configuratie. De installatie volgorde van deze modules (php5-common, php5-cgi, php5) is hierbij belangrijk.
sudo apt-get -y install php5-common php5-cgi php5
Hierna activeren we de Fastcgi module in Lighttpd, deze zorgt voor de verwerking van PHP binnen de webserver.
sudo lighty-enable-mod fastcgi-php
Nadat de PHP modules zijn geïnstalleerd en toegevoegd aan Lighttpd moeten we de Lighttpd service herstarten:
sudo service lighttpd force-reload
De juiste bevoegheden
Als laatste stap passen we de bevoegdheden aan zodat de ‘pi’ gebruiker kan schrijven in de map /var/www
, deze map wordt door de webserver wordt gebruikt. Na de installatie is ‘root’ de eigenaar van deze map, dit gaan we aanpassen naar de ‘www-data’ gebruiker en groep, daarna voegen we de ‘pi’ gebruiker toe aan de ‘www-data’ groep.
sudo chown -R www-data:www-data /var/www
Geef de ‘www-data’ groep rechten om te schrijven in de map:
sudo chmod 775 /var/www
Voeg de ‘pi’ gebruiker toe aan de groep ‘www-data’:
sudo usermod -a -G www-data pi
De bevoegdheden zijn nu aangepast.
Werking testen
De installatie van lighttpd is nu voltooid, open een webbrowser en type het ip adres van de Raspberry Pi in de adresbalk. Weet je niet welk IP adres je Rasberry Pi heeft dan kun je deze achterhalen met het commando:
sudo ip addr show
Vul het IP adres in de adresbalk. Als alles goed is verlopen dan verschijnt de ‘placeholder’ pagina van Lighttpd (/var/www/html/index.lighttpd.html).
Je kunt nu je eigen HTML en/of PHP bestanden plaatsen in de map /var/www
en zichtbaar maken via een webbrowser. Vergeet niet de placeholder pagina te verwijderen anders worden index.html en index.php niet geladen.
Super duidelijk en correct, bedankt!
PHP5 wordt spoedig niet meer onderhouden. Het is aan te raden om op PHP7 over te gaan.
Op dit moment van schrijven (18-08-2018) kun je deze regel:
“sudo apt-get -y install php5-common php5-cgi php5”
vervangen door:
“sudo apt-get -y install php7.0-common php7.0-cgi php7.0”
Dit werkt bij mij correct.
Qua rechten moest ik nog een extra handeling uitvoeren om als pi een bestand te kunnen schrijven in /var/www/html. Ik heb daar voor de uitleg op https://raspberrypi.stackexchange.com/a/1186 gevolgd en dit toegepast op zowel /var/www als /var/www/html. Ook is het noodzakelijk na de installatie en de rechtenwijzigingen je Raspberry Pi opnieuw op te starten om alle wijzigingen correct van toepassing te laten zijn.