U bent hier  » Ikke » Raspberry pi » Webserver lighttpd (Willem)

Webserver lighttpd (Willem)

Origineel artikel staat hier
pi@raspberrypi ~ $ sudo raspi-config

raspi-config
    Expand root partition to fill SD card
    Change password for 'pi' user
    Set locale (zet default op: en_GB.UTF-8)
    Set timezone
    Try to upgrade

pi@raspberrypi~ $ sudo sync; sudo reboot

Nadat de initiele configuratie is afgerond en, dus, het IP adres van de raspberry pi bekend is, vind ik het prettiger om de rapsberry  verder als headless device te benaderen.

voorbeeld Putty

pi@raspberrypi~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade
pi@raspberrypi ~ $ sudo sync; sudo reboot

Eerst installeer je de mysql-server:

pi@raspberrypi ~ $ sudo apt-get install mysql-server

Er wordt twee maal om een password voor de mysql 'root' user gevraagd. Vergeet dit password niet!

De backslash moet je natuurlijk niet overtikken ;-)) :

pi@raspberrypi ~ $ sudo apt-get install php5-cli php5-cgi  \
php5-common php5-mysql php5-curl  php5-mcrypt \
php5-memcache

lighttpd

pi@raspberrypi ~ $ sudo apt-get install lighttpd

Om te controleren of de installatie gelukt is moet je op een PC binnen je lokale netwerk je favoriete browser opstarten en de volgende URL intoetsen:

Als je nu een pagina te zien krijgt, dan is de installatie gelukt!

lighttpd

De meeste toepassingen waar de webserver voor gebruikt gaat worden zullen gebruik willen maken van php. We hebben in een vorige stap php al geinstalleerd, maar lighttpd kan hier nog geen gebruik van maken. Daarvoor moeten eerst de modules 10-fastcgi.conf en 15-fastcgi-php.conf ge-'enabled' worden. Hiervoor bestaat het commando lighty-enable-mod, maar ik krijg daarmee alleen foutmeldingen. Daarom maar op de ouderwetse manier doen door een symbolic link aan te maken.
Let op: de commando's moeten achter elkaar op een regel worden ingevoerd (zonder de "\")

pi@raspberrypi ~ $ cd /etc/lighttpd/conf-enabled
pi@raspberrypi /conf-enabled $ sudo \
ln -s ../conf-available/10-fastcgi.conf  10-fastcgi.conf
pi@raspberrypi /conf-enabled $ sudo \
ln -s ../conf-available/15-fastcgi-php.conf  \
15-fastcgi-php.conf
pi@raspberrypi /conf-enabled $ cd

Vervolgens de webserver opnieuw de configuratie laten inlezen ..

pi@raspberrypi ~ $ sudo /etc/init.d/lighttpd force-reload

[OK] Reloading webserver configuration: lighttpd.
Om te controleren of lighttpd nu php programma's kan verwerken maak je in de webserver root directory een klein programma aan. Als je de bron-code hebt ingetikt sluit je nano of door +X, Y, in te toetsen).

pi@raspberrypi ~ $ cd /var/www
pi@raspberrypi /www $ sudo nano -c phpinfo.php

PHP schrijft meldingen over programma zaken in het error.log van lighttpd. Dit is een belangrijk hulpmiddel om problemen en/of fouten in de programma code te ontdekken. Op een 'productie' systeem, en zeker een als de RPi met een SDHC geheugen, wil je dit tot een minimum beperken.

Gelukkig kun je dit instellen in het bestand php.ini.

pi@raspberrypi ~ $ cd /etc/php5/cgi
pi@raspberrypi ../cgi $ sudo nano -c php.ini

Ongeveer op regel 463 staat:

error_reporting = E_ALL & ~E_DEPRECIATED & ~E_STRICT
Verander deze regel in ("& ~E_NOTICE toevoegen):|
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECIATED & ~E_STRICT
en sla de wijzigingen op.

Om de nieuwe instelling te gebruiker moet lighttpd opnieuw opgestart worden:

pi@raspberrypi ../cgi $ cd
pi@raspberrypi ~ $ sudo /etc/init.d/lighttpd restart

Nu nog wat extra pakketten installeren die het gebruik en beheer van de raspberry pi vereenvoudigen.

pi@raspberrypi~ $ sudo updatedb

Het is handig om het updatedb commando 1x per dag door cron uit te laten voeren. Je moet dan wel cron voor de root user aanpassen. Dit lukt niet met sudo crontab -e. Daarom eerst een shell voor root starten (de prompt voor root is #).

pi@raspberrypi~ $ sudo sh
# crontab -e
# exit
pi@raspberrypi~ $

Voeg, aan het einde van het bestand, de volgende regel toe:

2 3 * * *       /usr/bin/updatedb

Nu zal updatedb iedere dag om 03:02 uur de locate-database opnieuw opbouwen.
Met het locate commando kun je nu eenvoudig ieder file op je raspberry pi snel terug vinden!
De raspberry pi leent zich ook uitstekend als lokale server voor het door- of ver-zenden van eMail over het internet. Ik heb een aparte post geschreven over de installatie en configuratie van postfix.
Het is niet nodig, maar ik vind het prettig om nu het systeem netjes af te sluiten en een backup van de SDHC-card te maken. Het commando shutdown -h now stopt het systeem (-h van 'halt'). Met shutdown -r now wordt het systeem afgesloten en weer opgestart (-r van 'reboot' dit heeft hetzelfde effect als reboot).