Eine frühere Version dieses Tutorials wurde von Brennan Bearnes geschrieben.

Einführung

Ein „LAMP“-Stack ist eine Gruppe von Open-Source-Software, die typischerweise zusammen installiert wird, um einen Server zum Hosten von dynamischen Websites und Webanwendungen zu ermöglichen. Dieser Begriff ist eigentlich ein Akronym, das für das Linux-Betriebssystem und den Apache-Webserver steht. Die Daten der Website werden in einer MySQL-Datenbank gespeichert, und dynamische Inhalte werden von PHP verarbeitet.

In dieser Anleitung werden wir einen LAMP-Stack auf einem Ubuntu 18.04-Server installieren.

Voraussetzungen

Um dieses Tutorial durchzuführen, benötigen Sie einen Ubuntu 18.04-Server mit einem nicht-root sudo-aktivierten Benutzerkonto und einer einfachen Firewall. Dies kann mithilfe unserer Anleitung zur Ersteinrichtung eines Servers für Ubuntu 18.04 konfiguriert werden.

Schritt 1 – Installation von Apache und Aktualisierung der Firewall

Der Apache-Webserver gehört zu den beliebtesten Webservern der Welt. Er ist gut dokumentiert und wird seit langem verwendet, was ihn zu einer guten Standardwahl für das Hosting einer Website macht.

Installieren Sie Apache mit dem Paketmanager von Ubuntu, apt:

  • sudo apt update
  • sudo apt install apache2

Da dies ein sudoBefehl ist, werden diese Operationen mit Root-Rechten ausgeführt. Sie werden nach dem Passwort Ihres regulären Benutzers gefragt, um Ihre Absichten zu verifizieren.

Nachdem Sie Ihr Passwort eingegeben haben, teilt apt Ihnen mit, welche Pakete es installieren will und wie viel zusätzlichen Speicherplatz sie benötigen. Drücken Sie Y und ENTER, um fortzufahren, und die Installation wird fortgesetzt.

Stellen Sie die Firewall so ein, dass sie Webverkehr zulässt

Wenn Sie die Anweisungen zur anfänglichen Einrichtung des Servers befolgt und die UFW-Firewall aktiviert haben, stellen Sie als Nächstes sicher, dass Ihre Firewall HTTP- und HTTPS-Datenverkehr zulässt. Sie können überprüfen, ob UFW ein Anwendungsprofil für Apache hat:

  • sudo ufw app list
Output
Available applications: Apache Apache Full Apache Secure OpenSSH

Wenn Sie sich das Profil Apache Full ansehen, sollte es zeigen, dass es den Verkehr zu den Ports 80 und 443 zulässt:

  • sudo ufw app info "Apache Full"
Output
Profile: Apache FullTitle: Web Server (HTTP,HTTPS)Description: Apache v2 is the next generation of the omnipresent Apache webserver.Ports: 80,443/tcp

Zulassen Sie eingehenden HTTP- und HTTPS-Verkehr für dieses Profil:

  • sudo ufw allow in "Apache Full"

Sie können sofort eine Stichprobe machen, um zu überprüfen, ob alles wie geplant gelaufen ist, indem Sie die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser aufrufen (siehe den Hinweis unter der nächsten Überschrift, um herauszufinden, wie Ihre öffentliche IP-Adresse lautet, falls Sie diese Information noch nicht haben):

http://your_server_ip

Sie werden die Standard-Ubuntu 18.04 Apache-Webseite, die nur zu Informations- und Testzwecken dient. Sie sollte in etwa so aussehen:

Ubuntu 18.04 Apache default

Wenn Sie diese Seite sehen, ist Ihr Webserver nun korrekt installiert und über Ihre Firewall erreichbar.

Wie Sie die öffentliche IP-Adresse Ihres Servers herausfinden

Wenn Sie die öffentliche IP-Adresse Ihres Servers nicht kennen, gibt es eine Reihe von Möglichkeiten, sie herauszufinden. Normalerweise ist dies die Adresse, die Sie verwenden, um sich über SSH mit Ihrem Server zu verbinden.

Es gibt mehrere Möglichkeiten, dies über die Befehlszeile zu tun. Zunächst können Sie die iproute2-Tools verwenden, um Ihre IP-Adresse zu ermitteln, indem Sie Folgendes eingeben:

  • ip addr show eth0 | grep inet | awk '{ print ; }' | sed 's/\/.*$//'

