Der Apache HTTP-Server (Apache) ist eine der beliebtesten kostenlosen und plattformübergreifenden Open-Source-Webserver-Software, die unter den Bedingungen der Apache-Lizenz 2.0 veröffentlicht wurde. Apache ist als Teil des LAMP-Setups beliebt, da es das A im Akronym ist. Die Funktionalität des Apache-Servers kann mit den vielen verfügbaren Modulen erweitert werden.
PHP ist eine Allzweck-Skriptsprache, die auf die Webentwicklung ausgerichtet ist. Es ist eine der beliebtesten Programmiersprachen für das Web. Beliebte Tools wie WordPress werden mit PHP codiert. Auch große Unternehmen wie Facebook nutzen PHP stark.
Verwandte Inhalte
- Wie man PHP und Apache (LAMP-Stack) unter OpenSUSE Leap 15.3 installiert und einrichtet
- Wie man PHP und Nginx (LEMP) auf OpenSUSE Leap 15.3 installiert und einrichtet
- Wie man PHP und Apache (LAMP-Stack) unter Ubuntu 20.04 installiert und einrichtet
- So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Ubuntu 20.04
- Wie man PHP und Apache (LAMP-Stack) unter Debian 11 installiert und einrichtet
- Wie man PHP und Nginx (LEMP) unter Debian 11 installiert und einrichtet
- Installation und Einrichtung von PHP und Nginx (LEMP) unter Rocky Linux/Alma Linux 8
Voraussetzungen
Um dieser Anleitung zu folgen, stellen Sie bitte sicher, dass Sie Folgendes haben:
- Ein aktualisierter Rocky Linux 8-Server
- Root-Zugriff oder Benutzer mit Sudo-Zugriff, der Pakete installieren und Konfigurationen bearbeiten kann
- Internetzugang
Inhaltsverzeichnis
- Sicherstellen, dass der Server auf dem neuesten Stand ist
- Installation von PHP auf Rocky Linux 8
- Installieren von Apache auf Rocky Linux 8
- Konfigurieren des virtuellen Hosts
1. Sicherstellen, dass der Server auf dem neuesten Stand ist
Bevor wir fortfahren, stellen wir sicher, dass wir die neuesten Pakete in unserem System haben. Führen Sie den folgenden Befehl aus, um das System zu aktualisieren:
$ sudo dnf -y update
Last metadata expiration check: 1:45:37 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!
2. PHP unter Rocky Linux 8 installieren
Nachdem Apache eingerichtet ist, müssen wir PHP installieren. Damit PHP-Dateien bereitgestellt werden können, muss PHP im System eingerichtet werden. In dieser Anleitung werden wir PHP 7.4 installieren.
PHP 7.4 ist noch nicht in den Standard-Repositories verfügbar. Das Remi-Repository ist das perfekte Repo, um php7.4 zu installieren. Remi Repo ist ein kostenloses und stabiles YUM-Repository hauptsächlich für den PHP-Stack. Es enthält Pakete für die neuesten Versionen von PHP.
So aktivieren Sie das Remi-Repository auf unserem Centos-Server:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Bestätigen Sie mit diesem Befehl, dass das Remi-Repository installiert und aktiviert wurde:
$ sudo dnf repolist
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras CentOS Linux 8 - Extras
remi-modular Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 8 - x86_64
Sie sollten die Remi-Repos als Teil der Liste sehen.
Nachdem das Repository installiert wurde, suchen wir nach php. Verwenden Sie diesen Befehl:
$ sudo dnf module list php
Last metadata expiration check: 2:14:53 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
CentOS Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Von der Liste. Wir können sehen, dass die Standardeinstellung 7.2 ist. Ausführen einer dnf install php
wird 7.2
installieren was wir nicht wollen. Lassen Sie uns 7.4 mit diesem Befehl aktivieren:
sudo dnf module enable php:remi-7.4
Wenn es aus irgendeinem Grund fehlschlägt, können Sie das vorhandene Modul mit diesem Befehl zurücksetzen:
sudo dnf module reset php
Nachdem das Repo aktiviert wurde, können Sie PHP mit diesem Befehl installieren:
sudo dnf install -y php php-common php-cli
Einmal erfolgreich. Bestätigen Sie die installierte Version mit diesem Befehl:
$ php -v
PHP 7.4.23 (cli) (built: Aug 24 2021 16:33:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.23, Copyright (c), by Zend Technologies
Nun, da Apache und PHP erfolgreich installiert wurden, können wir es so einrichten, dass es etwas Datenverkehr bereitstellt
3. Apache unter Rocky Linux 8 installieren
Nachdem wir unsere Pakete aktualisiert haben, installieren wir Apache. Apache ist in den Standard-Repositories als Paket httpd
verfügbar . Sie können Informationen darüber mit dem folgenden Befehl überprüfen:
$ sudo dnf info httpd
Last metadata expiration check: 1:48:56 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Installed Packages
Name : httpd
Version : 2.4.37
Release : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size : 4.3 M
Source : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository : @System
From repo : appstream
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
Installieren wir es mit dnf:
sudo dnf install -y httpd
Dienst starten und aktivieren
Standardmäßig wird der Dienst nicht gestartet. Fangen wir mit diesem Befehl an:
sudo systemctl start httpd
Um zu bestätigen, dass es wie erwartet funktioniert, verwenden Sie den Statusbefehl und stellen Sie sicher, dass er als active
angezeigt wird wie unten gezeigt:
$ sudo systemctl start httpd
$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Sun 2021-08-29 10:43:52 UTC; 17s ago
Docs: man:httpd.service(8)
Main PID: 84446 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 23800)
Memory: 31.0M
CGroup: /system.slice/httpd.service
├─84446 /usr/sbin/httpd -DFOREGROUND
├─84447 /usr/sbin/httpd -DFOREGROUND
├─84448 /usr/sbin/httpd -DFOREGROUND
├─84449 /usr/sbin/httpd -DFOREGROUND
└─84450 /usr/sbin/httpd -DFOREGROUND
Aug 29 10:43:52 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 29 10:43:52 test-app-server httpd[84446]: AH00558: httpd: Could not reliably determine the server's fully qualified doma>
Aug 29 10:43:52 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 29 10:43:52 test-app-server httpd[84446]: Server configured, listening on: port 80
Wenn Sie eine Firewall aktiviert haben, stellen Sie bitte sicher, dass Sie http
aktivieren und https
Traffic, um den Zugriff auf Apache zu ermöglichen.
Um zu bestätigen, dass PHP installiert ist und einwandfrei funktioniert, besuchen Sie bitte die IP-Adresse des Servers im Browser (http://server_ip). Wenn Sie die Server-IP nicht kennen, erhalten Sie sie mit diesem Befehl in Ihrem Terminal:
curl -4 icanhazip.com
Wenn alles in Ordnung ist, sollten Sie die unten gezeigte Apache-Seite sehen:
4. Virtuelle Hosts konfigurieren
Mit Apache ist es möglich, mehrere Sites auf demselben Server zu hosten, auf dem Apache ausgeführt wird. Dies kann immer erreicht werden, indem mehrere Domains verwendet werden, die jeweils eine Website darstellen, die der Server hostet.
Virtuelle Apache-Hosts ähneln Nginx-Serverblöcken. Jeder virtuelle Host verfügt über Konfigurationsdetails für einen einzelnen Host. Sie können so viele virtuelle Hosts haben, wie Sie möchten.
In diesem Beispiel verwenden wir die Domäne site1.citizix.com für den virtuellen Host, es steht Ihnen jedoch frei, die Domäne Ihrer Wahl zu verwenden. Bitte beachten Sie, dass das DNS für die zu verwendende Domain bereits so konfiguriert sein sollte, dass es auf die IP-Adresse des Servers zeigt.
Bestätigen Sie dies mit:
dig -t A site1.citizix.com
Verzeichnis und Beispielinhalte erstellen
Die Standardseite von Apache ist als standardmäßiger virtueller Host konfiguriert, der Inhalte von /var/www/html
bereitstellt . Es hat sich bewährt, das Verzeichnis Ihrer Website im Verzeichnis /var/www
zu erstellen da es sich bewährt hat, von dort aus zu dienen.
Lassen Sie uns mit dem folgenden Befehl ein Verzeichnis für unsere Site erstellen:
sudo mkdir /var/www/site1.citizix.com
Lassen Sie uns eine einfache index.php
erstellen Seite, die von unserer Website bereitgestellt werden soll. Sie müssen vim installiert haben, damit dies funktioniert, wenn nicht, verwenden Sie diesen Befehl:
sudo dnf install -y vim
Bearbeiten Sie die Datei:
sudo vim /var/www/site1.citizix.com/index.php
Inhalt zur Datei hinzufügen:
<?php phpinfo(); ?>
Stellen wir abschließend sicher, dass der apache
Benutzer besitzt das Site-Verzeichnis:
sudo chown -R apache.apache /var/www/site1.citizix.com
Erstellen eines virtuellen Hosts
Apache Virtual Host-Dateien geben die Konfiguration jeder Site an und teilen dem Apache-Webserver mit, wie er auf verschiedene Domain-Anfragen reagieren soll.
Die Apache-Konfigurationen werden im Verzeichnis /etc/httpd/conf.d/
gespeichert . Lassen Sie uns eine Konfiguration für unsere Site erstellen:
sudo vim /etc/httpd/conf.d/site1.citizix.com.conf
Fügen Sie den folgenden Inhalt hinzu:
<VirtualHost *:80>
ServerName site1.citizix.com
ServerAlias site1.citizix.com
DocumentRoot /var/www/site1.citizix.com
DirectoryIndex index.php
ErrorLog /var/log/httpd/site1.citizix.com.error.log
CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>
Dadurch wird Apache Folgendes mitgeteilt:
ServerName
undServerAlias
– Name des zu bedienenden HostsDocumentRoot
– wo man direkt den Root findet, der die öffentlich zugänglichen Webdokumente enthältDirectoryIndex
– Die Datei, die Apache bereitstellt, wenn auf die Website zugegriffen wirdErrorLog
– wo Fehlerprotokolle für diese Seite gespeichert werdenCustomLog
– wo Anforderungsprotokolle für diese bestimmte Website gespeichert werden
Speichern und schließen Sie die Datei, wenn Sie fertig sind
Testen des virtuellen Hosts
Jetzt, da die Konfiguration vorhanden ist, müssen wir testen, ob alles wie erwartet funktioniert. Da wir die index.php
erstellt haben Datei oben, können Sie darauf zugreifen, indem Sie zu http://server_url/
gehen . In meinem Fall ist dies http://site1.citizix.com/
. Sie sollten eine Seite wie unten sehen:
Schlussfolgerung
In diesem Leitfaden ist es uns gelungen, Apache so einzurichten, dass Datenverkehr auf einem Rocky Linux 8-Server bereitgestellt wird.