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.

  1. Öffnen Sie ein Terminalfenster.
  2. 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.

  1. 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.

  1. 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:

  1. 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.

  1. 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.

  1. Erstellen Sie das Verzeichnis für Ihre Website:
  2. Erstellen und bearbeiten Sie die Konfigurationsdatei für Ihre Site:
  3. Aktivieren Sie die neue Site-Konfiguration:
  4. Deaktivieren Sie den Standard-Site, um Konflikte zu vermeiden:
  5. 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.

  1. Erstellen Sie die Datei info.php:
  2. Fügen Sie den folgenden Code in die Datei ein:
  3. Speichern und schließen Sie die Datei.
  4. 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.

  1. 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.