Lighttpd jest szybką jak i wydajną zwłaszcza pod względem pamięci alternatywą dla Apache’a (wiem wiem jest jeszcze NGINX), która ma stosunkowo niewielki apetyt na pamięć jak i małe zapotrzebowanie na procesor. Co akurat w docelowym zastosowaniu wersji Zero W było bardzo pożądane. Tak w ramach ciekawostki dodam, że jednym z największych użytkowników Lighttpd jest Fundacja Wikimedia innymi słowem Wikipedia.
Dodamy oczywiście do Lighttpd obsługę PHP-FPM 7.0 ponieważ domyślnie w Raspberianie nie jest to obsługiwane.
Co nam będzie potrzebne:
– Raspberry Pi w moim przypadku wersja Zero W
– karta μSD np. 32GB
– Raspbian Stretch
Konfigurowanie Lighttpd
Zanim przejdziemy do instalacji Lighttpsd, zaktualizujmy system, co by potem nie było problemów.
sudo apt-get update && sudo apt-get upgrade -y
Jeżeli miałeś wcześniej zainstalowanego Apache przydało by się go odinstalować w tym celu wykonujemy poniższe polecenie.
sudo apt-get remove apache2 -y
Dobra lecimy z samym serwerem Lighttpd, na szczęście jest on dostępny w repozytorium.
sudo apt-get install lighttpd -y
Jeżeli wszystko poszło prawidłowo po wpisaniu IP w przeglądarce powinno się ukazać poniższe okno.
Czemu PHP 7 decyzja jest prosta w stosunku do poprzednika czyli PHP 5 jest to, że jak by nie patrzeć jest nowocześniejsze jak i zapewnia większą wydajności i posiada mniejszy apetyt na pamięć. Aby zainstalować PHP 7 posłużymy się komendą:
sudo apt-get install php7.0-fpm
Gdy już mamy zainstalowane PHP-FPM , będziemy musieli wykonać kilka czynność, aby zacząć korzystać z PHP. W pierwszej kolejności musimy uruchomić dwa poniższe polecenia. Wszystko po to, aby powiązania symboliczne, dzięki czemu Lighttpd będzie prawidłowo odczytywać pliki PHP.
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php
Teraz, zanim będziemy mogli ponownie uruchomić Lighttpd, będziemy musieli wprowadzić zmiany w jego konfiguracji. Wszystko dlatego, że domyślnie korzysta z PHP-CGI, a nie PHP-FPM, na szczęście jest to bardzo łatwe do zmiany. W tym celu edytujemy plik:
sudo nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
Wywalamy jego całą zawartość i w to miejsce wprowadźmy poniższy zapis.
# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php/php7.0-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
Na koniec resetujemy nasz serwer Lighttpd
sudo service lighttpd force-reload
Przydało by się jeszcze sprawdzić czy PHP działa prawidłowo, najłatwiej to zrobić przy pomocy phpinfo.
sudo nano /var/www/html/info.php
wpisujemy tam
<?php phpinfo() ?>
zapisujemy i wchodzimy na http://ip_serwera/info.php jeżeli wszystko działa prawidłowo zobaczysz