LAMPE sind die Akronyme von Linux, Apache, MySQL und PHP . Apache ist der Webserver zum Bereitstellen von Dateien über das HTTP-Protokoll. MySQL ist der beliebte Datenbankserver. PHP ist die Programmiersprache für die Entwicklung von Webanwendungen. Mit diesen Anwendungen können wir einen vollwertigen Webserver erstellen. Die gebräuchlichste Art, PHP-Anwendungen mit Apache auszuführen, ist die Verwendung des Moduls mod_php. Die gute Alternative ist auch die Verwendung von PHP-FPM, das gegenüber diesem mehrere Vorteile hat. Die Standardinstallation auf CentOS 8 verwendet PHP-FPM, um PHP-Dateien zu verarbeiten.
Dieses Tutorial hilft Ihnen bei der Installation und Konfiguration von LAMP (Linux, Apache, MySQL und PHP) auf CentOS 8- und RHEL 8-Linux-Systemen.
Nützlicher Link:
- Richten Sie Let’s Encrypt SSL mit Apache auf CentOS 8 ein
- So richten Sie nur SFTP-Benutzer unter CentOS 8 ein
Voraussetzungen
- Neu installierter CentOS 8-Rechner.
- Schließen Sie die Ersteinrichtung des Servers ab
- Shell-Zugriff mit sudo-Berechtigungen
Schritt 1 – Apache installieren
Die Apache-Webserverpakete sind unter dem Standard-AppStream-Repository auf CentOS 8 verfügbar. Sie müssen nur den DNF-Cache aktualisieren und Pakete mit den folgenden Befehlen installieren.
sudo dnf update sudo dnf install httpd httpd-tools
Das Paket mod_ssl bietet die Funktionalität zur Verwendung eines SSL-Zertifikats für sicheres HTTP. Aktivieren Sie nach der Installation den httpd-Dienst und starten Sie.
sudo systemctl enable httpd.service sudo systemctl start httpd.service
Überprüfen Sie nun den Status des Apache-Dienstes:
sudo systemctl status httpd.service
Ausgabe:
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sat 2020-03-22 04:27:24 EDT; 5s ago Docs: man:httpd.service(8) Main PID: 8644 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 8918) Memory: 21.5M CGroup: /system.slice/httpd.service ├─8644 /usr/sbin/httpd -DFOREGROUND ├─8650 /usr/sbin/httpd -DFOREGROUND ├─8651 /usr/sbin/httpd -DFOREGROUND ├─8652 /usr/sbin/httpd -DFOREGROUND └─8653 /usr/sbin/httpd -DFOREGROUND Mar 22 04:27:23 tecadmin systemd[1]: Starting The Apache HTTP Server... Mar 22 04:27:24 tecadmin systemd[1]: Started The Apache HTTP Server. Mar 22 04:27:24 tecadmin httpd[8644]: Server configured, listening on: port 80
Schritt 2 – MySQL-Server installieren
Die neuesten MySQL 8-Pakete sind im AppStrem-Repository unter CentOS 8 verfügbar. Verwenden Sie den folgenden Befehl, um den MySQL-Server einschließlich der erforderlichen Pakete auf Ihrem System zu installieren.
sudo dnf -y install @mysql
Aktivieren Sie nach Abschluss der Installation den automatischen Start des MySQL-Dienstes beim Systemstart. Starten Sie den Dienst auch zum ersten Mal manuell.
sudo systemctl enable mysqld.service sudo systemctl start mysqld.service
Überprüfen Sie dann den aktuellen Status des Dienstes mit dem folgenden Befehl:
sudo systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-22 02:49:33 EDT; 5min ago Process: 5841 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 5706 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS) Process: 5682 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 5798 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 8918) Memory: 442.1M CGroup: /system.slice/mysqld.service └─5798 /usr/libexec/mysqld --basedir=/usr Mar 22 02:48:42 tecadmin systemd[1]: Starting MySQL 8.0 database server... Mar 22 02:48:45 tecadmin mysql-prepare-db-dir[5706]: Initializing MySQL database Mar 22 02:49:33 tecadmin systemd[1]: Started MySQL 8.0 database server.
Die MySQL-Installation ist abgeschlossen. Jetzt können Sie den MySQL-Server ohne Passwort verbinden, aber wir empfehlen, die MySQL-Installation zu sichern. Die MySQL-Pakete bieten den Befehl mysql_secure_installation, um die Sicherheit anzuwenden. Führen Sie einfach den folgenden Befehl auf dem Terminal aus:
sudo mysql_secure_installation
und befolgen Sie die Anweisungen auf dem Bildschirm. Nachfolgend sind die Details aufgeführt, die eine Benutzereingabe erfordern.
- Drücken Sie y|Y für Ja, jede andere Taste für Nein:y
- Bitte geben Sie 0 =NIEDRIG, 1 =MITTEL und 2 =STARK ein:2
- Neues Passwort:[HIERE STARKES PASSWORT EINGEBEN]
- Neues Passwort erneut eingeben:HIER PASSWORT WIEDER EINGEBEN
- Möchten Sie mit dem angegebenen Passwort fortfahren?(Drücken Sie y|Y für Ja, jede andere Taste für Nein):y
- Anonyme Benutzer entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):y
- Root-Anmeldung aus der Ferne verbieten? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):y
- Testdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):y
- Berechtigungstabellen jetzt neu laden? (Drücken Sie y|Y für Ja, jede andere Taste für Nein):y
Schritt 3 – PHP installieren
Das Remi-Repository enthält die neuesten PHP-Pakete für das Linux-System CentOS 8. Zunächst müssen Sie also das REMI-Repository zu Ihrem System hinzufügen. Führen Sie einfach den folgenden Befehl aus, um das Repository hinzuzufügen.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Aktivieren Sie dann das erforderliche DNF-Modul für die PHP-Installation. Hier aktivieren wir das Modul zur Installation von PHP 7.4. Sie können dies gemäß Ihren Anforderungen auf PHP 7.3 oder PHP 7.2 ändern.
sudo dnf module reset php sudo dnf module enable php:remi-7.4
Sobald das Repository auf Ihrem System aktiviert ist. Installieren Sie PHP-Pakete zusammen mit den erforderlichen PHP-Modulen.
sudo dnf install php php-mysqlnd
Viele müssen auch andere erforderliche PHP-Module gemäß Ihren Anwendungsanforderungen installieren. Der folgende Befehl installiert einige häufig verwendete PHP-Module:
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
Schritt 4 – Apache VirtualHost erstellen
Alle für die LAMP-Umgebung erforderlichen Pakete sind installiert. Erstellen Sie nun den virtuellen Apache-Host. Standardmäßig verwendet der Apache php-fpm für die Verarbeitung von PHP-Dateien auf dem CentOS 8-System.
Erstellen und bearbeiten Sie die Konfigurationsdatei des virtuellen Hosts im bevorzugten Texteditor:
sudo vim /etc/httpd/conf.d/tecadmin.example.net.conf
Fügen Sie den folgenden Inhalt in der Konfigurationsdatei hinzu. Achten Sie darauf, die erforderlichen Parameter zu ändern.
Apache
12345678910 |
Speichern Sie die Konfigurationsdatei des virtuellen Hosts und laden Sie Apache neu, um die Änderungen zu übernehmen.
sudo systemctl restart httpd.service
Nützlicher Link:
- Richten Sie Let’s Encrypt SSL mit Apache auf CentOS 8 ein
Schritt 5 – Ports in Firewalld zulassen
Der CentOS 8 Linux-Server ist bereit, die Anwendung über die LAMP-Umgebung bereitzustellen. Wenn auf Ihrem System eine Firewall installiert und aktiv ist, müssen Sie Apache-Ports zulassen. Dadurch können Netzwerkbenutzer von entfernten Systemen aus auf Webanwendungen zugreifen.
Die folgenden Befehle öffnen die erforderlichen Ports für Sie.
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https sudo firewall-cmd --reload
Nützlicher Link:
- Was ist FirewallD und wie wird es unter Linux implementiert?
Schritt 6 – Testaufbau
Alles erledigt. Erstellen Sie zum Testen der Umgebung ein PHP-Skript mit phpinfo() Funktion. Platzieren Sie diese Datei im Dokumentenstammverzeichnis Ihres Servers. Verwenden Sie dazu den folgenden Befehl.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Greifen Sie dann auf info.php zu, indem Sie die Server-IP-Adresse (für den Standard-VirtualHost) für Ihre konfigurierte Domain in Apache VirtualHost verwenden.
http://tecadmin.example.net/info.php
Schlussfolgerung
Sie haben die LAMP-Umgebung erfolgreich auf Ihrem CentOS 8- oder RHEL 8-Linux-System konfiguriert. Als nächstes können Sie phpMyAdmin auf Ihrem System installieren.