Zum Hauptinhalt springen Skip to page footer

Automatisierte Installation von Apache2, PHP, MySQL und phpMyAdmin unter Ubuntu

| Tutorial | Apache MySQL PHP Ubuntu

Beschleunigen Sie die Einrichtung Ihrer Webentwicklungsumgebung mit unserem automatisierten Bash-Skript! Erfahren Sie, wie Sie Apache2, PHP, MySQL und phpMyAdmin auf Ihrem System installieren, ohne sich um langwierige Konfigurationen kümmern zu müssen. Sparen Sie Zeit und Mühe und tauchen Sie sofort in die Entwicklung Ihrer Webanwendungen ein. Lesen Sie weiter, um zu erfahren, wie Sie Schritt für Schritt durch den Installationsprozess geleitet werden.

Einleitung

In diesem Tutorial stellen wir Ihnen ein Bash-Skript vor, das Ihnen dabei hilft, Apache2, PHP, MySQL und phpMyAdmin auf Ihrem System zu installieren. Dieses Skript automatisiert den Installationsprozess und erleichtert Ihnen das Einrichten einer Umgebung für die Entwicklung von Webanwendungen. Egal, ob Sie ein erfahrener Entwickler sind oder gerade erst anfangen, dieses Skript wird Ihnen Zeit und Mühe sparen, indem es die Installation und Konfiguration dieser essentiellen Tools für Sie übernimmt. Lassen Sie uns gleich loslegen und Schritt für Schritt durch den Installationsprozess gehen.

Das Skript lamp_installation.sh

#!/bin/bash

# Abfrage der Parameter
read -p "Bitte geben Sie das MySQL Root Passwort ein: " mysql_password
read -p "Bitte geben Sie das phpMyAdmin Passwort ein: " phpmyadmin_password

# Aktualisiere das System
sudo apt update
sudo apt upgrade -y

# Installiere Apache
sudo apt install apache2 -y

# Installiere MySQL
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysql_password"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysql_password"
sudo apt install mysql-server -y

# Führe mysql_secure_installation aus
sudo mysql_secure_installation <<EOF

$mysql_password
n
Y
Y
Y
Y
EOF

# Installiere PHP
sudo apt install php libapache2-mod-php php-mysql -y

# Aktiviere PHP-Modul für Apache
sudo a2enmod php

# Starte den Apache-Server neu
sudo systemctl restart apache2

# Installiere phpMyAdmin
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/dbconfig-install boolean true"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/app-password-confirm password $phpmyadmin_password"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/admin-pass password $mysql_password"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/app-pass password $phpmyadmin_password"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2"
sudo apt install phpmyadmin php-mbstring php-gettext -y

# Aktiviere phpMyAdmin-Modul für Apache
sudo phpenmod mbstring

# Starte den Apache-Server neu
sudo systemctl restart apache2

# Starte den Apache-Server erneut
sudo systemctl restart apache2

echo "Die Installation von LAMP und phpMyAdmin ist abgeschlossen."

Speichere das Skript unter dem Namen “lamp_installation.sh”.

Geben Sie danach im Terminal den folgenden Befehl ein, um das Skript ausführbar zu machen:

chmod +x lamp_installation.sh

Danach können Sie das Skript mit folgendem Befehl starten:

./lamp_installation.sh

Erklärungen

Aktualisierung des Systems

sudo apt update
sudo apt upgrade -y

‘sudo apt update’: Dieser Befehl führt ein Update des Paketmanagers ‘apt’ durch. Der Paketmanager ist für die Verwaltung von Softwarepaketen in Ubuntu zuständig. Durch das Ausführen von ‘apt update’ werden die Paketlisten auf dem System aktualisiert. Das bedeutet, dass der Paketmanager Informationen über verfügbare Pakete und deren Versionen von den Ubuntu-Softwarequellen abruft.