So erhalten Sie zwei oder drei Zeilen zurück. Das sind alles korrekte Adressen, aber Ihr Computer kann möglicherweise nur eine davon verwenden, also probieren Sie ruhig jede einzelne aus.

Eine andere Methode besteht darin, das Dienstprogramm curl zu verwenden, um eine externe Partei zu kontaktieren, die Ihnen mitteilt, wie sie Ihren Server sieht. Dies geschieht, indem Sie einen bestimmten Server nach Ihrer IP-Adresse fragen:

  • sudo apt install curl
  • curl http://icanhazip.com

Ungeachtet der Methode, die Sie verwenden, um Ihre IP-Adresse zu erhalten, geben Sie sie in die Adressleiste Ihres Webbrowsers ein, um die Standard-Apache-Seite anzuzeigen.

Schritt 2 – Installation von MySQL

Nachdem Sie Ihren Webserver eingerichtet haben, ist es nun an der Zeit, MySQL zu installieren. MySQL ist ein Datenbankmanagementsystem. Im Grunde organisiert es die Datenbanken, in denen Ihre Website Informationen speichern kann, und ermöglicht den Zugriff darauf.

Verwenden Sie erneut apt, um diese Software zu erwerben und zu installieren:

  • sudo apt install mysql-server

Hinweis: In diesem Fall müssen Sie sudo apt update nicht vor dem Befehl ausführen. Der Grund dafür ist, dass Sie diesen Befehl bereits in den obigen Befehlen zur Installation von Apache ausgeführt haben. Der Paketindex auf Ihrem Computer sollte bereits auf dem neuesten Stand sein.

Auch dieser Befehl zeigt Ihnen eine Liste der Pakete, die installiert werden, zusammen mit der Menge an Speicherplatz, die sie beanspruchen werden. Geben Sie Y ein, um fortzufahren.

Wenn die Installation abgeschlossen ist, führen Sie ein einfaches Sicherheitsskript aus, das mit MySQL vorinstalliert ist und das einige gefährliche Standardeinstellungen entfernt und den Zugriff auf Ihr Datenbanksystem sperrt. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

  • sudo mysql_secure_installation

Sie werden gefragt, ob Sie das VALIDATE PASSWORD PLUGIN konfigurieren möchten.

Hinweis: Die Aktivierung dieser Funktion ist eine Art Ermessensentscheidung. Wenn sie aktiviert ist, werden Passwörter, die nicht den angegebenen Kriterien entsprechen, von MySQL mit einem Fehler zurückgewiesen. Dies führt zu Problemen, wenn Sie ein schwaches Passwort in Verbindung mit einer Software verwenden, die MySQL-Benutzeranmeldeinformationen automatisch konfiguriert, wie z. B. die Ubuntu-Pakete für phpMyAdmin. Es ist sicher, die Gültigkeitsprüfung deaktiviert zu lassen, aber Sie sollten immer starke, eindeutige Passwörter für die Datenbankanmeldeinformationen verwenden.

Antworten Sie Y für „Ja“ oder etwas anderes, um ohne Aktivierung fortzufahren.

VALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of passwordand allows the users to set only those passwords which aresecure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No:

Wenn Sie mit „Ja“ antworten, werden Sie aufgefordert, eine Stufe der Passwortüberprüfung auszuwählen. Beachten Sie, dass Sie bei der Eingabe von 2 für die stärkste Stufe Fehlermeldungen erhalten, wenn Sie versuchen, ein Kennwort festzulegen, das keine Zahlen, Groß- und Kleinbuchstaben und Sonderzeichen enthält oder auf gebräuchlichen Wörterbuchwörtern basiert.

There are three levels of password validation policy:LOW Length >= 8MEDIUM Length >= 8, numeric, mixed case, and special charactersSTRONG Length >= 8, numeric, mixed case, special characters and dictionary filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Unabhängig davon, ob Sie sich für die Einrichtung von VALIDATE PASSWORD PLUGIN entschieden haben, wird Ihr Server Sie als Nächstes bitten, ein Kennwort für den MySQL-Root-Benutzer auszuwählen und zu bestätigen. Dabei handelt es sich um ein administratives Konto in MySQL, das über erweiterte Rechte verfügt. Es ist vergleichbar mit dem Root-Konto für den Server selbst (obwohl das Konto, das Sie jetzt konfigurieren, ein MySQL-spezifisches Konto ist). Stellen Sie sicher, dass es sich um ein sicheres, eindeutiges Passwort handelt, und lassen Sie es nicht leer.

