Virtuellen Host konfigurieren auf Apache

By Abonnieren
Virtuellen Host konfigurieren auf Apache

Die Standardinstallation des Apache Der Webserver verwendet einfach den Port 80 über das HTTP-Protokoll, um mit den Clients zu kommunizieren. Bei einer Neuinstallation wird die Willkommensseite wie in gezeigt angezeigt. Fig 1. Wir können auch SSL-Zertifikate installieren und konfigurieren die Apache Server, um den Datenverkehr zwischen Server und Client zu verschlüsseln, und die sichere Kommunikation erfolgt über Port 443 über das HTTPS-Protokoll.

In diesem Tutorial besprechen wir die erforderlichen Schritte zum Hinzufügen eines virtuellen Hosts zum Hosten einer Website mithilfe des Apache Webserver. Wir sichern auch die Apache Webserver, indem Sie den virtuellen Host so konfigurieren, dass die gesamte Kommunikation über HTTP auf HTTPS umgeleitet wird (in den späteren Abschnitten dieses Tutorials). Dieses Tutorial enthält die erforderlichen Schritte zum Hinzufügen virtueller Hosts auf der beliebten Linux-Distribution Ubuntu. Es enthält alle erforderlichen Schritte zum Hinzufügen virtueller Hosts auf Ubuntu 18.04 LTS. Die Schritte sollten für andere Linux-Systeme und Ubuntu-Versionen ähnlich sein.

Apache - Willkommensseite

Fig 1

 

Voraussetzungen:

Um mit diesem Tutorial fortfahren zu können, muss die unten aufgeführte Software auf Ihrem System installiert sein.

Ubuntu Server - Dieses Tutorial ist für Ubuntu 18.04 LTS geschrieben, es kann aber auch jedes andere Linux-System sein. Die Schritte sollten auf anderen Systemen gleich sein. Sie können auch folgen Vollständige Anleitung zur Installation von Ubuntu 18.04 LTS (Bionic Biber) um die Desktopversion von Ubuntu zu installieren.

Apache Web-Server - Es wird davon ausgegangen, dass die Apache ist bereits auf dem System installiert und richtig konfiguriert, um über die IP-Adresse darauf zuzugreifen. Dies kann problemlos auf Ihrem lokalen System durchgeführt werden, falls Sie eine statische IP-Adresse haben. Sie müssen den Willkommensbildschirm anzeigen können, indem Sie einfach zu http://xx.xx.xx.xx (xx.xx.xx.xx ist Ihre IP-Adresse, die auf Ihren Server verweist), falls die 000-Standard virtueller Host ist aktiviert. Sie können auch folgen Wie installiert man Apache 2 Unter Ubuntu 18.04 LTS um die zu installieren Apache Webserver.

Domain - Eine gültige Domain, die bei Ihrem Domain-Registrar richtig konfiguriert ist und auf Ihren Server verweist. Ich habe example.com in diesem Tutorial als Referenz. Ersetzen Sie es durch Ihre eigene Domäne.

Apache Module - Stellen Sie im Rahmen dieses Tutorials auch sicher, dass die entsprechenden apache Module werden wie unten gezeigt aktiviert.

# Enable rewrite module
sudo a2enmod rewrite
# Enable SSL module sudo a2enmod ssl

Firewall - Die Ports 80 und 443 sind geöffnet für nehmen sie es an. Verbindungen.

 

Virtuellen Host hinzufügen – HTTP

In diesem Abschnitt fügen wir den virtuellen Host hinzu und ermöglichen ihm den Zugriff auf die Anwendung über die Domäne.

Fügen Sie den virtuellen Host hinzu und aktualisieren Sie ihn auf Apache Webserver wie unten gezeigt. Ich habe den Nano-Editor zu Demonstrationszwecken verwendet. Sie können jeden beliebigen Editor verwenden. Ersetzen Sie außerdem example.com mit der eigentlichen Domain. Erstellen Sie das Verzeichnis /var/www/beispiel.com/html zur Speicherung der Website- bzw. Anwendungsdateien und /var/www/beispiel.com/logs für websitespezifische Protokolle.

# Add Virtual Host
sudo nano /etc/apache2/sites-available/example.com.conf
# Content <VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin admin@example.com DocumentRoot /var/www/example.com/html
<Directory /var/www/example.com/html> Options -Indexes +FollowSymLinks DirectoryIndex index.html AllowOverride All Require all granted </Directory>
ErrorLog /var/www/example.com/logs/error.log CustomLog /var/www/example.com/logs/access.log combined </VirtualHost>
# Save and exit the editor

Speichern Sie die Datei mit dem Nano-Texteditor, indem Sie drücken STRG + O, dann drücken Enter , um die Datei zu schreiben. Drücken Sie STRG + X , um den Editor zu schließen. Aktivieren Sie nun den virtuellen Host wie unten gezeigt. Stellen Sie sicher, dass das Verzeichnis /var/www/beispiel.com/html und /var/www/beispiel.com/logs besteht.

