Lighttpd met PHP-FPM 7 en MySQL 5.7 installeren op Ubuntu 18.04 LTS

Lighttpd (spreek uit als lighty) is een open-source webserver die geoptimaliseerd is voor hoge prestaties. Het is een veilige, snelle, standaard-compliant, en zeer flexibele webserver, ontworpen voor een hoog-performante omgeving. Hij had een zeer lage geheugen-voetafdruk (vergeleken met andere webservers) en een effectief beheer van de CPU-belasting.

De Lighttpd webserver is een van de perfecte oplossingen voor elke server die last heeft van belastingsproblemen. Hij komt met geavanceerde functies zoals FastCGI, CGI, Auth, Output-Compressie, URL Rewriting, en nog veel meer.

In deze handleiding laten we je zien hoe je Lighttpd met PHP-FPM 7.2 en MySQL Server 5.7 installeert op de nieuwste Ubuntu 18.04. Ook tonen we je de installatie en configuratie van phpMyAdmin met Lighttpd webserver.

Voorwaarde

Voor deze gids installeren we de Lighttpd Stack op de Ubuntu 18.04 Server met 2GB RAM, 25GB vrije schijfruimte, en 2CPUs. Ook moet je de root rechten hebben om het systeem te kunnen wijzigen.

Voer het onderstaande sudo commando uit om de root privileges te krijgen.

sudo -s

Wat zullen we doen?

  • Installeer MySQL Server 5.7
  • Installeer Lighttpd Webserver
  • Installeer PHP-FPM 7.2
  • Installeer PHP-FPM met Lighttpd
  • Voeg MySQL ondersteuning toe aan PHP-FPM
  • Installeer phpMyAdmin

Stap 1 – Installeer MySQL Server 5.7

Eerst installeren we de MySQL Server op het Ubuntu systeem. Hij is standaard beschikbaar in de Ubuntu repository, je kunt de MySQL pakketten installeren met het apt commando hieronder.

apt install mysql-server mysql-client -y

Als de installatie voltooid is, start je de MySQL dienst en voeg je hem toe aan het systeem opstarten.

systemctl start mysql
systemctl enable mysql

De MySQL dienst is in werking.

Vervolgens stellen we het wachtwoord in voor de root gebruiker op MySQL. Voer het onderstaande ‘mysql_secure_installation’ commando uit.

mysql_secure_installation

Nu worden je enkele vragen gesteld over de MySQL installaties.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of the password
and allows the users to set only those passwords which are
secure enough. Would you like to set up a VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: --> Press Enter Here
New password: --> Type Your Password
Re-enter new password: --> Repeat Your Password
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Als resultaat is het MySQL root wachtwoord ingesteld.

Stap 2 – Installeer Lighttpd Webserver

In deze stap installeren we de Lighttpd uit de officiële Ubuntu repository.

Installeer de Lighttpd server met het onderstaande apt commando.

apt install lighttpd -y

Zodra de installatie voltooid is, controleer je de status van de Lighttpd dienst met het onderstaande commando.

systemctl is-enabled lighttpd
systemctl status lighttpd

De Lighttpd dienst is ingeschakeld, hij wordt tijdens de installatie automatisch toegevoegd aan het opstarten van het systeem.

Open nu je web browser en typ het IP adres van de server in de adresbalk.

http://45.76.186.133/

En je krijgt de standaard index.html pagina van Lighttpd webserver.

Zoals te zien is, heb je wat informatie gekregen met betrekking tot de Lighttpd installatie.

  • De document root staat op de ‘/var/www/html’ directory.
  • De Lighttpd configuratie staat in ‘etc/lighttpd/lighttpd.conf’.
  • Alle beschikbare module voor Lighttpd staan in de ‘/etc/lighttpd/conf-available’ directory.
  • En alle enabeld module staan in de ‘/etc/lighttpd/conf-enabled’ directory.

Stap 3 – Installeer PHP-FPM 7.2

In deze stap installeren we de PHP-FPM 7.2 op het Ubuntu systeem. Het zal gebruikt worden als backend verwerkingstaal met Lighttpd.

Installeer PHP-FPM 7.2 met het onderstaande apt commando.

apt install php-fpm

Bewerk, als de installatie voltooid is, de ‘php.ini’ configuratie voor PHP-FPM met de vim editor.

vim /etc/php/7.2/fpm/php.ini

Haal het commentaar weg bij de optie ‘cgi.fix_pathinfo’ en verander de waarde in ‘0’.

cgi.fix_pathinfo=0

Sla op en sluit.

Start vervolgens de PHP-FPM dienst opnieuw en voeg hem toe aan het systeem opstarten.

systemctl restart php7.2-fpm
systemctl enable php7.2-fpm

De PHP-FPM is up and running op het Ubuntu systeem, controleer het met het volgende commando.

netstat -pl | grep php
systemctl status php7.2-fpm

Het resultaat is dat de PHP-FPM draait onder het systeemsok bestand ‘/run/php/php7.2-fpm.sock’.

Stap 4 – Lighttpd met PHP-FPM instellen