Wenn Sie die Passwortüberprüfung aktiviert haben, wird Ihnen die Passwortstärke für das soeben eingegebene Root-Passwort angezeigt, und Ihr Server fragt Sie, ob Sie dieses Passwort ändern möchten. Wenn Sie mit Ihrem aktuellen Passwort zufrieden sind, geben Sie bei der Eingabeaufforderung N für „nein“ ein:

Using existing password for root.Estimated strength of the password: 100Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

Für die restlichen Fragen drücken Sie Y und bei jeder Aufforderung die Taste ENTER. Dadurch werden einige anonyme Benutzer und die Testdatenbank entfernt, entfernte Root-Anmeldungen deaktiviert und die neuen Regeln geladen, so dass MySQL die von Ihnen vorgenommenen Änderungen sofort berücksichtigt.

Bitte beachten Sie, dass in Ubuntu-Systemen, auf denen MySQL 5.7 (und spätere Versionen) läuft, der Root-MySQL-Benutzer standardmäßig so eingestellt ist, dass er sich mit dem auth_socket-Plugin und nicht mit einem Kennwort authentifiziert. Dies sorgt in vielen Fällen für mehr Sicherheit und Benutzerfreundlichkeit, kann aber auch zu Komplikationen führen, wenn Sie einem externen Programm (z.B. phpMyAdmin) den Zugriff auf den Benutzer erlauben müssen.

Wenn Sie es vorziehen, ein Passwort zu verwenden, wenn Sie sich als root mit MySQL verbinden, müssen Sie die Authentifizierungsmethode von auth_socket auf mysql_native_password ändern. Öffnen Sie dazu die MySQL-Eingabeaufforderung in Ihrem Terminal:

  • sudo mysql

Überprüfen Sie anschließend mit folgendem Befehl, welche Authentifizierungsmethode die einzelnen MySQL-Benutzerkonten verwenden:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+| user | authentication_string | plugin | host |+------------------+-------------------------------------------+-----------------------+-----------+| root | | auth_socket | localhost || mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost || mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost || debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |+------------------+-------------------------------------------+-----------------------+-----------+4 rows in set (0.00 sec)

In diesem Beispiel können Sie sehen, dass der Root-Benutzer sich tatsächlich mit dem auth_socket-Plugin authentifiziert. Um das Root-Konto so zu konfigurieren, dass es sich mit einem Passwort authentifiziert, führen Sie den folgenden ALTER USER-Befehl aus. Stellen Sie sicher, dass Sie password in ein sicheres Passwort Ihrer Wahl ändern:

  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Dann führen Sie FLUSH PRIVILEGES aus, der den Server anweist, die Berechtigungstabellen neu zu laden und Ihre neuen Änderungen in Kraft zu setzen:

  • FLUSH PRIVILEGES;

Prüfen Sie noch einmal die Authentifizierungsmethoden der einzelnen Benutzer, um zu bestätigen, dass root sich nicht mehr mit dem auth_socket-Plugin authentifiziert:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+| user | authentication_string | plugin | host |+------------------+-------------------------------------------+-----------------------+-----------+| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost || mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost || mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost || debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |+------------------+-------------------------------------------+-----------------------+-----------+4 rows in set (0.00 sec)

In dieser Beispielausgabe sehen Sie, dass sich der MySQL-Benutzer root jetzt mit einem Passwort authentifiziert. Sobald Sie dies auf Ihrem eigenen Server bestätigt haben, können Sie die MySQL-Shell beenden:

  • exit

Das Datenbanksystem ist nun eingerichtet und Sie können mit der Installation von PHP, der letzten Komponente des LAMP-Stacks, fortfahren.

Schritt 3 – Installation von PHP

PHP ist die Komponente Ihrer Einrichtung, die den Code zur Anzeige dynamischer Inhalte verarbeitet. Es kann Skripte ausführen, eine Verbindung zu Ihren MySQL-Datenbanken herstellen, um Informationen zu erhalten, und den verarbeiteten Inhalt an Ihren Webserver zur Anzeige übergeben.

