Dieser Artikel bietet eine Schritt-für-Schritt-Anleitung zur Installation des LAMP-Stapels (Linux, Apache, MySQL, PHP) auf Ubuntu 22.04 oder 24.04. Durch Befolgen dieser Anweisungen werden Sie einen Webserver einrichten, der die Bereitstellung dynamischer Websites und Anwendungen ermöglicht.
Voraussetzungen
- Eine frische Installation von Ubuntu 22.04 oder 24.04.
- Sudo-Berechtigungen auf Ihrem System.
- Ein nicht-root-Nutzerkonto mit sudo-Zugriff.
Schritt 1: Das System aktualisieren
Vor der Installation neuer Pakete ist es eine gute Praxis, das bestehende Software auf Ihrem Ubuntu-Server zu aktualisieren und zu upgraden.
- Öffnen Sie ein Terminalfenster.
- Führen Sie die folgenden Befehle aus:
sudo apt update
sudo apt upgrade -y
Schritt 2: Apache-Webserver installieren
Apache ist einer der am häufigsten genutzten Webserver weltweit. Sie können ihn mit dem folgenden Befehl installieren.
- Führen Sie im Terminal den folgenden Befehl aus:
sudo apt install apache2 -y
Um sicherzustellen, dass Apache läuft und beim Booten gestartet wird, verwenden Sie:
sudo systemctl status apache2
sudo systemctl enable apache2
Schritt 3: MySQL-Datenbankserver installieren
MySQL ist ein weit verbreiteter relationaler Datenbanksystemverwaltungsserver. Installieren Sie ihn mit dem folgenden Befehl.
- Führen Sie im Terminal den folgenden Befehl aus:
sudo apt install mysql-server -y
Nach der Installation sichern Sie MySQL, indem Sie den folgenden Befehl ausführen:
sudo mysql_secure_installation
Befolgen Sie die Aufforderungen, um ein Root-Passwort festzulegen und andere sicherheitsrelevante Änderungen vorzunehmen.
Schritt 4: PHP installieren
PHP ist eine serverseitige Skriptsprache, die es Ihnen ermöglicht, dynamische Webseiten zu erstellen. Installieren Sie sie zusammen mit einigen gängigen PHP-Modulen:
- Führen Sie im Terminal den folgenden Befehl aus:
sudo apt install php libapache2-mod-php php-mysql -y
Schritt 5: Apache so konfigurieren, dass er PHP-Dateien verarbeitet
Von vornherein priorisiert Apache HTML-Dateien gegenüber PHP-Dateien. Um dieses Verhalten zu ändern, müssen Sie die Datei dir.conf bearbeiten.
- Bearbeiten Sie die Datei dir.conf:
sudo nano /etc/apache2/mods-enabled/dir.conf
Ändern Sie die Reihenfolge von index.php und index.html, sodass sie wie folgt aussehen:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Speichern Sie die Datei und beenden Sie den Editor. Starten Sie dann Apache neu, um die Änderungen anzuwenden:
sudo systemctl restart apache2
Schritt 6: Einrichtung eines virtuellen Hosts (optional)
Um mehrere Websites auf Ihrem Server zu hosten, können Sie virtuelle Hosts einrichten.
- Erstellen Sie das Verzeichnis für Ihre Website:
- Erstellen und bearbeiten Sie die Konfigurationsdatei für Ihre Site:
- Aktivieren Sie die neue Site-Konfiguration:
- Deaktivieren Sie den Standard-Site, um Konflikte zu vermeiden:
- Starten Sie Apache neu, um die Änderungen anzuwenden:
sudo mkdir /var/www/your_domain
sudo nano /etc/apache2/sites-available/your_domain.conf
Fügen Sie die folgende Konfiguration hinzu und ersetzen Sie your_domain durch Ihren tatsächlichen Domainnamen oder Ihre IP-Adresse:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite your_domain.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2
Schritt 7: Testen der PHP-Verarbeitung durch Apache
Erstellen Sie eine PHP-Datei, um zu testen, ob Apache PHP-Dateien verarbeiten kann.
- Erstellen Sie die Datei info.php:
- Fügen Sie den folgenden Code in die Datei ein:
- Speichern und schließen Sie die Datei.
- Besuchen Sie http://your_server_ip/info.php in Ihrem Webbrowser. Es sollte eine Seite mit PHP-Version und Konfigurationsinformationen angezeigt werden.
sudo nano /var/www/your_domain/info.php
<?php
phpinfo();
?>
Konfiguration der Firewall-Regeln
Falls UFW (Uncomplicated Firewall) aktiviert ist, lassen Sie HTTP und HTTPS-Datenverkehr zu.
- Lassen Sie das Profil 'Apache Full' zu:
sudo ufw allow in "Apache Full"
Fehlerbehebung
- Apache startet nicht: Überprüfen Sie das Apache-Fehlerprotokoll mit
sudo tail -f /var/log/apache2/error.log. - PHP-Info-Seite wird nicht angezeigt: Stellen Sie sicher, dass PHP korrekt installiert ist und die Datei keine Syntaxfehler enthält.
- Firewall-Probleme: Überprüfen Sie, ob die UFW-Regeln korrekt eingestellt sind mit
sudo ufw status verbose.