LAMP-Server

Icons von Linux, Apache, MySQL und PHP

Die Abkürzung LAMP steht für Linux, den Webserver Apache, die Datenbank MySQL (oder MariaDB) und die Skiptsprache PHP (oder auch Python, Perl).

Im Unterschied zu Debian setzt Ubuntu weiterhin auf Oracles Open-Source-Edition des MySQL-Servers, anstatt den Fork MariaDB zu nutzen.

Dank der Magie des Debian-/Ubuntu-Paketmanagers Apt reicht eine kurze Befehlszeile, um einen kompletten Webserver-Stack mit PHP als Apache-Modul und Anbindung an den Datenbank-Server schnell einzurichten. Apt wird die zusätzlich benötigten Pakete (wie das Basispaket php-common und einige übliche Erweiterungen) automatisch mit installieren und nach einem Root-Passwort für MySQL fragen. Danach ist ein lokaler Webserver unter http://localhost per Web-Browser ansurfbar.

Allerdings spricht einiges für die performantere Lösung, statt des PHP-Moduls lieber PHP-FPM zu installieren und damit den Webserver zu entlasten. In diesem Fall reicht eine Befehlszeile nicht ganz; es müssen auch noch das Proxy-Modul und die Konfigurationsdatei für PHP-FPM „scharf“ geschaltet werden.

Installation

Dies installiert einen LAMP-Stack mit PHP als Apache-Modul:

sudo apt install php-mysql libapache2-mod-php mysql-server

Die effektivere Variante mit PHP-FPM:

sudo apt install php-fpm php-mysql apache2 mysql-server
sudo a2enmod proxy_fcgi
sudo a2enconf php-fpm
systemctl reload apache2

MariaDB statt MySql installieren

Debian installiert selbst dann MariaDB, wenn der Admin apt install mysql-server in die Konsole tippt. Möchte man hingegen  in Ubuntu lieber MariaDB als MySQL installieren, greift man zum Paket mariadb-server statt mysql-server. Der oben genannte Einzeiler lautet dann also:

sudo apt install php-fpm php-mysql apache2 mysql-server

Eine neuere oder ältere PHP-Version installieren

Möchte man eine andere PHP-Version als jene installieren, die von den Maintainern der Distribution vogesehen ist, kann man beruhigt auf die Repositories des Entwicklers Ondrej Sury zurückgreifen. Für Ubuntu hält Sury ein PPA vor, das sich wie folgt einbinden lässt:

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Nach erfolgreicher Installation des PPAs kann man weitere PHP-Versionen installieren, indem man die Versionsnummer zum Paketnamen nach folgendem Muster hinzufügt: phpX.X-extension. Im folgenden Beispiel sollen die standardmäßig installierten Versionen von  PHP-FPM und PHP-MySQL mit jenen von PHP 8.2 ersetzt werden:

sudo apt install php8.2-fpm php8.2-mysql
sudo a2disconf php-fpm
sudo a2enconf php8.2-fpm
systemctl reload apache2
systemctl stop php-fpm && systemctl disable php-fpm

Zunächst wird die PHP 8.2 mit FPM sowie das zu dieser PHP-Version gehörige MySQL-Erweiterung installiert; sodann wird die Apache-Konfiguration für das standardmäßig installierte PHP-FPM deaktiviert und dann die neue Konfiguration für PHP 8.2 aktiviert. Schließlich wird Apache neu geladen, um die neue Konfiguration wirksam zu machen. Es kann nötig sein, alte PHP-FPM-Prozesse zu stoppen; den alten PHP-FPM-Service sollte man deaktivieren, um einen Neustart im Falle eines Reboots zu vermeiden.