Nadat we de PHP-FPM pakketten geïnstalleerd hebben, gaan we de PHP-FPM configureren met de Lighttpd webserver. We zullen de PHP-FastCGI module voor de Lighttpd webserver inschakelen en de standaard configuratie voor de PHP-FPM backend bewerken.

Ga naar de Lightttpd configuratie directory ‘/etc/lighttpd/conf-available/’.

cd /etc/lighttpd/conf-available/

Kopieer de standaard FastCGI configuratie als back-up en bewerk het echte bestand met vim editor.

cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
vim 15-fastcgi-php.conf

Verander nu de configuratie als hieronder.

# -*- 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" => "/run/php/php7.2-fpm.sock",
        "broken-scriptfilename" => "enable"
    ))
)

Bewaar en sluit.

Schakel nu de FastCGI en FastCGI-PHP modules voor Lighttpd in met het volgende commando

lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

Het ‘lighttpd-enable-mod’ commando zal een symlink maken van de configuratiebestanden naar de ‘/etc/lighttpd/conf-enabled/’ directory. Controleer het met het onderstaande commando.

ls -lah /etc/lighttpd/conf-enabled/

En de FastCGI en FastCGI-PHP module voor Lighttpd zijn ingeschakeld, herstart nu de Lighttpd dienst om de nieuwe configuratie toe te passen.

systemctl force-reload lighttpd

Daarmee is de configuratie van Lighttpd met PHP-FPM voltooid.

Stap 5 – MySQL ondersteuning toevoegen in PHP-FPM

In deze stap installeren we extra PHP pakketten op het Ubuntu systeem. We zullen de MySQL ondersteuning aan de PHP-FPM toevoegen.

Installeer aanvullende PHP pakketten met het onderstaande apt commando.

apt install php-apcu php-mysql php-curl php-gd php-intl php-pear php-imagick php-imap php-memcache php-pspell php-recode php-sqlite3 php-tidy php-xmlrpc php-xml php-mbstring php-gettext -y

Herstart daarna de diensten PHP-FPM en Lighttpd met het onderstaande systemctl commando.

systemctl restart php7.2-fpm
systemctl restart lighttpd

Het resultaat is dat het Extra PHP pakket geïnstalleerd is, en dat de MySQL ondersteuning voor PHP toegevoegd is.

Stap 6 – Testen met phpinfo

Maak nu een nieuw PHP bestand aan op de document root directory ‘/var/www/html/info.php’ met behulp van vim editor.

vim /var/www/html/info.php

Plak er het onderstaande phpinfo script in.

<?php
phpinfo();
?>

Bewaar en sluit.

Open vervolgens je webbrowser en typ het IP adres van de server, gevolgd door het ‘info.php’ bestand zoals hieronder.

http://10.5.5.45/info.php

Nu krijg je informatie over je PHP installatie.

Scroll naar beneden en je krijgt de sectie MySQL en MySQLnd ondersteuning zoals hieronder.

De installatie van Lighttpd met PHP-FPM en MySQL Server is met succes voltooid.

Stap 7 – Installeer phpMyAdmin met lighttpd

In deze stap installeren we de phpMyAdmin naast de Lighttpd webserver.

De phpMyAdmin pakketten zijn standaard beschikbaar in de Ubuntu repository, installeer ze met het apt commando hieronder.

apt install phpmyadmin

Tijdens de phpMyAdmin installatie wordt je om enkele instellingen gevraagd.

Kies voor de webserver configuratie de‘lighttpd‘ en kies‘OK‘.

Configureer nu de phpMyAdmin met de dbconfig-common, kies‘YES‘.

Typ het wachtwoord voor de MySQL gebruiker ‘phpmyadmin’ en kies weer‘OK‘.

Herhaal het wachtwoord en kies‘OK‘ om te voltooien.

Als de installatie voltooid is, krijg je een foutmelding als hieronder.

Om de phpMyAdmin installatiefout op te lossen, voer je het onderstaande commando uit.

systemctl force-reload lighttpd
apt install phpmyadmin -y

De phpMyAdmin zal zonder fout opnieuw geïnstalleerd worden.

Verleen vervolgens alle rechten van de MySQL databases aan de ‘phpmyadmin’ gebruiker.

Log in op de MySQL shell met de root gebruiker zoals hieronder.

mysql -u root -p

Verleen de ‘phpmyadmin’ gebruiker alle toegang tot het MySQL systeem met de volgende query.

grant all privileges on *.* to 'phpmyadmin'@'localhost' with grant option;
flush privileges;

Typ nu ‘exit’ om uit te loggen uit de MySQL shell.

Open vervolgens je web browser en typ het IP adres van de server gevolgd door het ‘/phpmyadmin’ pad zoals hieronder.

http://10.5.5.35/phpmyadmin/

Je krijgt de phpMyAdmin inlogpagina zoals hieronder.

Typ de ‘phpmyadmin’ gebruiker en je wachtwoord, en klik dan op de‘Go‘ knop om in te loggen.

Nu krijg je het phpMyAdmin dashboard zoals hieronder.

Het resultaat is dat de phpMyAdmin installatie en configuratie met Lighttpd webserver, PHP-FPM, en MySQL server op Ubuntu 18.04 met succes is voltooid.