# Optionally disable default configuration
sudo a2dissite 000-default
# Enable virtual host
sudo a2ensite example.com
# Output
Enabling site example.com.
To activate the new configuration, you need to run:
systemctl reload apache2
# Test configuration
sudo apache2ctl configtest
# Output
Syntax OK
# Reload Apache
sudo systemctl reload apache2

Fügen Sie nun die hinzu index.html Datei mit dem unten gezeigten Inhalt.

# Add index.html
sudo nano /var/www/example.com/html/index.html
# Content <!DOCTYPE html> <html lang="en"> <head> <title>My Domain</title> </head> <body> <h1>Welcome to My Domain.</h1> </body> </html>
# Save and exit the editor

Wenn Ihre Domain korrekt auf Ihr System verweist, müssen Sie über den Browser darauf zugreifen können, indem Sie zu http://www.example.com/index.html. Es sollte die Ausgabe unserer einfachen HTML-Datei anzeigen - Willkommen in meiner Domäne.

 

Virtuellen Host hinzufügen – HTTPS

Jetzt fügen wir einen weiteren virtuellen Host hinzu, um HTTPS-Anfragen über den sicheren Kanal zu verarbeiten. Fügen Sie den virtuellen Host hinzu und aktualisieren Sie ihn auf Apache Webserver, wie unten gezeigt.

# Add Virtual Host
sudo nano /etc/apache2/sites-available/example.com-ssl.conf
# Content <IfModule mod_ssl.c> <VirtualHost *:443> ServerName example.com ServerAlias www.example.com ServerAdmin admin@example.com
DocumentRoot /var/www/example.com/html <Directory /var/www/example.com/html> Options -Indexes +FollowSymLinks DirectoryIndex index.php AllowOverride All Require all granted </Directory>
ErrorLog /var/www/example.com/logs/error.log CustomLog /var/www/example.com/logs/access.log combined
SSLCertificateFile <Domain Certificate>
SSLCertificateKeyFile <Private Key>
SSLCertificateChainFile <Chain File>
</VirtualHost>
</IfModule>

Stellen Sie sicher, dass Sie einen gültigen Pfad zum SSL-Zertifikat und zur Schlüsseldatei basierend auf Ihrer Zertifizierungsstelle angeben. Sie können auch folgen So installieren Sie Let’s Encrypt für Apache Auf Ubuntu um ein kostenloses SSL-Zertifikat von Let’s Encrypt zu installieren. Nachfolgend sind einige der Standardkonfigurationen aufgeführt.

# Let's Encrypt for Apache
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
# Comodo SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/XYZ.crt

Aktivieren Sie nun den virtuellen Host, wie wir es im vorherigen Abschnitt getan haben.

# Enable virtual host
sudo a2ensite example.com-ssl
# Output Enabling site example.com-ssl. To activate the new configuration, you need to run: systemctl reload apache2
# Test configuration sudo apache2ctl configtest
# Output
Syntax OK
# Reload Apache sudo systemctl reload apache2

So können wir das SSL-Zertifikat für einen virtuellen Host konfigurieren in Apache. Sie müssen vom Browser aus darauf zugreifen können, indem Sie zu https://www.example.com/index.html.

 

HTTP auf HTTPS umleiten

Im letzten Abschnitt dieses Tutorials fügen wir die Umleitung von den HTTP-Anfragen zu HTTPS-Anfragen hinzu, um alle Client-Anfragen für die Domäne zu sichern. Dies kann durch Aktualisieren der virtuellen Hostkonfiguration für HTTP wie unten gezeigt erfolgen.

# Update Virtual Host
sudo nano /etc/apache2/sites-available/example.com.conf
# Scroll down .... .... RewriteEngine on RewriteCond %{SERVER_NAME} =www.example.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost>
# Save and exit the editor
# Test configuration
sudo apache2ctl configtest
# Output
Syntax OK
# Reload Apache
sudo systemctl reload apache2

Wenn Sie nun versuchen, die URL zu öffnen - http://www.example.com/index.html, es muss Sie weiterleiten zu https://www.example.com/index.htmlStellen Sie sicher, dass Ihre Firewall die Kommunikation auf Port 443.

So können wir eine ganze Website oder Anwendung mit dem SSL-Zertifikat für eine sichere Kommunikation über das Apache Webserver und Clients (Browser usw.).

 

Zusammenfassung

In diesem Tutorial haben wir die erforderlichen Schritte zum Hinzufügen eines virtuellen Hosts für HTTP- und HTTPS-Protokolle auf dem Apache Webserver. Im letzten Abschnitt haben wir die Site auch gesichert, indem wir alle HTTP-Anfragen auf HTTPS umgeleitet haben.

Teilen Sie diesen Blog:

Profilbild für Benutzer bhagwatchouhan
Abonnieren