So installieren Sie den Linux-, Apache-, MySQL-, PHP (LAMP) -Stack unter Ubuntu 18.04

Eine frühere Version dieses Tutorials wurde vonBrennan Bearnes geschrieben.

Einführung

Ein "LAMP" -Stack ist eine Gruppe von Open-Source-Software, die normalerweise zusammen installiert wird, damit ein Server dynamische Websites und Webanwendungen hosten kann. Dieser Begriff ist eigentlich ein Akronym, das dasLinux-Betriebssystem mit demApache-Webserver darstellt. Die Site-Daten werden in einerMySQL-Datenbank gespeichert, und dynamischer Inhalt wird vonPHP verarbeitet.

In diesem Handbuch installieren wir einen LAMP-Stack auf einem Ubuntu 18.04-Server.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie einen Ubuntu 18.04-Server mit einem nicht root-fähigensudo-fähigen Benutzerkonto und einer grundlegenden Firewall. Dies kann mit unsereninitial server setup guide for Ubuntu 18.04 konfiguriert werden.

[[Schritt 1 - Installieren von Apache und Aktualisieren der Firewall]] == Schritt 1 - Installieren von Apache und Aktualisieren der Firewall

Der Apache-Webserver gehört zu den beliebtesten Webservern der Welt. Es ist gut dokumentiert und wurde in weiten Teilen der Webgeschichte verwendet. Daher ist es eine hervorragende Standardoption für das Hosten einer Website.

Installieren Sie Apache mit Ubuntus Paketmanagerapt:

sudo apt update
sudo apt install apache2

Da dies einsudo-Befehl ist, werden diese Operationen mit Root-Rechten ausgeführt. Sie werden aufgefordert, das Kennwort Ihres regulären Benutzers einzugeben, um Ihre Absichten zu überprüfen.

Sobald Sie Ihr Passwort eingegeben haben, teilt Ihnenapt mit, welche Pakete installiert werden sollen und wie viel zusätzlichen Speicherplatz sie belegen werden. Drücken SieY und drücken SieENTER, um fortzufahren. Die Installation wird fortgesetzt.

Passen Sie die Firewall an, um Webdatenverkehr zuzulassen

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

sudo ufw app list
OutputAvailable applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Wenn Sie sich das Profil vonApache Fullansehen, sollte es zeigen, dass es den Verkehr zu den Ports80 und443 ermöglicht:

sudo ufw app info "Apache Full"
OutputProfile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  80,443/tcp

Zulassen von eingehendem HTTP- und HTTPS-Verkehr für dieses Profil:

sudo ufw allow in "Apache Full"

Sie können sofort eine Stichprobe durchführen, um zu überprüfen, ob alles wie geplant verlaufen ist, indem Sie die öffentliche IP-Adresse Ihres Servers in Ihrem Webbrowser aufrufen (im Hinweis unter der nächsten Überschrift erfahren Sie, wie Ihre öffentliche IP-Adresse lautet, wenn Sie nicht über diese Informationen verfügen bereits):

http://your_server_ip

Sie sehen die Standard-Apache-Webseite von Ubuntu 18.04, die zu Informations- und Testzwecken zur Verfügung steht. Es sollte ungefähr so ​​aussehen:

Ubuntu 18.04 Apache default

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

So finden Sie die öffentliche IP-Adresse Ihres Servers

Wenn Sie die öffentliche IP-Adresse Ihres Servers nicht kennen, gibt es verschiedene Möglichkeiten, diese zu ermitteln. In der Regel ist dies die Adresse, die Sie für die Verbindung zu Ihrem Server über SSH verwenden.

Es gibt verschiedene Möglichkeiten, dies über die Befehlszeile zu tun. Erstens können Sie die Tools voniproute2verwenden, um Ihre IP-Adresse zu erhalten, indem Sie Folgendes eingeben:

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

Dies gibt Ihnen zwei oder drei Zeilen zurück. Alle Adressen sind korrekt, aber Ihr Computer kann möglicherweise nur eine von ihnen verwenden. Probieren Sie also jede einzelne aus.

Eine alternative Methode besteht darin, das Dienstprogrammcurlzu verwenden, um eine externe Partei zu kontaktieren und Ihnen mitzuteilen, wieit Ihren Server sieht. Fragen Sie dazu einen bestimmten Server nach Ihrer IP-Adresse:

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

