In diesem Tutorial zeigen wir Ihnen, wie Sie LAMP Stack unter Ubuntu 22.04 LTS installieren. Für diejenigen unter Ihnen, die es nicht wussten: LAMP ist ein Akronym für Linux, Apache, MariaDB und PHP. Es ist eine Open-Source-Plattform und läuft auf dem Linux-Betriebssystem. Der LAMP-Stack verwendet den Apache-Webserver, das relationale Datenbankverwaltungssystem MariaDB und die objektorientierte Skriptsprache PHP.
In diesem Artikel wird davon ausgegangen, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und, was am wichtigsten ist, dass Sie Ihre Site auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt voraus, dass Sie im Root-Konto ausgeführt werden. Andernfalls müssen Sie möglicherweise Folgendes hinzufügen:sudo
‚ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation des LEMP Stacks auf Ubuntu 22.04 (Jammy Jellyfish). Sie können die gleichen Anweisungen auch für Ubuntu 22.04 und jede andere Debian-basierte Distribution wie Linux Mint, Elementary OS, Pop!_OS und mehr befolgen.
Voraussetzungen
- Ein Server, auf dem eines der folgenden Betriebssysteme läuft: Ubuntu 22.04, 20.04 und jede andere Debian-basierte Distribution wie Linux Mint.
- Es wird empfohlen, eine Neuinstallation des Betriebssystems zu verwenden, um mögliche Probleme zu vermeiden.
- SSH-Zugriff auf den Server (oder öffnen Sie einfach Terminal, wenn Sie sich auf einem Desktop befinden).
- A
non-root sudo user
oder Zugriff auf dieroot user
. Wir empfehlen, als zu agierennon-root sudo user
da Sie Ihrem System schaden können, wenn Sie als Root nicht vorsichtig sind.
Installieren Sie LAMP Stack auf Ubuntu 22.04 LTS Jammy Jellyfish
Schritt 1. Stellen Sie zunächst sicher, dass alle Ihre Systempakete auf dem neuesten Stand sind, indem Sie Folgendes ausführen apt
Befehle im Terminal.
sudo apt update sudo apt upgrade sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common
Schritt 2. Apache HTTP Server unter Ubuntu 22.04 installieren.
Standardmäßig ist der Apache im Basis-Repository von Ubuntu 22.04 verfügbar. Führen Sie nun den folgenden Befehl aus, um die neueste Version von Apache auf Ihrem Ubuntu-System zu installieren:
sudo apt install apache2 apache2-utils
Nach erfolgreicher Installation aktivieren Sie Apache (um beim Systemstart automatisch zu starten), starten und überprüfen Sie den Status mit den folgenden Befehlen:
sudo systemctl enable apache2 sudo systemctl start apache2 sudo systemctl status apache2
Sie können die Apache2-Version mit dem folgenden Befehl bestätigen:
apache2 -v
Schritt 3. Konfigurieren Sie die Firewall.
Jetzt richten wir mit Apache eine unkomplizierte Firewall (UFW) ein, um den öffentlichen Zugriff auf Standard-Webports für HTTP und HTTPS zu ermöglichen:
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
Schritt 4. Zugriff auf den Apache-Webserver.
Öffnen Sie nach erfolgreicher Installation einen Webbrowser auf Ihrem System und geben Sie die IP des Servers in die Adressleiste ein. Sie erhalten die Standardseite des Apache-Servers:
Schritt 5. MariaDB unter Ubuntu 22.04 installieren.
Standardmäßig ist MariaDB im Basis-Repository von Ubuntu 22.04 verfügbar. Führen Sie nun den folgenden Befehl aus, um die neueste Version von MariaDB auf Ihrem Ubuntu-System zu installieren:
sudo apt install mariadb-server
Aktivieren Sie nach erfolgreicher Installation MariaDB (um beim Systemstart automatisch zu starten), starten Sie und überprüfen Sie den Status mit den folgenden Befehlen:
sudo systemctl enable mariadb sudo systemctl start mariadb sudo systemctl status mariadb
Bestätigen Sie die Installation und überprüfen Sie die installierte Build-Version von MariaDB:
mariadb --version
Schritt 6. Sichere MariaDB-Installation.
Standardmäßig ist MariaDB nicht gehärtet. Sie können MariaDB mit sichern mysql_secure_installation
Skript. Sie sollten jeden Schritt sorgfältig lesen und die folgenden Schritte ausführen, um ein Root-Passwort festzulegen, anonyme Benutzer zu entfernen, die Remote-Root-Anmeldung zu verbieten sowie die Testdatenbank und den Zugriff auf sicheres MariaDB zu entfernen:
mysql_secure_installation
Konfigurieren Sie es so:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
Sie können sich nun mit dem neuen Passwort mit dem MariaDB-Server verbinden:
mysql -u root -p
Ausgabe:
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 46 Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Schritt 7. PHP unter Ubuntu 22.04 installieren.
Standardmäßig ist PHP im Basis-Repository von Ubuntu 22.04 nicht verfügbar. Führen Sie nun den folgenden Befehl aus, um das Ondrej PPA zu Ihrem System hinzuzufügen:
sudo add-apt-repository ppa:ondrej/php
Nachdem das Repository hinzugefügt wurde, aktualisieren Sie den APT-Index und installieren Sie dann PHP 8.1 mit dem folgenden Befehl:
sudo apt update sudo apt install php8.1 php8.1-common libapache2-mod-php8.1 php8.1-cli php8.1-fpm php8.1-xml
Überprüfen Sie die PHP-Versionsinformationen:
php --version
Ausgabe:
PHP 8.1.5 (cli) (built: May 20 2022 17:46:36) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies
Schritt 8. Erstellen Sie Apache Virtualhost.
Erstellen Sie zunächst ein Stammverzeichnis für die Dateien Ihrer Website:
sudo mkdir -p /var/www/html/domain.com/
Ändern Sie dann den Besitzer und die Gruppe des Verzeichnisses:
sudo chown -R www-data:www-data /var/www/html/domain.com/
Danach erstellen wir einen virtuellen Apache-Host, um die HTTP-Version der Website bereitzustellen:
sudo nano /etc/apache2/sites-available/www.domain.com.conf
Fügen Sie die folgende Datei hinzu:
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com ServerAdmin [email protected] DocumentRoot /var/www/html/www.domain.com ErrorLog ${APACHE_LOG_DIR}/www.domain.com_error.log CustomLog ${APACHE_LOG_DIR}/www.domain.com_access.log combined <Directory /var/www/html/www.domain.com> Options FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
Speichern und schließen Sie die Datei und starten Sie dann den Apache-Webserver neu, damit die Änderungen wirksam werden:
sudo a2ensite www.domain.com.conf sudo a2enmod ssl rewrite sudo systemctl restart apache2
Schritt 9. Apache mit Let’s Encrypt unter Ubuntu 22.04 sichern.
Zunächst müssen Sie Certbot installieren, um ein SSL-Zertifikat mit Let’s Encrypt zu erhalten:
sudo apt install certbot python3-certbot-apache
Als nächstes erhalten Sie Ihr SSL-Zertifikat bei Let’s Encrypt, indem Sie die folgenden Schritte ausführen:
sudo certbot --apache
Sie müssen der interaktiven Eingabeaufforderung folgen und das Zertifikat installieren. Da ich zwei Domänen habe, werde ich SSL-Zertifikate für beide Domänen installieren:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N Account registered. Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: domain.com 2: www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2 Requesting a certificate for domain.com and www.domain.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/domain.com/privkey.pem This certificate expires on 2022-12-10. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf Successfully deployed certificate for www.domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://domain.com and https://www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Schritt 10. SSL mit automatischer Verlängerung.
Let’s Encrypt-Zertifikate haben eine Gültigkeit von 90 Tagen und es wird dringend empfohlen, die Zertifikate vor Ablauf zu erneuern. Sie können die automatische Erneuerung Ihrer Zertifikate testen, indem Sie diesen Befehl ausführen:
sudo certbot renew --dry-run
Ausgabe:
Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/domain.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Account registered. Simulating renewal of an existing certificate for domain.com and www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/domain.com/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Schritt 11. PHP testen.
Um PHP-Skripte zu testen, müssen wir Folgendes hinzufügen info.php
Datei im Dokument:
nano /var/www/html/www.domain.com/info.php
Fügen Sie der Datei Folgendes hinzu:
<?php phpinfo(); ?>
Stellen wir sicher, dass der Server den vom PHP-Skript generierten Inhalt korrekt anzeigt, indem wir diese Seite im Browser öffnen: https://www.domain.com/info.php
Glückwunsch! Sie haben LAMP erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation des LEMP-Stacks verwendet haben Ubuntu 22.04 LTS Jammy Jellyfish-System. Für weitere Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle LAMP-Website zu besuchen.