Apache. Virtuelle Hosts im Expertenmodus
In BeAdmin lässt sich ein virtueller Apache-Host nur im Expertenmodus anlegen — die Konfiguration wird von Hand bearbeitet. In diesem Artikel werden die Vorlage, die Prüfung von ServerName, die Anbindung von PHP über PHP-FPM und der Umgang mit .htaccess erklärt. Zur Installation des Moduls und den Betriebsmodi siehe den Schnelleinstieg.
Virtuellen Host anlegen
Um einen virtuellen Apache-Host einzurichten, müssen Sie dessen Konfiguration manuell im Format <VirtualHost>...</VirtualHost> angeben.
So legen Sie einen Host an:
- Klicken Sie im Seitenmenü des Apache-Bereichs auf «Virtuellen Host erstellen».
- Geben Sie im Dialog «Hostkonfiguration einrichten» den Domainnamen der Website ein (z. B.
example.com). Dieser Wert geht in den Namen der Konfigurationsdatei (example.com.conf) und in dieServerName-Prüfung ein. - Klicken Sie auf «Weiter».
- Der Editor öffnet sich mit einer
<VirtualHost>-Vorlage — passen Sie sie an Ihre Website an. - Klicken Sie auf «Erstellen».
Die Standardvorlage sieht so aus:
<VirtualHost *:8808>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /home/www/example.com/public
<Directory /home/www/example.com/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
DirectoryIndex index.php index.html
</VirtualHost>Was die einzelnen Direktiven bewirken:
<VirtualHost *:8808>— Apache nimmt Anfragen auf allen Schnittstellen auf Port 8808 entgegen.ServerName— die Hauptdomain der Website; muss mit dem im Formular eingegebenen Wert übereinstimmen (siehe unten).ServerAlias— weitere Domains und Subdomains, die derselbe virtuelle Host bedient.DocumentRoot— Pfad zu den Website-Dateien auf der Festplatte.<Directory ...>— Regeln für ein bestimmtes Verzeichnis:Options Indexes FollowSymLinks— zeigt das Verzeichnislisting an und erlaubt das Folgen symbolischer Links.AllowOverride All— erlaubt die Verwendung von.htaccess.Require all granted— gibt den Zugriff frei.
DirectoryIndex— Suchreihenfolge für die Indexdatei, wenn ein Verzeichnis angefordert wird.
Nach dem Speichern erscheint der Host im Seitenmenü und nimmt sofort Anfragen entgegen (sofern Apache läuft). BeAdmin lädt die Apache-Konfiguration selbst neu, ohne den Dienst neu zu starten — bestehende Verbindungen werden nicht abgebrochen, und Sie müssen «Konfiguration neu laden» im Modulkopf nicht anklicken.
Port in der Vorlage
Der Port *:8808 in der ersten Zeile der Vorlage ist der HTTP-Port der Kombination Nginx + Apache, der BeAdmin-Standard für diesen Modus. Läuft Apache im Standalone-Modus, ändern Sie den Port auf :80 — oder auf den Wert, den Sie im Installationsdialog des Moduls festgelegt haben. Für einen HTTPS-Host verwenden Sie :8843 (Kombination) bzw. :443 (Standalone). Mehr zu den Betriebsmodi und Standardports finden Sie im Schnelleinstieg.
ServerName muss mit der Domain übereinstimmen
Die Panel prüft, dass die Werte von ServerName und ServerAlias in der Konfiguration entweder mit der im Feld eingegebenen Domain übereinstimmen oder auf sie enden (Subdomains *.example.com sind zulässig). Steht im Feld example.com, in der Konfiguration aber ServerName api.other.com, lässt sich der Host nicht speichern.
Bestehenden Host verwalten
Einen Host zu deaktivieren, ohne ihn zu löschen, ist nicht möglich — kommentieren Sie den <VirtualHost>-Block aus und klicken Sie auf «Aktualisieren», oder löschen Sie die Datei vollständig. Einen Host löschen Sie über das Papierkorbsymbol neben seinem Namen im Seitenmenü.
PHP über PHP-FPM anbinden
Standardmäßig installiert das Apache-Modul in BeAdmin reines Apache ohne PHP-Handler. Um PHP anzubinden, fügen Sie innerhalb des <VirtualHost>-Blocks (neben <Directory>) einen Block für PHP-FPM ein:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>Das PHP-Modul in BeAdmin unterstützt mehrere Versionen; jede legt einen eigenen Socket /var/run/php/php<Version>-fpm.sock an — zum Beispiel php8.3-fpm.sock. Die Version für eine konkrete Website finden Sie im PHP-Modul und tragen sie in SetHandler ein.
.htaccess und AllowOverride
.htaccess ist eine Datei mit Apache-Direktiven im Verzeichnis der Website. Apache liest sie bei jeder Anfrage, ein Neustart des Dienstes ist nicht nötig. Damit das funktioniert, muss im <Directory>-Block des entsprechenden Hosts die Direktive AllowOverride All stehen — sie ist in der Standardvorlage oben bereits enthalten.
Um .htaccess zu bearbeiten, öffnen Sie in BeAdmin den Bereich «Dateien», wechseln in das Verzeichnis der Website und öffnen die Datei im Editor. Existiert die Datei noch nicht, legen Sie sie dort an. Die Änderungen greifen ab der nächsten Anfrage.
Siehe auch
- Apache. Schnelleinstieg — Modulübersicht, Betriebsmodi, Installation.
- Offizielle Dokumentation des Apache HTTP Server — Referenz zu Direktiven, Modulen und MPM-Modellen.