Unabhängig von der Methode, mit der Sie Ihre IP-Adresse abrufen, geben Sie diese in die Adressleiste Ihres Webbrowsers ein, um die Standard-Apache-Seite anzuzeigen.

[[Schritt-2 -—- Installation von MySQL]] == Schritt 2 - Installation von MySQL

Nachdem Sie Ihren Webserver eingerichtet haben, ist es Zeit, MySQL zu installieren. MySQL ist ein Datenbankverwaltungssystem. Grundsätzlich wird damit der Zugriff auf Datenbanken organisiert und bereitgestellt, in denen Ihre Site Informationen speichern kann.

Verwenden Sie erneutapt, um diese Software zu erwerben und zu installieren:

sudo apt install mysql-server

[.note] #Note: In diesem Fall müssen Siesudo apt update nicht vor dem Befehl ausführen. Dies liegt daran, dass Sie es kürzlich in den obigen Befehlen ausgeführt haben, um Apache zu installieren. Der Paketindex auf Ihrem Computer sollte bereits aktuell sein.
#

Mit diesem Befehl erhalten Sie auch eine Liste der zu installierenden Pakete sowie den Speicherplatz, den sie belegen. Geben SieY ein, um fortzufahren.

Führen Sie nach Abschluss der Installation ein einfaches Sicherheitsskript aus, das mit MySQL vorinstalliert wird. Dadurch werden einige gefährliche Standardeinstellungen entfernt und der Zugriff auf Ihr Datenbanksystem gesperrt. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

sudo mysql_secure_installation

Hier werden Sie gefragt, ob SieVALIDATE PASSWORD PLUGIN konfigurieren möchten.

[.note] #Note: Das Aktivieren dieser Funktion ist eine Art Urteilsaufruf. Wenn diese Option aktiviert ist, werden Kennwörter, die nicht den angegebenen Kriterien entsprechen, von MySQL mit einem Fehler abgelehnt. Dies führt zu Problemen, wenn Sie ein schwaches Kennwort in Verbindung mit einer Software verwenden, die automatisch MySQL-Benutzeranmeldeinformationen konfiguriert, z. B. die Ubuntu-Pakete für phpMyAdmin. Es ist sicher, die Validierung deaktiviert zu lassen, aber Sie sollten immer sichere, eindeutige Kennwörter für Datenbankanmeldeinformationen verwenden.
#

Beantworten SieY mit Ja oder etwas anderem, um fortzufahren, ohne es zu aktivieren.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure 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 Ebene für die Kennwortüberprüfung auszuwählen. Beachten Sie, dass bei der Eingabe von2 für die stärkste Ebene Fehler auftreten, wenn Sie versuchen, ein Kennwort festzulegen, das keine Zahlen, Groß- und Kleinbuchstaben sowie Sonderzeichen enthält oder auf gängigen Wörterbuchwörtern basiert .

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Unabhängig davon, ob SieVALIDATE PASSWORD PLUGIN eingerichtet haben, werden Sie von Ihrem Server als Nächstes aufgefordert, ein Kennwort für den Benutzer von MySQLrootauszuwählen und zu bestätigen. Dies ist ein Administratorkonto in MySQL, das über erweiterte Berechtigungen verfügt. Stellen Sie sich vor, es ähnelt dem Konto vonrootfür den Server selbst (obwohl das Konto, das Sie jetzt konfigurieren, ein MySQL-spezifisches Konto ist). Stellen Sie sicher, dass dies ein sicheres, eindeutiges Kennwort ist, und lassen Sie es nicht leer.

Wenn Sie die Kennwortüberprüfung aktiviert haben, wird die Kennwortstärke für das soeben eingegebene Root-Kennwort angezeigt, und Ihr Server fragt, ob Sie dieses Kennwort ändern möchten. Wenn Sie mit Ihrem aktuellen Passwort zufrieden sind, geben Sie an der EingabeaufforderungN für "Nein" ein:

Using existing password for root.

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

Drücken Sie für den Rest der FragenY und drücken Sie bei jeder Eingabeaufforderung die TasteENTER. Dadurch werden einige anonyme Benutzer und die Testdatenbank entfernt, Remote-Root-Anmeldungen deaktiviert und diese neuen Regeln geladen, sodass MySQL die von Ihnen vorgenommenen Änderungen sofort berücksichtigt.

