Raspberry Pi – Software – Lighttpd webserver

Lighttpd webserver

Waarom Lighttpd en niet Apache?

Lighttpd is een asynchronous server. het gebruikt maar liefst 1 proces met een enkele sturing en blokkeert de I/O niet.
Apache is een proces-gebaseerde server, dat wil zeggen dat er voor elke nieuwe sturing een nieuw proces wordt aangemaakt en zo enorm veel capaciteit en geheugen opslokt.
Daarom is het beter om op de Raspberry Pi een lichte HTTP server te gebruiken zoals Lighttpd.
Installeer lighttpd met het commando: sudo apt-get install lighttpd

Lighttpd wordt nu automatisch gestart, als je nu naar het IP adres van de Raspberry Pi gaat, dan zie je de “placeholder” als staan, dit betekend dat je webserver als actief is en draait:

raspberry lighttpd webserver placeholder

De “document folder” oftewel de folder waarin website zich in bevind is: /var/www/html (oude installaties: /var/www/),om nu bestanden via FTP weg te schrijven in /var/www, moet je eerst de toegang goed zetten (behalve als je ingelogd bent met root), doe je met het commando: sudo chmod -R 777 /var/www (-R staat voor onderliggende folders)

Je kan ook eigenaarschap overnemen van de folder /var/www met het commando: sudo chown -R pi /var/www (waar Pi is de gebruikersnaam)

Gebruik van SUDO commando’s vanuit de webserver/PHP

De webserver “gebruiker” is “www-data” en kan standaard geen SUDO commando’s uitvoeren, dit kan bijvooorbeeld nodig zijn om een python script uit te voeren welke GPIO pinnen aanstuurt.

Daarvoor moet de gebruiker www-data toegevoegd worden aan de “sudo’ers lijst” in het bestand /etc/sudoers, voeg de volgende regel toe:

www-data ALL=(ALL) NOPASSWD: ALL

Via een script:

sudo bash -c "echo 'www-data ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"