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 Ubuntu 20.04 installiert und einrichtet
- Wie man Apache und PHP (LAMP-Stack) auf Rocky Linux/Centos 8 installiert
- Wie man PHP und Nginx (LEMP) unter Debian 11 installiert und einrichtet
Voraussetzungen
Um dieser Anleitung zu folgen, stellen Sie bitte sicher, dass Sie Folgendes haben:
- Ein aktualisierter Debian 11-Server
- Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
- Internetzugang
Inhaltsverzeichnis
- Sicherstellen, dass der Server auf dem neuesten Stand ist
- Installation von PHP auf Debian 11
- Apache unter Debian 11 installieren
- Konfigurieren des virtuellen Hosts
1. Sicherstellen, dass der Server auf dem neuesten Stand ist
Bevor Sie fortfahren, sollten Sie immer sicherstellen, dass der Server auf dem neuesten Stand ist. Verwenden Sie diese Befehle, um dies zu erreichen
sudo apt update
sudo apt upgrade -y
2. Installation von PHP unter Debian 11
PHP ist in den Standard-Repositorys von Debian 11 verfügbar. Die neueste Version von PHP zum Zeitpunkt des Schreibens dieses Blogs ist PHP 7.4.
Installieren Sie PHP und einige gängige Pakete mit diesem Befehl:
sudo apt install -y \
php \
php-common \
php-cli
Überprüfen Sie die installierte Version von PHP
$ apt-cache policy php
php:
Installed: 2:7.4+76
Candidate: 2:7.4+76
Version table:
*** 2:7.4+76 500
500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
100 /var/lib/dpkg/status
Überprüfen Sie die installierte PHP-Version mit diesem Befehl:
$ php -v
PHP 7.4.25 (cli) (built: Oct 23 2021 21:53:50) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies
3. Apache unter Debian 11 installieren
Apache-Pakete sind in den standardmäßigen Debian 11-Repositories als apache2
verfügbar . Installieren Sie es mit diesem Befehl:
sudo apt install -y apache2
Bestätigen Sie die installierten Pakete mit diesem Befehl:
$ apt-cache policy apache2
apache2:
Installed: 2.4.51-1~deb11u1
Candidate: 2.4.51-1~deb11u1
Version table:
*** 2.4.51-1~deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
100 /var/lib/dpkg/status
2.4.48-3.1+deb11u1 500
500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
Der Dienst wird standardmäßig gestartet. Überprüfen Sie den Status mit diesem Befehl:
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-12-14 03:01:04 UTC; 5min ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 19103 (apache2)
Tasks: 6 (limit: 4626)
Memory: 12.8M
CPU: 59ms
CGroup: /system.slice/apache2.service
├─19103 /usr/sbin/apache2 -k start
├─19105 /usr/sbin/apache2 -k start
├─19106 /usr/sbin/apache2 -k start
├─19107 /usr/sbin/apache2 -k start
├─19108 /usr/sbin/apache2 -k start
└─19109 /usr/sbin/apache2 -k start
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Starting The Apache HTTP Server...
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Started The Apache HTTP Server.
Um den Dienst beim Booten zu aktivieren, verwenden Sie diesen Befehl
sudo systemctl enable apache2
Um zu bestätigen, dass Apache 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 Apache2 Debian Default Page 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, aber Sie können die Domain Ihrer Wahl verwenden. Bitte beachten Sie, dass der DNS für die zu verwendende Domain bereits so konfiguriert sein sollte, dass er 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 apt install -y vim
Bearbeiten Sie die Datei:
sudo vim /var/www/site1.citizix.com/index.php
Inhalt zur Datei hinzufügen:
<?php phpinfo(); ?>
Stellen Sie abschließend sicher, dass die $USER
Benutzer besitzt das Site-Verzeichnis:
sudo chown -R $USER:$GROUP /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/apache2/sites-available/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/apache2/site1.citizix.com.error.log
CustomLog /var/log/apache2/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
Website aktivieren
$ sudo a2ensite site1.citizix.com
Enabling site site1.citizix.com.
To activate the new configuration, you need to run:
systemctl reload apache2
Laden Sie dann die Apache2-Konfiguration neu
sudo systemctl reload apache2
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 obige Datei, lassen Sie uns darauf zugreifen, indem Sie zu http://server_url/
gehen . In meinem Fall ist dies http://site1.citizix.com/
. Sie sollten die PHP-Infoseite sehen.
Schlussfolgerung
In dieser Anleitung ist es uns gelungen, Apache so einzurichten, dass es eine PHP-Site auf einem Debian 11-Server bereitstellt.