So installieren Sie den Linux-, Apache-, MySQL-, PHP (LAMP) -Stack unter CentOS 7

Einführung

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

In diesem Handbuch wird ein LAMP-Stack auf einem CentOS 7 VPS installiert. CentOS wird unsere erste Anforderung erfüllen: ein Linux-Betriebssystem.

[.note] #Note: Der LAMP-Stack kann automatisch auf Ihrem Droplet installiert werden, indem beim Startenthis script zu den Benutzerdaten hinzugefügt werden. Schauen Sie sichthis tutorial an, um mehr über Droplet-Benutzerdaten zu erfahren.
#

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, sollten Sie auf Ihrem Server ein separates Benutzerkonto einrichten, das kein Root-Konto ist. Sie können dies lernen, indem Sie die Schritte 1 bis 4 ininitial server setup for CentOS 7ausführen.

[[Schritt eins - Installieren von Apache]] == Schritt Eins - Installieren von Apache

Der Apache-Webserver ist derzeit der beliebteste Webserver der Welt. Daher ist er eine hervorragende Standardoption für das Hosten einer Website.

Wir können Apache einfach mit dem CentOS-Paketmanageryum installieren. Mit einem Paketmanager können wir die meiste Software problemlos aus einem von CentOS verwalteten Repository installieren. Weitere Informationen zuhow to use yumfinden Sie hier.

Für unsere Zwecke können wir mit den folgenden Befehlen beginnen:

sudo yum install httpd

Da wir den Befehlsudo verwenden, werden diese Operationen mit Root-Rechten ausgeführt. Sie werden aufgefordert, das Kennwort Ihres regulären Benutzers einzugeben, um Ihre Absichten zu überprüfen.

Anschließend wird Ihr Webserver installiert.

Nach der Installation können Sie Apache auf Ihrem VPS starten:

sudo systemctl start httpd.service

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_address/

Sie sehen die standardmäßige CentOS 7 Apache-Webseite, die zu Informations- und Testzwecken zur Verfügung steht. Es sollte ungefähr so ​​aussehen:

CentOS 7 Apache default

Wenn Sie diese Seite sehen, ist Ihr Webserver jetzt korrekt installiert.

Das letzte, was Sie tun möchten, ist Apache zu aktivieren, um beim Booten zu starten. Verwenden Sie dazu den folgenden Befehl:

sudo systemctl enable httpd.service

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.

Über die Befehlszeile finden Sie einige Möglichkeiten. Zunächst können Sie die Tools voniproute2verwenden, um Ihre Adresse zu erhalten, indem Sie Folgendes eingeben:

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

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

Eine alternative Methode besteht darin, eine externe Partei zu verwenden, um Ihnen mitzuteilen, wieit Ihren Server sieht. Sie können dies tun, indem Sie einen bestimmten Server nach Ihrer IP-Adresse fragen:

curl http://icanhazip.com

Unabhängig von der Methode, mit der Sie Ihre IP-Adresse abrufen, können Sie diese in die Adressleiste Ihres Webbrowsers eingeben, um zu Ihrem Server zu gelangen.

[[Schritt zwei - Installation von mysql-mariadb]] == Schritt zwei - Installation von MySQL (MariaDB)

Nachdem wir unseren Webserver eingerichtet haben, ist es an der Zeit, MariaDB, einen MySQL-Ersatz, zu installieren. MariaDB ist ein von der Community entwickelter Zweig des relationalen Datenbankverwaltungssystems MySQL. Grundsätzlich wird damit der Zugriff auf Datenbanken organisiert und bereitgestellt, in denen auf unserer Website Informationen gespeichert werden können.

Auch hier können wiryum verwenden, um unsere Software zu erwerben und zu installieren. Dieses Mal werden wir auch einige andere "Hilfspakete" installieren, die uns dabei unterstützen, dass unsere Komponenten miteinander kommunizieren:

sudo yum install mariadb-server mariadb

Nach Abschluss der Installation müssen wir MariaDB mit dem folgenden Befehl starten:

sudo systemctl start mariadb

Nachdem unsere MySQL-Datenbank ausgeführt wird, möchten wir ein einfaches Sicherheitsskript ausführen, das einige gefährliche Standardeinstellungen entfernt und den Zugriff auf unser Datenbanksystem ein wenig sperrt. Starten Sie das interaktive Skript, indem Sie Folgendes ausführen:

sudo mysql_secure_installation

