Website-Suche

So installieren und konfigurieren Sie LEMP unter Debian 8 (Jessie)


Einer der häufigsten Gründe für die Einrichtung eines Linux-Systems ist das Hosten einer oder mehrerer Websites. Laut der NetCraft.com-Umfrage vom Februar 2016 unter den 1 Million meistbesuchten Websites der Welt laufen etwa 15,60% von ihnen auf Nginx.

Gepaart mit der hohen Wahrscheinlichkeit, dass dynamische Inhalte sowie eine Art Datenbank-Backend für die Websites bereitgestellt werden, besteht für einen Administrator die Möglichkeit, LEMP-Server einzurichten ist sowohl für Arbeitssuchende als auch für Arbeitgeber von großem Nutzen!

In diesem Tutorial werden die Grundlagen der Installation und Konfiguration eines Linux-Servers (insbesondere Debian 8 Jessie) erläutert, der als LEMP-Server fungiert.

Was ist LEMP-Server?

Tolle Frage! Wie bei den meisten Dingen in der Computerwelt ist LEMP die Abkürzung für Linux, Nginx, MySQL und PHP.

Dieses Akronym wird üblicherweise zur Referenzierung von Softwaresammlungen auf einem Webserver verwendet. Dieses Tutorial führt Sie zunächst durch die Einrichtung von LEMP, insbesondere von MySQL und PHP.

Bevor wir uns mit den Konfigurationsaspekten der Systeme befassen, ist es wichtig, etwas über Nginx zu wissen.

Was ist Nginx?

Nginx begann im Jahr 2002, als die Computerwelt zu erkennen begann, dass Websites mit zehntausend oder mehr gleichzeitigen Verbindungen eine sehr reale Möglichkeit waren, und Nginx wurde daher von Grund auf neu entwickelt, um dieses Problem anzugehen.

Installieren und Konfigurieren von MySQL und PHP

1. In diesem ersten Abschnitt wird Debian als MySQL- und PHP-Server behandelt. Der Linux-Teil des LEMP-Servers sollte bereits durch die Installation von Debian erledigt sein! Sollten Sie dennoch Bedarf an einer Anleitung zur Installation von Debian haben, lesen Sie bitte den folgenden Artikel auf TecMint:

  1. Installation von Debian 8 Jessie

Sobald Debian einsatzbereit ist, kann die Installation der restlichen erforderlichen Software mit einem schnellen Befehl mithilfe des Metapakets „apt“ abgeschlossen werden.

apt-get install mysql-server-5.5 php5-mysql php5

Abhängig von der Systemhardware und der Internetverbindung kann dieser Vorgang einige Zeit dauern. Zum jetzigen Zeitpunkt waren für eine Neuinstallation von Debian Jessie mit allen installierten Updates etwa 70 MB an Archiven aus den Repositorys erforderlich (nicht so schlimm, wenn man bedenkt, was der Server tun wird, wenn die Dinge erledigt sind)! Während des Installationsvorgangs fordert das System den Benutzer möglicherweise auf, ein SQL-Root-Benutzerkennwort festzulegen. Dieses unterscheidet sich vom tatsächlichen Passwort des Root-Benutzers und sollte aus Sicherheitsgründen wahrscheinlich anders bleiben.

2. Sobald apt die Installation der gesamten Software abgeschlossen hat, sind die Basisdienste betriebsbereit. Wenn Sie hier jedoch anhalten, wäre das Tutorial sehr kurz! Lassen Sie uns also etwas tiefer in die Konfiguration der einzelnen installierten Softwareteile eintauchen, beginnend mit MySQL.

3. Nach der MySQL-Installation wird häufig empfohlen, dass der SQL-Server bei der Standardinstallation einige grundlegende Wartungsarbeiten durchführt. Dies lässt sich ganz einfach mit dem Dienstprogramm mysql_secure_installation bewerkstelligen.

Dieser Befehl wird einfach über die Befehlszeile ausgeführt und fordert den Benutzer auf, Dinge wie anonyme Benutzer zu entfernen, Datenbanken zu testen und die Möglichkeit zur Remote-Root-Benutzeranmeldung bei der SQL-Datenbank zu entfernen.

mysql_secure_installation