‘sudo apt upgrade -y’: Dieser Befehl führt ein Upgrade der installierten Pakete auf dem System durch. Durch die Option ‘-y’ wird der Benutzer nicht nach Bestätigung für das Upgrade gefragt, sondern das Upgrade wird automatisch durchgeführt. Der Befehl überprüft die verfügbaren Aktualisierungen für die installierten Pakete und installiert die neuen Versionen, sofern verfügbar. Dadurch werden Sicherheitslücken geschlossen, Fehler behoben und Verbesserungen an den Paketen vorgenommen.

Installation des Apache-Webservers

sudo apt install apache2 -y

‘sudo’: Das Schlüsselwort "sudo" steht für "Superuser Do" und wird verwendet, um den nachfolgenden Befehl mit Administratorrechten (auch bekannt als Root-Berechtigungen) auszuführen. Dadurch erhält der Benutzer die erforderlichen Rechte, um Systemänderungen vorzunehmen.

'apt': Der Befehl "apt" steht für "Advanced Package Tool" und ist der Paketmanager von Ubuntu. Er wird verwendet, um Softwarepakete zu verwalten, einschließlich Installation, Aktualisierung und Entfernung von Paketen.

‘install’: Das Schlüsselwort "install" wird verwendet, um anzugeben, dass das angegebene Paket installiert werden soll.

‘apache2’: "apache2" ist der Name des Pakets, das installiert werden soll. In diesem Fall handelt es sich um den Apache HTTP Server, eine weit verbreitete und leistungsstarke Webserver-Software.

‘-y’: Die Option "-y" steht für "yes" und bewirkt, dass alle interaktiven Abfragen automatisch mit "Ja" beantwortet werden. Dadurch wird vermieden, dass der Benutzer während der Installation nach Bestätigungen oder Eingaben gefragt wird.

Installation MySQL

sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysql_password"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysql_password"
sudo apt install mysql-server -y

‘sudo debconf-set-selections <<< “mysql-server mysql-server/root_password password $mysql_password”’: Dieser Befehl verwendet das `debconf-set-selections`-Werkzeug, um vordefinierte Antworten für die Konfiguration eines Debian-Pakets festzulegen. In diesem Fall werden die Antworten für die MySQL Server-Installation festgelegt.

  • ‘<<<’ ist ein sogenannter "Here-String" Operator in Bash, der den Inhalt des nachfolgenden Strings an den Eingabestrom des Befehls leitet.
  • ‘"mysql-server mysql-server/root_password password $mysql_password"’ ist der vordefinierte Antwort-String, der dem Befehl übergeben wird. Er setzt das MySQL-Root-Passwort auf den Wert, der zuvor vom Benutzer eingegeben wurde.

‘sudo debconf-set-selections <<< “mysql-server mysql-server/root_password_again password $mysql_password”’: Dieser Befehl legt die vordefinierte Antwort für das erneute Eingeben des MySQL Root-Passworts fest.

  • Der vordefinierte Antwort-String `"mysql-server mysql-server/root_password_again password $mysql_password"` gibt das zuvor eingegebene MySQL-Root-Passwort erneut an.

‘sudo apt install mysql-server -y’: Dieser Befehl verwendet den Paketmanager ‘apt’, um die MySQL Server-Software zu installieren. Die Option ‘-y’ bewirkt, dass alle interaktiven Abfragen automatisch mit "Ja" beantwortet werden.

MySQL-Secure-Installation

sudo mysql_secure_installation <<EOF

$mysql_password
n
Y
Y
Y
Y
EOF

‘sudo mysql_secure_installation <<EOF’: Dieser Befehl führt das Skript ‘mysql_secure_installation’ aus, das standardmäßig in den meisten MySQL-Installationen enthalten ist. Das ‘<<EOF’ leitet den nachfolgenden Textblock als Eingabe für das Skript.

‘$mysql_password’: Dieser Teil des Textblocks ist die Eingabe für das Root-Passwort, das zuvor vom Benutzer eingegeben wurde. Es wird an 'mysql_secure_installation' übergeben, um das Root-Passwort für MySQL zu verwenden.

‘n’: Dies ist die Antwort auf die Frage, ob das Root-Passwort geändert werden soll. Hier wird 'n' eingegeben, um anzugeben, dass das Root-Passwort nicht geändert werden soll.