Wiederum nutzen Sie das apt-System, um PHP zu installieren. Zusätzlich fügen Sie diesmal einige Hilfspakete ein, damit der PHP-Code unter dem Apache-Server laufen und mit Ihrer MySQL-Datenbank kommunizieren kann:

  • sudo apt install php libapache2-mod-php php-mysql

Damit sollte PHP problemlos installiert werden. Wir werden das gleich testen.

In den meisten Fällen werden Sie die Art und Weise ändern wollen, wie der Apache Dateien bereitstellt, wenn ein Verzeichnis angefordert wird. Wenn ein Benutzer derzeit ein Verzeichnis vom Server anfordert, sucht der Apache zuerst nach einer Datei namens index.html. Wir wollen dem Webserver sagen, dass er PHP-Dateien gegenüber anderen bevorzugen soll, also lassen Sie den Apache zuerst nach einer index.php-Datei suchen.

Um dies zu tun, geben Sie diesen Befehl ein, um die dir.conf-Datei in einem Texteditor mit Root-Rechten zu öffnen:

  • sudo nano /etc/apache2/mods-enabled/dir.conf

Sie sieht dann so aus:

/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</IfModule>

Verschieben Sie die PHP-Indexdatei (oben hervorgehoben) an die erste Position nach der DirectoryIndex-Angabe, etwa so:

/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm</IfModule>

Wenn Sie fertig sind, speichern und schließen Sie die Datei, indem Sie CTRL+X drücken. Bestätigen Sie das Speichern durch Eingabe von Y und drücken Sie dann ENTER, um den Speicherort der Datei zu überprüfen.

Danach starten Sie den Apache-Webserver neu, damit Ihre Änderungen erkannt werden. Geben Sie dazu Folgendes ein:

  • sudo systemctl restart apache2

Sie können auch den Status des apache2-Dienstes mit systemctl überprüfen:

  • sudo systemctl status apache2
Sample Output
● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago Docs: man:systemd-sysv-generator(8) Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS) Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) Tasks: 6 (limit: 512) CGroup: /system.slice/apache2.service ├─13623 /usr/sbin/apache2 -k start ├─13626 /usr/sbin/apache2 -k start ├─13627 /usr/sbin/apache2 -k start ├─13628 /usr/sbin/apache2 -k start ├─13629 /usr/sbin/apache2 -k start └─13630 /usr/sbin/apache2 -k start

Drücken Sie Q, um diese Statusausgabe zu verlassen.

Um die Funktionalität von PHP zu erweitern, haben Sie die Möglichkeit, einige zusätzliche Module zu installieren. Um die verfügbaren Optionen für PHP-Module und -Bibliotheken zu sehen, leiten Sie die Ergebnisse von apt search in less, einen Pager, mit dem Sie durch die Ausgabe anderer Befehle blättern können:

  • apt search php- | less

Benutzen Sie die Pfeiltasten, um nach oben und unten zu blättern, und drücken Sie Q, um zu beenden.

Die Ergebnisse sind alle optionalen Komponenten, die Sie installieren können. Sie erhalten für jede Komponente eine kurze Beschreibung:

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64 Tracks usage of TCP/IP and builds html files with graphsbluefish/bionic 2.2.10-1 amd64 advanced Gtk+ text editor for web and software developmentcacti/bionic 1.1.38+ds1-1 all web interface for graphing of monitoring systemsganglia-webfrontend/bionic 3.6.1-3 all cluster monitoring toolkit - web front-endgolang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all PHP-like Compression and Archive Extensions in Gohaserl/bionic 0.9.35-2 amd64 CGI scripting program for embedded environmentskdevelop-php-docs/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-phpkdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n…:

Um mehr über die Funktionen der einzelnen Module zu erfahren, können Sie im Internet nach weiteren Informationen suchen. Alternativ können Sie sich die lange Beschreibung des Pakets ansehen, indem Sie Folgendes eingeben:

  • apt show package_name

Es gibt eine Menge Ausgaben, mit einem Feld namens Description, das eine längere Erklärung der Funktionalität enthält, die das Modul bietet.