Dieser Befehl startet eine interaktive Eingabeaufforderung, die Fragen zu den oben genannten Themen stellt. Da apt bereits zur Eingabe eines MySQL-Root-Passworts aufgefordert hat, muss dieses Passwort eingegeben werden, um Änderungen vorzunehmen. Da das Root-Passwort bereits festgelegt wurde, kann Nein die Antwort auf die Aufforderung zum Ändern des Root-Passworts auf dem MySQL-Server sein.

4. Die nächsten Fragen beziehen sich auf anonyme Benutzer, die „Test“-Datenbank und den Root-Zugriff auf die Datenbank aus der Ferne. Normalerweise ist es sicher, alle diese Fragen mit Ja zu beantworten, es sei denn, es gibt einen bestimmten Grund, warum das Setup eine dieser Optionen intakt lassen müsste.

HINWEIS: Möglicherweise liegt ein Fehler namens „test“ vor, bei dem das Löschen einer Datenbank fehlschlägt. Machen Sie sich darüber keine Sorgen, da die Datenbank möglicherweise nicht gelöscht wird ist möglicherweise nicht vorhanden und das Skript wird trotzdem weiterhin das tun, was erforderlich ist.

An diesem Punkt ist MySQL einsatzbereit. Ohne zu wissen, welche Datenbanken oder Benutzer benötigt werden, ist es schwierig, viel mehr Konfigurationen vorzunehmen. Die meisten Websites erstellen jedoch häufig automatisch die erforderlichen Datenbanken und Benutzer, wenn die Software installiert wird. Dies hängt jedoch stark von der Software ab und erfordert einen kurzen Blick auf die README-Dateien oder Installationsanweisungen der Software.

5. Nachdem MySQL nun konfiguriert ist, können wir fortfahren und einige grundlegende PHP-Einstellungen für diesen bestimmten Server einrichten. Während es für PHP eine Menge Einstellungen gibt, die man manipulieren kann, gibt es nur ein paar grundlegende, die fast immer geändert werden sollten. Die PHP-Konfigurationsdatei befindet sich unter /etc/php5/fpm/php.ini. Öffnen Sie diese Datei mit einem beliebigen Texteditor.

nano /etc/php5/fpm/php.ini

Suchen Sie mit den Suchfunktionen von Nano Strg+W nach der Zeichenfolge „memory_limit“ (ohne Anführungszeichen). Bei einer Standardinstallation ist diese Zeile bereits auf 128 MB eingestellt. Sollte eine Anwendung jedoch mehr benötigen, kann diese Zeile geändert werden, um den Anforderungen gerecht zu werden.

Eine weitere wichtige zu überprüfende Option ist die „max_execution_time“, die standardmäßig ebenfalls auf 30 eingestellt ist. Sollte eine Anwendung mehr erfordern, kann diese Option geändert werden. Manche Leute ziehen es vor, auch die PHP-Protokollierung in einer speziellen Datei/einem speziellen Verzeichnis einzurichten. Sollte dies erforderlich sein, suchen Sie nach der Zeichenfolge „error_log =“ und kommentieren Sie die Zeile dann aus, indem Sie das standardmäßig vorhandene Semikolon entfernen.

An dieser Stelle kann am Ende der Zeile ein Wert für die Protokolldatei hinzugefügt werden. Stellen Sie sicher, dass der Pfad auf dem System vorhanden ist. Wenn Sie alle erforderlichen Änderungen an der Datei php.ini vorgenommen haben, speichern Sie die Änderungen und beenden Sie den Texteditor. Zu diesem Zeitpunkt sind MySQL und PHP5 bereit, mit dem Hosten von Websites zu beginnen. Jetzt ist es an der Zeit, Nginx zu konfigurieren.

Nginx installieren und konfigurieren

6. Nginx (Engine X) ist ein alternativer und sehr leistungsstarker Webserver. In diesem Abschnitt dieses Tutorials erfahren Sie, wie Sie eine Webseite einrichten, die von Nginx gehostet werden soll. Der erste Schritt zur Konfiguration von Nginx besteht darin, die erforderlichen Pakete mit dem Dienstprogramm „apt“ zu installieren.

apt-get install nginx

Unter der Annahme, dass alle Abhängigkeiten erfüllt sind, sollte die Navigation zur IP-Adresse des Servers in einem Webbrowser zur Standard-Nginx-Website führen.