Beachten Sie, dass in Ubuntu-Systemen, auf denen MySQL 5.7 (und spätere Versionen) ausgeführt wird, der MySQL-Benutzer vonroottandardmäßig mit dem Pluginauth_socketund nicht mit einem Kennwort authentifiziert wird. Dies ermöglicht in vielen Fällen eine größere Sicherheit und Benutzerfreundlichkeit, kann jedoch auch kompliziert sein, wenn Sie einem externen Programm (z. B. phpMyAdmin) den Zugriff auf den Benutzer erlauben müssen.

Wenn Sie beim Herstellen einer Verbindung zu MySQL lieber ein Kennwort alsroot verwenden möchten, müssen Sie die Authentifizierungsmethode vonauth_socket aufmysql_native_password umstellen. Öffnen Sie dazu die MySQL-Eingabeaufforderung von Ihrem Terminal aus:

sudo mysql

Überprüfen Sie als Nächstes mit dem folgenden Befehl, welche Authentifizierungsmethode jedes Ihrer MySQL-Benutzerkonten verwendet:

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 sich der Benutzer vonroottatsächlich mit dem Pluginauth_socketauthentifiziert. Führen Sie den folgenden BefehlALTER USERaus, um das Konto vonrootfür die Authentifizierung mit einem Kennwort zu konfigurieren. Stellen Sie sicher, dass Siepassword in ein sicheres Passwort Ihrer Wahl ändern:

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

Führen Sie dannFLUSH PRIVILEGES aus, um den Server anzuweisen, die Grant-Tabellen neu zu laden und Ihre neuen Änderungen in Kraft zu setzen:

FLUSH PRIVILEGES;

Überprüfen Sie die von jedem Ihrer Benutzer verwendeten Authentifizierungsmethoden erneut, um sicherzustellen, dassroot nicht mehr mit demauth_socket-Plugin authentifiziert wird:

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 vonrootjetzt mit einem Kennwort authentifiziert. Sobald Sie dies auf Ihrem eigenen Server bestätigt haben, können Sie die MySQL-Shell verlassen:

exit

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

[[Schritt-3 -—- Installation von PHP]] == Schritt 3 - Installation von PHP

PHP ist die Komponente Ihres Setups, die Code verarbeitet, um dynamischen Inhalt anzuzeigen. Es kann Skripts ausführen, eine Verbindung zu Ihren MySQL-Datenbanken herstellen, um Informationen abzurufen, und den verarbeiteten Inhalt zur Anzeige an Ihren Webserver übergeben.

Nutzen Sie erneut dasapt-System, um PHP zu installieren. Fügen Sie diesmal außerdem einige Hilfspakete hinzu, damit PHP-Code unter dem Apache-Server ausgeführt werden und mit Ihrer MySQL-Datenbank kommunizieren kann:

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

Dies sollte PHP ohne Probleme installieren. Wir werden dies gleich testen.

In den meisten Fällen möchten Sie die Art und Weise ändern, in der Apache Dateien bereitstellt, wenn ein Verzeichnis angefordert wird. Wenn ein Benutzer ein Verzeichnis vom Server anfordert, sucht Apache derzeit zunächst nach einer Datei mit dem Namenindex.html. Wir möchten den Webserver anweisen, PHP-Dateien anderen vorzuziehen. Lassen Sie Apache daher zuerst nach einerindex.php-Datei suchen.

Geben Sie dazu diesen Befehl ein, um die Dateidir.confin einem Texteditor mit Root-Rechten zu öffnen:

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

Es wird so aussehen:

/etc/apache2/mods-enabled/dir.conf


    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

Verschieben Sie die PHP-Indexdatei (oben hervorgehoben) an die erste Position nach der Spezifikation vonDirectoryIndexwie folgt:

/etc/apache2/mods-enabled/dir.conf


    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Wenn Sie fertig sind, speichern und schließen Sie die Datei, indem SieCTRL+X drücken. Bestätigen Sie das Speichern, indem SieY eingeben und dannENTER drücken, um den Speicherort der Datei zu überprüfen.

Starten Sie danach den Apache-Webserver neu, damit Ihre Änderungen erkannt werden. Tun Sie dies, indem Sie Folgendes eingeben:

sudo systemctl restart apache2

Sie können den Status des Dienstesapache2auch mitsystemctl ü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 SieQ, um diese Statusausgabe zu verlassen.