Um zum Beispiel herauszufinden, was das Modul php-cli macht, könnten Sie Folgendes eingeben:

  • apt show php-cli

Zusammen mit einer großen Menge anderer Informationen werden Sie etwas finden, das so aussieht:

Output
…Description: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Ubuntu's default PHP version (currently 7.2).…

Wenn Sie sich nach der Recherche entscheiden, dass Sie ein Paket installieren möchten, können Sie dies mit dem Befehl apt install tun, wie Sie es für die andere Software getan haben.

Wenn Sie sich entschieden haben, dass php-cli etwas ist, das Sie brauchen, können Sie Folgendes eingeben:

  • sudo apt install php-cli

Wenn Sie mehr als ein Modul installieren möchten, können Sie dies tun, indem Sie jedes einzelne, durch ein Leerzeichen getrennt, nach dem apt install-Befehl auflisten, etwa so:

  • sudo apt install package1 package2 ...

Zu diesem Zeitpunkt ist Ihr LAMP-Stack installiert und konfiguriert. Bevor Sie etwas anderes tun, empfehlen wir Ihnen, einen virtuellen Apache-Host einzurichten, in dem Sie die Konfigurationsdaten Ihres Servers speichern können.

Schritt 4 – Einrichten von virtuellen Hosts (empfohlen)

Bei der Verwendung des Apache-Webservers können Sie virtuelle Hosts (ähnlich wie Serverblöcke in Nginx) verwenden, um Konfigurationsdetails zu kapseln und mehr als eine Domain von einem einzigen Server aus zu hosten. Wir werden eine Domain namens your_domain einrichten, aber Sie sollten diese durch Ihren eigenen Domainnamen ersetzen. Um mehr über das Einrichten eines Domainnamens mit DigitalOcean zu erfahren, lesen Sie unsere Einführung in DigitalOcean DNS.

Apache auf Ubuntu 18.04 hat standardmäßig einen Serverblock aktiviert, der so konfiguriert ist, dass er Dokumente aus dem Verzeichnis /var/www/html bereitstellt. Während dies für eine einzelne Site gut funktioniert, kann es unhandlich werden, wenn Sie mehrere Sites hosten. Anstatt /var/www/html zu ändern, erstellen wir eine Verzeichnisstruktur innerhalb von /var/www für unsere Site your_domain und belassen /var/www/html als Standardverzeichnis, das bedient wird, wenn eine Client-Anfrage keiner anderen Site entspricht.

Erstellen Sie das Verzeichnis für Ihre_Domain wie folgt:

sudo mkdir /var/www/your_domain

Nachdem Sie das Verzeichnis mit der Umgebungsvariablen $USER zugewiesen haben:

  • sudo chown -R $USER:$USER /var/www/your_domain

Die Berechtigungen Ihrer Web-Roots sollten korrekt sein, wenn Sie Ihren unmask-Wert nicht geändert haben, aber Sie können sich durch Eingabe vergewissern:

  • sudo chmod -R 755 /var/www/your_domain

Nächste erstellen Sie eine Beispielseite index.html mit nano oder Ihrem bevorzugten Editor:

  • nano /var/www/your_domain/index.html

Fügen Sie darin das folgende HTML-Beispiel ein:

/var/www/ihre_domain/index.html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain server block is working!</h1> </body></html>

Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.

Damit Apache diesen Inhalt bereitstellen kann, müssen Sie eine virtuelle Hostdatei mit den richtigen Direktiven erstellen. Anstatt die Standardkonfigurationsdatei unter /etc/apache2/sites-available/000-default.conf direkt zu ändern, legen wir eine neue unter /etc/apache2/sites-available/your_domain.conf an:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Fügen Sie den folgenden Konfigurationsblock ein, der dem Standard ähnlich ist, aber für unser neues Verzeichnis und den Domänennamen aktualisiert wurde:

/etc/apache2/sites-available/your_domain.conf
<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>

Beachten Sie, dass wir DocumentRoot auf unser neues Verzeichnis und ServerAdmin auf eine E-Mail aktualisiert haben, auf die der Administrator der Website your_domain zugreifen kann. Wir haben auch zwei Direktiven hinzugefügt: ServerName, die die Basisdomäne festlegt, die mit dieser Definition des virtuellen Hosts übereinstimmen soll, und ServerAlias, die weitere Namen definiert, die übereinstimmen sollen, als wären sie der Basisname.

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Lassen Sie uns die Datei mit dem Werkzeug a2ensite aktivieren:

  • sudo a2ensite your_domain.conf

