In diesem Beitrag wird erklärt, wie man einen vollständigen LAMP-Stack unter Ubuntu 24.04 einrichtet.
System auf den neusten Stand bringen
Bevor wir loslegen, bringen wir das System auf den neuesten Stand. Das stellt sicher, dass wir mit aktuellen Paketversionen arbeiten und Sicherheitslücken schließen.
sudo apt update -y && sudo apt upgrade -y
Wer es schnell haben will (Ohne Einrichtung)
Wer keine Einzelkonfiguration benötigt, kann den gesamten LAMP-Stack mit einem einzigen Befehl installieren. Das spart Zeit, nimmt uns aber auch etwas Kontrolle ab:
sudo apt install lamp-server^
Im Folgenden gehen wir den Weg mit einzelnen Komponenten.
1. Apache2 installieren
Zuerst benötigen wir den Apache2 Webserver, um später z.B. TYPO3 dort zu installieren:
sudo apt install apache2
2. Firewall konfigurieren (UFW)
Falls die UFW-Firewall aktiv ist, müssen wir Apache und SSH freigeben, damit der Webserver erreichbar bleibt und wir uns weiterhin per SSH verbinden können.
sudo ufw app list -> Listet die möglichen App Richtlinien
sudo ufw allow in "Apache" -> Erlaubt den Traffic für Apache
sudo ufw allow in "OpenSSH" -> Erlaubt den Traffic für SSH
sudo ufw enable -> Aktiviert die Firewall
sudo ufw status -> Prüfen ob die Firewall läuft
3. MySQL-Datenbank installieren und konfigurieren
Nun installieren wir den MySQL-Datenbankserver. TYPO3 benötigt später eine Datenbank zum Speichern von Inhalten und Konfiguration.
sudo apt install mysql-server
Anschließend loggen wir uns mit dem Root-Benutzer ein:
sudo mysql -u root -p
Sicherstellen, dass die Authentifizierung mit Passwort funktioniert:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
EXIT;
Nun sichern wir die Installation mit folg. Befehl ab:
sudo mysql_secure_installation
4. PHP und Abhängigkeiten installieren
Als Nächstes installieren wir PHP und die wichtigsten Module, die TYPO3 benötigt. Zuerst die Basisinstallation:
sudo apt install php libapache2-mod-php php-mysql
Optional können wir auch die empfohlenen PHP-Module für TYPO3 jetzt installieren:
sudo apt install php php-cli php-common php-mysql php-xml php-mbstring php-intl php-curl php-zip php-gd php-bcmath php-opcache php-imagick libapache2-mod-php
Auch Optional: Wer möchte, kann auch spezifische PHP-Versionen installieren. Das geht so:
sudo apt install php8.2 php8.2-cli
5. Virtuellen Host für Domain einrichten
Wir legen ein neues Projektverzeichnis für unsere TYPO3-Instanz an. In diesem Beispiel heißt die Domain ubuntu24.local:
sudo mkdir /var/www/ubuntu24.local
Damit sowohl unser Benutzer als auch Apache (www-data) Zugriff haben, setzen wir gemeinsame Gruppenrechte:
sudo usermod -aG www-data $USER
sudo chown -R $USER:www-data /var/www/ubuntu24.local
sudo find /var/www/ubuntu24.local -type d -exec chmod 2775 {} \;
sudo find /var/www/ubuntu24.local -type f -exec chmod 664 {} \;
Dann erstellen wir den passenden Apache-Virtual Host. Dazu öffnen wir eine neue Konfigurationsdatei:
sudo nano /etc/apache2/sites-available/ubuntu24.local.conf
Mit folgendem Inhalt:
<VirtualHost *:80>
ServerName ubuntu24.local
ServerAlias www.ubuntu24.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/ubuntu24.local
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/ubuntu24.local>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Anschließend aktivieren wir den VHost und optional das Apache-Modul rewrite
, das TYPO3 für saubere URLs benötigt:
sudo a2ensite ubuntu24.local
sudo a2enmod rewrite
sudo systemctl reload apache2
sudo apache2ctl configtest
6. Testseite einrichten
Um zu prüfen, ob der Webserver funktioniert, legen wir eine einfache HTML-Datei an:
nano /var/www/ubuntu24.local/index.html
Und fügen diesen Inhalt ein:
<h1>Funzelt! :)</h1>
Zum Testen von PHP, legen wir eine test.php Datei an:
nano /var/www/ubuntu24.local/test.php
In der Datei können wir die PHP Info auslesen:
<?php phpinfo();
Zum Schluss können wir jetzt ubuntu.local/index.html undubuntu.local/test.php aufrufen - es sollte einmal "Funzelt" kommen und die PHP Info
7. Datenbank und Benutzer anlegen
In diesem Beispiel möchten wir eine TYPO3 Instanz aufsetzen. Unser Testbenutzer heißt also "typo3":
sudo mysql -u root -p
Mit diesen SQL Befehlen wir die Datenbank "typo3" erstellt, der Benutzer und anschließend die Rechte für die Datenbank angelegt:
CREATE DATABASE IF NOT EXISTS typo3 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'typo3'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SicheresPasswort1!';
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3'@'localhost';
FLUSH PRIVILEGES;
8. (OPTIONAL) TYPO3 herunterladen und installieren (Legacy)
Nun wechseln wir in unser Webverzeichnis, laden den TYPO3-Core herunter und entpacken ihn:
cd /var/www/ubuntu24.local/
wget --content-disposition get.typo3.org/13.4.13
tar -xzf typo3_src-13.4.13.tar.gz
Danach verlinken wir die nötigen Einstiegspunkte:
ln -s typo3_src-13.4.13 typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/typo3
Beim ersten Aufruf der URL, werden wir jetzt aufgefordert eine "FIRST_INSTALL" Datei im Rootverzeichnis anzulegen. Das funktioniert einfach mit "touch":
touch FIRST_INSTALL
Und schon ist LAMP einsatzbereit und die TYPO3 Seite auch.