In der Eingabeaufforderung werden Sie nach Ihrem aktuellen Root-Passwort gefragt. Da Sie gerade MySQL installiert haben, werden Sie höchstwahrscheinlich keine haben. Lassen Sie das Feld leer, indem Sie die Eingabetaste drücken. Anschließend werden Sie gefragt, ob Sie ein Root-Passwort festlegen möchten. Geben SieY ein und befolgen Sie die Anweisungen:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
 ... Success!

Bei den restlichen Fragen drücken Sie einfach bei jeder Eingabeaufforderung die EINGABETASTE, um die Standardwerte zu akzeptieren. Dadurch werden einige Beispielbenutzer und -datenbanken entfernt, Remotestammanmeldungen deaktiviert und diese neuen Regeln geladen, sodass MySQL die von uns vorgenommenen Änderungen sofort berücksichtigt.

Das letzte, was Sie tun möchten, ist MariaDB zu aktivieren, um beim Booten zu starten. Verwenden Sie dazu den folgenden Befehl:

sudo systemctl enable mariadb.service

Jetzt ist Ihr Datenbanksystem eingerichtet und wir können weitermachen.

[[Schritt drei - Installieren von PHP]] == Schritt Drei - Installieren Sie PHP

PHP ist die Komponente unseres Setups, die Code verarbeitet, um dynamischen Inhalt anzuzeigen. Es kann Skripte ausführen, eine Verbindung zu unseren MySQL-Datenbanken herstellen, um Informationen abzurufen, und den verarbeiteten Inhalt an unseren Webserver übergeben, um ihn anzuzeigen.

Wir können dasyum-System erneut nutzen, um unsere Komponenten zu installieren. Wir werden auch das Paket php-mysql einbinden:

sudo yum install php php-mysql

Dies sollte PHP ohne Probleme installieren. Wir müssen den Apache-Webserver neu starten, damit er mit PHP funktioniert. Sie können dies tun, indem Sie Folgendes eingeben:

sudo systemctl restart httpd.service

Installieren Sie PHP-Module

Um die Funktionalität von PHP zu verbessern, können wir optional einige zusätzliche Module installieren.

Um die verfügbaren Optionen für PHP-Module und -Bibliotheken anzuzeigen, können Sie Folgendes in Ihr System eingeben:

yum search php-

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

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .

Um weitere Informationen zu den Funktionen der einzelnen Module zu erhalten, können Sie entweder im Internet suchen oder die ausführliche Beschreibung im Paket lesen, indem Sie Folgendes eingeben:

yum info 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-fpm-Modul tut, können Sie Folgendes eingeben:

yum info php-fpm

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

. . .
Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
            : implementation with some additional features useful for sites of
            : any size, especially busier sites.

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

Wenn wir entscheiden würden, dassphp-fpm etwas ist, das wir brauchen, könnten wir Folgendes eingeben:

sudo yum install php-fpm

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 Befehlyum installfolgendermaßen folgen:

sudo yum install package1 package2 ...

Zu diesem Zeitpunkt ist Ihr LAMP-Stack installiert und konfiguriert. Wir sollten unser PHP trotzdem testen.

[[Schritt 4 - Test-PHP-Verarbeitung auf Ihrem Webserver]] == Schritt 4 - Testen Sie die PHP-Verarbeitung auf Ihrem Webserver

Um zu testen, ob unser System richtig für PHP konfiguriert ist, können wir ein sehr einfaches PHP-Skript erstellen.

Wir werden dieses Skriptinfo.php nennen. Damit Apache die Datei finden und korrekt bereitstellen kann, muss sie in einem bestimmten Verzeichnis gespeichert werden, das als "Web-Root" bezeichnet wird.

In CentOS 7 befindet sich dieses Verzeichnis bei/var/www/html/. Wir können die Datei an diesem Ort erstellen, indem wir Folgendes eingeben:

sudo vi /var/www/html/info.php

Dies öffnet eine leere Datei. Wir möchten den folgenden Text, bei dem es sich um gültigen PHP-Code handelt, in die Datei einfügen:

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

Wenn Sie eine Firewall ausführen, führen Sie die folgenden Befehle aus, um HTTP- und HTTPS-Datenverkehr zuzulassen:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

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

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

http://your_server_IP_address/info.php

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

CentOS 7 default PHP info

Auf dieser Seite finden Sie im Wesentlichen 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 dies erfolgreich war, 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. Dazu können Sie Folgendes eingeben:

sudo rm /var/www/html/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.