Deaktivieren Sie die in 000-default.conf definierte Standard-Site:

  • sudo a2dissite 000-default.conf

Als Nächstes testen wir auf Konfigurationsfehler:

  • sudo apache2ctl configtest

Sie sollten die folgende Ausgabe sehen:

Output
Syntax OK

Starten Sie Apache neu, um Ihre Änderungen zu implementieren:

  • sudo systemctl restart apache2

Apache sollte jetzt Ihren Domainnamen bedienen. Sie können dies testen, indem Sie zu http://your_domain navigieren, wo Sie etwas wie dieses sehen sollten:

Apache virtual host example

Damit ist Ihr virtueller Host vollständig eingerichtet. Bevor Sie weitere Änderungen vornehmen oder eine Anwendung bereitstellen, wäre es jedoch hilfreich, Ihre PHP-Konfiguration proaktiv zu testen, falls es Probleme gibt, die behoben werden sollten.

Schritt 5 – Testen der PHP-Verarbeitung auf Ihrem Webserver

Um zu testen, ob Ihr System richtig für PHP konfiguriert ist, erstellen Sie ein sehr einfaches PHP-Skript namens info.php. Damit der Apache diese Datei findet und korrekt ausliefert, muss sie in Ihrem Web-Root-Verzeichnis gespeichert werden.

Erstellen Sie die Datei im Web-Root-Verzeichnis, das Sie im vorherigen Schritt erstellt haben, indem Sie Folgendes ausführen:

  • sudo nano /var/www/your_domain/info.php

Damit wird eine leere Datei geöffnet. Fügen Sie den folgenden Text, bei dem es sich um gültigen PHP-Code handelt, in die Datei ein:

info.php
<?phpphpinfo();?>

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Jetzt können Sie testen, ob Ihr Webserver in der Lage ist, die von diesem PHP-Skript generierten Inhalte korrekt anzuzeigen. Um dies auszuprobieren, rufen Sie diese Seite in Ihrem Webbrowser auf. Dazu benötigen Sie wieder die öffentliche IP-Adresse Ihres Servers.

Die Adresse, die Sie besuchen möchten, lautet:

http://your_domain/info.php

Die Seite, die Sie aufrufen, sollte in etwa so aussehen:

Ubuntu 18.04 default PHP info

Diese Seite liefert einige grundlegende Informationen über Ihren Server aus der Sicht von PHP. Sie ist nützlich für die Fehlersuche und um sicherzustellen, dass Ihre Einstellungen korrekt angewendet werden.

Wenn Sie diese Seite in Ihrem Browser sehen können, dann funktioniert Ihr PHP wie erwartet.

Sie sollten diese Datei nach diesem Test wahrscheinlich entfernen, da sie Informationen über Ihren Server an unberechtigte Benutzer weitergeben könnte. Führen Sie dazu den folgenden Befehl aus:

  • sudo rm /var/www/your_domain/info.php

Sie können diese Seite jederzeit neu erstellen, wenn Sie später wieder auf die Informationen zugreifen müssen.

Abschluss

Nachdem Sie nun einen LAMP-Stack installiert haben, haben Sie viele Möglichkeiten, was Sie als nächstes tun können. Im Grunde haben Sie eine Plattform installiert, die es Ihnen ermöglicht, die meisten Arten von Websites und Websoftware auf Ihrem Server zu installieren.

Als nächster Schritt sollten Sie sicherstellen, dass die Verbindungen zu Ihrem Webserver gesichert sind, indem Sie sie über HTTPS bereitstellen. Am einfachsten ist es, Let’s Encrypt zu verwenden, um Ihre Website mit einem kostenlosen TLS/SSL-Zertifikat zu sichern.

Weitere beliebte Optionen sind:

  • Installieren Sie WordPress, das beliebteste Content-Management-System im Internet.
  • Richten Sie PHPMyAdmin ein, um Ihre MySQL-Datenbanken vom Webbrowser aus zu verwalten.
  • Lernen Sie, wie Sie SFTP verwenden, um Dateien zu und von Ihrem Server zu übertragen.