‘Y’: Diese Antworten beziehen sich auf die Fragen zur Entfernung anonymer Benutzer, zum Deaktivieren des Remote-Root-Zugriffs, zur Entfernung der Testdatenbank und zur Aktualisierung der Rechte. Die 'Y' steht für "Ja" und gibt an, dass die jeweilige Aktion durchgeführt werden soll.

‘EOF’: Dieses Schlüsselwort beendet den Textblock und zeigt an, dass keine weiteren Eingaben für das Skript vorhanden sind.

Installation und Aktivierung PHP

# Installiere PHP
sudo apt install php libapache2-mod-php php-mysql -y

# Aktiviere PHP-Modul für Apache
sudo a2enmod php

‘sudo apt install php libapache2-mod-php php-mysql -y’: Dieser Befehl installiert PHP und verwandte Module auf dem Ubuntu-System.

  • ‘php’: Dieses Paket enthält die PHP-Interpreter und die Kernmodule von PHP.
  • ‘libapache2-mod-php’: Dieses Paket enthält das Apache-Modul für PHP, das es dem Apache-Webserver ermöglicht, PHP-Dateien auszuführen.
  • ‘php-mysql’: Dieses Paket stellt die Unterstützung für MySQL in PHP zur Verfügung, sodass PHP-Anwendungen auf eine MySQL-Datenbank zugreifen können.
  • ‘-y’: Die Option "-y" bewirkt, dass alle interaktiven Abfragen automatisch mit "Ja" beantwortet werden, sodass die Installation ohne weitere Benutzerinteraktion erfolgt.

‘sudo a2enmod php’: Dieser Befehl aktiviert das PHP-Modul für den Apache-Webserver.

  • ‘a2enmod’: Dieses Tool wird verwendet, um Apache-Module zu aktivieren.
  • ‘php’: Dies ist der Name des Moduls, das aktiviert werden soll.

Installation phpMyAdmin

sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/dbconfig-install boolean true"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/app-password-confirm password $phpmyadmin_password"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/admin-pass password $mysql_password"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/app-pass password $phpmyadmin_password"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2"
sudo apt install phpmyadmin -y

‘sudo debconf-set-selections <<< “phpmyadmin phpmyadmin/dbconfig-install boolean true”’: Dieser Befehl setzt eine vordefinierte Antwort für die Frage zur Installation der 'phpMyAdmin'-Datenbankkonfiguration. Die vordefinierte Antwort '"true"' gibt an, dass die Datenbankkonfiguration für 'phpMyAdmin' installiert werden soll.

‘sudo debconf-set-selections <<< “phpmyadmin phpmyadmin/app-password-confirm password $phpmyadmin_password”’: Dieser Befehl legt das Bestätigungspasswort für ‘phpMyAdmin’ fest. Dabei wird das zuvor vom Benutzer eingegebene Passwort verwendet.

‘sudo debconf-set-selections <<< “phpmyadmin phpmyadmin/mysql/admin-pass password $mysql_password”’: Dieser Befehl setzt das Root-Passwort für die MySQL-Datenbank, das zuvor vom Benutzer eingegeben wurde.

‘sudo debconf-set-selections <<< “phpmyadmin phpmyadmin/mysql/app-pass password $phpmyadmin_password”’: Dieser Befehl setzt das Passwort für den ‘phpMyAdmin’-Benutzer in der MySQL-Datenbank, das zuvor vom Benutzer eingegeben wurde.

‘sudo debconf-set-selections <<< “phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2”’: Dieser Befehl setzt die Webserver-Konfiguration für ‘phpMyAdmin’. Die vordefinierte Antwort ‘"apache2"’ gibt an, dass ‘phpMyAdmin’ für den Apache-Webserver konfiguriert werden soll.

‘sudo apt install phpmyadmin -y’: Dieser Befehl installiert ‘phpMyAdmin’. Die Option ‘-y’ bewirkt, dass alle interaktiven Abfragen automatisch mit "Ja" beantwortet werden.