Erstellen von virtuellen Apache-Hosts in RHEL 9
Beim Webhosting ermöglichen virtuelle Hosts einem einzelnen Server, mehrere Domains zu hosten. Apache, einer der am weitesten verbreiteten Webserver, bietet robuste virtuelle Hosting-Funktionen.
Auf RHEL 9 und RHEL-basierten Distributionen wie Fedora, Rocky Linux und AlmaLinux ist das Einrichten und Verwalten virtueller Hosts unkompliziert, insbesondere mit den Aktivierungs-/Deaktivierungsoptionen, mit denen Sie leicht steuern können, welche Websites aktiv sind.
In diesem Leitfaden erfahren Sie, wie Sie:
- Installieren und konfigurieren Sie Apache auf RHEL 9.
- Erstellen Sie virtuelle Hosts für
example1.comundexample2.com. - Aktivieren oder deaktivieren Sie die virtuellen Hosts nach Bedarf.
Schritt 1: Apache-Webserver installieren
Wenn Apache nicht auf Ihrem Server installiert ist, installieren Sie es mit:
sudo dnf install httpd -y
Starten Sie nach der Installation Apache und aktivieren Sie die Ausführung beim Systemstart:
sudo systemctl start httpd
sudo systemctl enable httpd
Schritt 2: Konfigurieren von virtuellen Apache-Hosts
Um Ordnung zu halten, erstellen Sie Verzeichnisse, in denen Website-Dateien für jede Domain gespeichert werden. Apache verwendet normalerweise /var/www/ als Standardspeicherort für Website-Dateien.
sudo mkdir -p /var/www/example1.com/public_html
sudo mkdir -p /var/www/example2.com/public_html
Legen Sie den korrekten Besitz und die richtigen Berechtigungen für diese Verzeichnisse fest:
sudo chown -R $USER:$USER /var/www/example1.com/public_html
sudo chown -R $USER:$USER /var/www/example2.com/public_html
sudo chmod -R 755 /var/www
Erstellen Sie für jede Domain eine einfache HTML-Datei, um zu überprüfen, ob das Setup funktioniert:
echo "<html><h1>Welcome to Example1.com</h1></html>" | sudo tee /var/www/example1.com/public_html/index.html
echo "<html><h1>Welcome to Example2.com</h1></html>" | sudo tee /var/www/example2.com/public_html/index.html
Schritt 3: Erstellen von Konfigurationsdateien für virtuelle Hosts
Apache sucht standardmäßig in /etc/httpd/conf.d/ nach Konfigurationen für virtuelle Hosts, und jede Domäne benötigt eine eigene Konfigurationsdatei.
Erstellen Sie eine virtuelle Hostdatei für example1.com:
sudo nano /etc/httpd/conf.d/example1.com.conf
Fügen Sie die folgende Konfiguration hinzu:
<VirtualHost *:80>
ServerAdmin [email
ServerName example1.com
ServerAlias www.example1.com
DocumentRoot /var/www/example1.com/public_html
ErrorLog /var/www/example1.com/error.log
CustomLog /var/www/example1.com/access.log combined
</VirtualHost>
Erstellen Sie eine virtuelle Hostdatei für example2.com:
sudo nano /etc/httpd/conf.d/example2.com.conf
Fügen Sie die folgende Konfiguration hinzu:
<VirtualHost *:80>
ServerAdmin [email
ServerName example2.com
ServerAlias www.example2.com
DocumentRoot /var/www/example2.com/public_html
ErrorLog /var/www/example2.com/error.log
CustomLog /var/www/example2.com/access.log combined
</VirtualHost>
Wenn Sie eine Firewall aktiviert haben, stellen Sie sicher, dass Sie HTTP-Datenverkehr zulassen:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
Schritt 4: Aktivieren und Deaktivieren virtueller Hosts
Auf RHEL können Sie virtuelle Hosts verwalten, indem Sie die Konfigurationsdateien aktivieren oder deaktivieren.
So aktivieren Sie einen virtuellen Host
Stellen Sie einfach sicher, dass sich die Konfigurationsdatei in /etc/httpd/conf.d/ befindet und starten Sie Apache neu:
sudo systemctl restart httpd
Sowohl example1.com als auch example2.com sind nun aktiv.
So deaktivieren Sie einen virtuellen Host
Wenn Sie einen virtuellen Host vorübergehend deaktivieren möchten, können Sie die Konfigurationsdatei umbenennen oder aus /etc/httpd/conf.d/ verschieben.
So deaktivieren Sie beispielsweise example2.com:
sudo mv /etc/httpd/conf.d/example2.com.conf /etc/httpd/conf.d/disabled_example2.com.conf
Starten Sie Apache neu, um die Änderungen zu übernehmen:
sudo systemctl restart httpd
Um es wieder zu aktivieren, verschieben Sie es zurück an den ursprünglichen Speicherort:
sudo mv /etc/httpd/conf.d/disabled_example2.com.conf /etc/httpd/conf.d/example2.com.conf
sudo systemctl restart httpd
Schritt 5: Testen von virtuellen Apache-Hosts
Wenn Sie lokal testen, fügen Sie die folgenden Einträge zu Ihrer /etc/hosts-Datei hinzu:
127.0.0.1 example1.com
127.0.0.1 example2.com
Öffnen Sie einen Webbrowser und gehen Sie zu http://example1.com und http://example2.com. Sie sollten die entsprechenden Begrüßungsnachrichten sehen.
Schlussfolgerung
Sie haben erfolgreich virtuelle Apache-Hosts in RHEL 9 für zwei Domänen, example1.com und example2.com, erstellt, mit der Option, jeden Host nach Bedarf zu aktivieren oder zu deaktivieren.
Dieses Setup ermöglicht es Ihrem Server, mehrere Websites unabhängig voneinander zu verwalten und gibt Ihnen die Kontrolle darüber, welche Domains aktiv sind.