Um die Funktionalität von PHP zu verbessern, haben Sie die Möglichkeit, einige zusätzliche Module zu installieren. Um die verfügbaren Optionen für PHP-Module und -Bibliotheken anzuzeigen, leiten Sie die Ergebnisse vonapt search inless weiter, einen Pager, mit dem Sie durch die Ausgabe anderer Befehle scrollen können:

apt search php- | less

Verwenden Sie die Pfeiltasten, um nach oben und unten zu scrollen, und drücken SieQ, um den Vorgang zu beenden.

Das Ergebnis sind alle optionalen Komponenten, die Sie installieren können. Es gibt Ihnen eine kurze Beschreibung für jede:

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
  Tracks usage of TCP/IP and builds html files with graphs

bluefish/bionic 2.2.10-1 amd64
  advanced Gtk+ text editor for web and software development

cacti/bionic 1.1.38+ds1-1 all
  web interface for graphing of monitoring systems

ganglia-webfrontend/bionic 3.6.1-3 all
  cluster monitoring toolkit - web front-end

golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all
  PHP-like Compression and Archive Extensions in Go

haserl/bionic 0.9.35-2 amd64
  CGI scripting program for embedded environments

kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
  transitional package for kdevelop-php

kdevelop-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 ausführliche Beschreibung des Pakets ansehen, indem Sie Folgendes eingeben:

apt show package_name

Es wird viel ausgegeben, mit einem Feld namensDescription, das eine längere Erklärung der vom Modul bereitgestellten Funktionen enthält.

Um beispielsweise herauszufinden, was dasphp-cli-Modul tut, können Sie Folgendes eingeben:

apt show php-cli

Zusammen mit einer großen Menge anderer Informationen finden Sie Folgendes:

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 nach der Recherche entscheiden, dass Sie ein Paket installieren möchten, können Sie dies mit dem Befehlapt install tun, wie Sie es für die andere Software getan haben.

Wenn Sie entschieden haben, dassphp-cli etwas ist, das Sie benötigen, 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 Modul durch ein Leerzeichen getrennt auflisten und dem Befehlapt installfolgendermaßen folgen:

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, auf dem Sie die Konfigurationsdetails Ihres Servers speichern können.

[[Schritt 4 - Einrichten von virtuellen Hosts empfohlen]] == Schritt 4 - Einrichten von virtuellen Hosts (empfohlen)

Bei Verwendung des Apache-Webservers können Sievirtual hosts (ähnlich wie Serverblöcke in Nginx) verwenden, um Konfigurationsdetails zu kapseln und mehr als eine Domäne von einem einzelnen Server zu hosten. Wir werden eine Domain namensyour_domain einrichten, aber Sie solltenreplace this with your own domain name. Weitere Informationen zum Einrichten eines Domainnamens mit DigitalOcean finden Sie in unserenIntroduction to DigitalOcean DNS.

In Apache unter Ubuntu 18.04 ist standardmäßig ein Serverblock aktiviert, der für die Bereitstellung von Dokumenten aus dem Verzeichnis/var/www/htmlkonfiguriert ist. Dies funktioniert zwar gut für eine einzelne Site, kann jedoch unhandlich werden, wenn Sie mehrere Sites hosten. Anstatt/var/www/html zu ändern, erstellen wir eine Verzeichnisstruktur innerhalb von/var/www für unsereyour_domain-Site, wobei/var/www/html als Standardverzeichnis beibehalten wird, das bereitgestellt werden soll, wenn eine Clientanforderung dies nicht tut. ' Nicht mit anderen Websites übereinstimmen.

Erstellen Sie das Verzeichnis füryour_domain wie folgt:

sudo mkdir /var/www/your_domain

Weisen Sie als Nächstes den Besitz des Verzeichnisses mit der Umgebungsvariablen$USERzu:

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

Die Berechtigungen Ihrer Webstämme sollten korrekt sein, wenn Sie den Wert vonunmasknicht geändert haben. Sie können dies jedoch sicherstellen, indem Sie Folgendes eingeben:

sudo chmod -R 755 /var/www/your_domain

Erstellen Sie als Nächstes eine Beispielseite fürindex.htmlmitnano oder Ihrem bevorzugten Editor:

nano /var/www/your_domain/index.html

Fügen Sie im Inneren das folgende HTML-Beispiel hinzu:

/var/www/your_domain/index.html


    
        Welcome to Your_domain!
    
    
        