HINWEIS: Es gibt Fälle, in denen der Server nach der Installation von Nginx nicht automatisch gestartet wird. Wenn die Navigation zur IP-Adresse des Servers in einem Webbrowser nicht zur folgenden Seite führt, geben Sie den folgenden Befehl ein, um sicherzustellen, dass Nginx gestartet wird.

service nginx start

Nginx hostet nun erfolgreich die Standardseite. Während die Debian-Standardseite eine auffällige Website ist, möchten die meisten Benutzer etwas Benutzerdefiniertes hosten.

7. Die nächsten Schritte umfassen die Einrichtung von Nginx zum Hosten einer anderen Website. Nginx verfügt, ähnlich wie Apache 2, über ein eigenes Konfigurationsverzeichnis unter /etc/nginx. Wechseln Sie mit dem Dienstprogramm cd in dieses Verzeichnis.

cd /etc/nginx

Für dieses Tutorial gibt es mehrere wichtige Dateien und Verzeichnisse zum Einrichten einer Website mit Nginx. Die ersten beiden Verzeichnisse, die wichtig sind, sind die Verzeichnisse „sites-available“ und „sites-enabled“. Ähnlich wie Apache 2 verwendet Nginx Konfigurationsdateien für jede Site im Verzeichnis „sites-available“, die, wenn sie aktiv sind, symbolisch mit dem Verzeichnis „sites-enabled“ verknüpft werden.

Um die Standard-Site loszuwerden, müssen Sie zunächst den symbolischen Link in „Sites-Enabled“ entfernen.

rm sites-enabled/default

8. Jetzt muss eine neue Site-Konfigurationsdatei erstellt und verknüpft werden, damit Nginx die Seite bereitstellen kann. Das Erstellen der Site-Konfigurationsdatei kann durch Kopieren und Ändern der Standard-Site-Konfiguration vereinfacht werden.

cp sites-available/default sites-available/tecmint-test

Dadurch wird eine neue Site-Konfigurationsdatei erstellt, mit der Sie arbeiten können. Öffnen Sie diese Datei in einem Texteditor, um den Pfad zu ändern, unter dem Nginx Dateien bereitstellt.

nano sites-available tecmint-test

In dieser Datei müssen mehrere wichtige Optionen geändert werden, damit Nginx eine Site bedienen kann. Die erste ist die Zeile, die mit „root“ beginnt, da diese Zeile definiert, wo Nginx Dateien für diese bestimmte Site bereitstellen soll.

In diesem Tutorial wird die Standardeinstellung „/var/www/html“ beibehalten und die bereitzustellenden HTML-Dateien einfach in diesem Verzeichnis abgelegt. Ändern Sie diesen Pfad jedoch unbedingt, wenn auf diesem Server mehrere Sites oder eine benutzerdefinierte Konfiguration vorhanden sein sollen.

Die nächste wichtige Zeile ist die Zeile „index“. Da es in diesem Artikel um die LEMP-Installation geht und eine Site möglicherweise PHP-Seiten bereitstellt, muss Nginx darüber informiert werden, dass die Standardseite möglicherweise eine PHP-Seite ist. Fügen Sie dazu einfach „index.php“ am Ende der Indexliste der Dateien hinzu.

Bevor die neue Site aktiviert wird, muss etwas vorhanden sein, das Nginx bereitstellen kann. Die Standardindexseite ist bereits vorhanden. Um jedoch zu bestätigen, dass eine andere Website funktioniert, ersetzen wir den Inhalt der Standardseite durch etwas anderes.

echo “It's ALIVE!” > /var/www/html/index.html

9. Der nächste Schritt besteht darin, die neue Site zu aktivieren, indem die soeben erstellte Konfigurationsdatei mit dem Verzeichnis sites-enabled verknüpft wird. Dies lässt sich ganz einfach mit dem Befehl ln und dem anschließenden Neuladen der Nginx-Konfiguration mit dem Dienstprogramm bewerkstelligen.

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

Zu diesem Zeitpunkt sollte Nginx die neue „einfache“ Webseite bereitstellen. Dies kann durch Navigieren zur IP-Adresse des Servers über einen Webbrowser bestätigt werden!

Auch in diesem Artikel ging es um sehr einfache Konfigurationen von LEMP. Die meisten Standorte erfordern eine weitere Konfiguration aller beteiligten Teile, aber die Konfigurationsoptionen können in die Tausende gehen! Viel Glück bei der Einrichtung, die Sie jemals zum Hosten von Websites gewählt haben.