Success! The your_domain server block is working!

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

Damit Apache diesen Inhalt bereitstellen kann, muss eine virtuelle Host-Datei mit den richtigen Anweisungen erstellt werden. Anstatt die Standardkonfigurationsdatei bei/etc/apache2/sites-available/000-default.conf direkt zu ändern, erstellen wir eine neue bei/etc/apache2/sites-available/your_domain.conf:

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

Fügen Sie den folgenden Konfigurationsblock ein, der dem Standardblock ähnelt, jedoch für unser neues Verzeichnis und unseren neuen Domänennamen aktualisiert wurde:

/etc/apache2/sites-available/your_domain.conf


    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

Beachten Sie, dass wir dieDocumentRoot in unserem neuen Verzeichnis undServerAdmin in einer E-Mail aktualisiert haben, auf die der Site-Administrator vonyour_domainzugreifen kann. Wir haben außerdem zwei Anweisungen hinzugefügt:ServerName, mit denen die Basisdomäne festgelegt wird, die für diese virtuelle Hostdefinition übereinstimmen soll, undServerAlias, mit der weitere Namen definiert werden, die übereinstimmen sollen, als wären sie der Basisname.

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

Aktivieren Sie die Datei mit dem Toola2ensite:

sudo a2ensite your_domain.conf

Deaktivieren Sie die in000-default.conf definierte Standardwebsite:

sudo a2dissite 000-default.conf

Als Nächstes testen wir, ob Konfigurationsfehler vorliegen:

sudo apache2ctl configtest

Sie sollten die folgende Ausgabe sehen:

OutputSyntax OK

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

sudo systemctl restart apache2

Apache sollte nun Ihren Domainnamen bedienen. Sie können dies testen, indem Sie zuhttp://your_domain navigieren, wo Sie Folgendes sehen sollten:

Apache virtual host example

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

[[Schritt-5 - Testen der PHP-Verarbeitung auf Ihrem Webserver]] == Schritt 5 - Testen der PHP-Verarbeitung auf Ihrem Webserver

Um zu testen, ob Ihr System ordnungsgemäß für PHP konfiguriert ist, erstellen Sie ein sehr einfaches PHP-Skript namensinfo.php. Damit Apache diese Datei finden und korrekt bereitstellen kann, muss sie in Ihrem Webstammverzeichnis gespeichert werden.

Erstellen Sie die Datei im Webstamm, den Sie im vorherigen Schritt erstellt haben, indem Sie Folgendes ausführen:

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

Dies öffnet eine leere Datei. Fügen Sie den folgenden Text (gültiger PHP-Code) in die Datei ein:

info.php

Wenn Sie fertig sind, speichern und schließen Sie die Datei.

Jetzt können Sie testen, ob Ihr Webserver die von diesem PHP-Skript erzeugten Inhalte korrekt anzeigen kann. Um dies auszuprobieren, besuchen Sie diese Seite in Ihrem Webbrowser. Sie benötigen die öffentliche IP-Adresse Ihres Servers erneut.

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

http://your_domain/info.php

Die Seite, zu der Sie kommen, sollte ungefähr so ​​aussehen:

Ubuntu 18.04 default PHP info

Diese Seite enthält einige grundlegende Informationen zu Ihrem Server aus Sicht von PHP. Dies ist nützlich für das Debuggen und um sicherzustellen, dass Ihre Einstellungen korrekt angewendet werden.

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

Sie möchten diese Datei wahrscheinlich nach diesem Test entfernen, da sie möglicherweise nicht autorisierten Benutzern Informationen über Ihren Server liefert. 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 erneut auf die Informationen zugreifen müssen.

Fazit

Nachdem Sie nun einen LAMP-Stack installiert haben, haben Sie viele Möglichkeiten, was Sie als Nächstes tun möchten. Grundsätzlich haben Sie eine Plattform installiert, mit der Sie die meisten Arten von Websites und Websoftware auf Ihrem Server installieren können.

Als unmittelbaren nächsten Schritt sollten Sie sicherstellen, dass die Verbindungen zu Ihrem Webserver gesichert sind, indem Sie sie über HTTPS bereitstellen. Die einfachste Option ist hieruse Let’s Encrypt, um Ihre Site mit einem kostenlosen TLS / SSL-Zertifikat zu sichern.

Einige andere beliebte Optionen sind: