So installieren Sie Apache mit einem virtuellen Host auf CentOS 8

So installieren Sie Apache mit einem virtuellen Host auf CentOS 8

Der Apache Webserver ist ein OpenSource und ein beliebtes HTTP -Webserver, der weiterhin einen massiven Marktanteil in der Hosting -Branche genießt. Es wird mit vielen Funktionen, einschließlich Modulverbesserungen, Support für Multi-Protokoll, vereinfachte Konfiguration und Multisprachler-Unterstützung, nur wenige zu erwähnen, um nur einige zu erwähnen.

Lesen Sie auch: So installieren Sie Nginx auf CentOS 8

In diesem Leitfaden führen wir Sie durch die Installation der Apache Webserver auf Centos 8 Und Rhel 8 mit einer virtuellen Hostumgebung. Zum Zeitpunkt des Schreibens dieses Tutorials ist die neueste Version von Apache Apache 2.2.43.

Installieren Sie den Apache -Webserver

Um zu beginnen, aktualisieren Sie zuerst Ihre Centos 8 oder Rhel 8 Systempaketliste mit dem folgenden DNF -Befehl.

$ sudo dnf update 

Sobald das Update abgeschlossen ist, installieren Sie sich Apache Webserver durch Ausführung des folgenden Befehls.

$ sudo dnf install httpd 

Nach der Installation können Sie die Version von Apache durch Ausführen des RPM -Befehls überprüfen.

$ rpm -qi httpd 
Überprüfen Sie die Apache -Version

Der Befehl druckt eine Reihe von Informationen wie die Version, das Veröffentlichungsdatum, das Erstellen und die Architektur des Pakets aus.

Führen Sie den Befehl systemCTL aus, um den Apache HTTP -Webdienst zu starten.

$ sudo systemctl starten httpd 

Um zu bestätigen, ob der Dienst ausgeführt wird, führen Sie aus.

$ sudo systemctl Status httpd 
Überprüfen Sie den Apache -Dienststatus

Aus der Ausgabe, die 'aktiv'Status in Green zeigt an, dass der Apache -Webserver in Betrieb ist.

Um alle Zweifel zu löschen, an denen der Webserver ausgeführt wird.

http: // server-ip 

Sie können Ihren Server -IP erhalten, indem Sie den Befehl IFConfig ausführen. Wenn Ihr Server in der Cloud gehostet wird, können Sie die öffentliche IP durch Ausführen des Curl -Befehls erhalten.

$ curl ifconfig.ich oder $ curl -4 icanhazip.com 
Finden Sie CentOS Server IP -Adresse

Wenn Sie die IP -Adresse des Servers durchsuchen, sollten Sie die folgende Webseite angezeigt lassen.

Überprüfen Sie die Apache -Webseite

Dies ist eine sichere Bestätigung, dass der Webserver ausgeführt wird.

Verwalten von Apache -Webserver

Mit Apache Installiert und ausgeführt, können Sie die verwenden Systemctl Inspektionstool zum Verwalten von Apache.

Führen Sie beispielsweise den Befehl aus, um Apache zu stoppen:

$ sudo systemctl stop httpd 

Um den Dienst erneut zu starten, führen Sie aus:

$ sudo systemctl starten httpd 

Wenn Sie Änderungen an einer seiner Konfigurationsdateien vorgenommen haben und neu starten müssen, um die Änderungen anzuwenden, führen Sie den Befehl aus:

$ sudo systemctl starten Sie HTTPD neu starten 

Durch den Neustart des Dienstes führt normalerweise zu einer Störung des Dienstes. Eine bessere Alternative besteht darin, einfach ohne Unterbrechung der Verbindung neu zu laden.

$ sudo systemctl reload httpd neu laden 

So starten Sie den Apache -Webserver automatisch beim Booten oder Neustart, führen Sie den folgenden Befehl aus. Dadurch wird sichergestellt, dass Apache ohne Intervention automatisch beginnt.

$ sudo systemctl aktivieren httpd 

Wenn Sie den Dienst nicht automatisch mit dem Start starten möchten, führen Sie aus:

$ sudo systemctl deaktivieren httpd 

Einrichten von Apache Virtual Hosts

Standardmäßig ist Apache Web Server so konfiguriert, dass sie nur eine Website bedienen oder nur eine Website hostet. Wenn Sie nur eine Website hosten möchten, ist dieser Schritt nicht erforderlich. Für den Fall, dass Sie jedoch mehrere Domänen auf Ihrem Server hosten möchten, müssen Sie die virtuellen Apache -Hosts konfigurieren.

Ein virtueller Host ist eine separate Datei, die Konfigurationen enthält, mit denen Sie eine separate Domäne von der Standardeinstellung einrichten können. Für diese Anleitung werden wir einen virtuellen Host für die Domain einrichten crazyTechgeek.die Info.

Der standardmäßige virtuelle Host befindet sich am /var/www/html Verzeichnis. Dies funktioniert nur für eine einzelne Seite. Um einen separaten virtuellen Host für unsere Domain zu erstellen, erstellen wir eine andere Verzeichnisstruktur innerhalb der /var/www Verzeichnis wie gezeigt.

$ sudo mkdir -p/var/www/crazyTechgeek.info/html 

Darüber hinaus können Sie auch ein Verzeichnis zum Speichern von Protokolldateien erstellen.

$ sudo mkdir -p/var/www/crazyTechgeek.Info/Protokoll 

Bearbeiten Sie als Nächstes die Dateiberechtigungen $ Benutzer Umgebungsvariable wie gezeigt.

$ sudo chown -r $ user: $ user/var/www/crazyTechgeek.info/html 

Passen Sie auch die Berechtigungen des Webroot -Verzeichnisses wie gezeigt an.

$ sudo chmod -r 755 /var /www 

Erstellen Sie als nächstes ein Beispiel Index.html Datei wie gezeigt.

$ sudo vim/var/www/crazyTechgeek.Info/HTML/Index.html 

Schlagen Sie den Brief 'ich' Auf der Tastatur und ein paar Beispielinhalte wie gezeigt, die beim Testen des virtuellen Hosts im Webbrowser angezeigt werden.

  Willkommen bei CrazyTechgeek.die Info!   

Erfolg! Der CrazyTechgeek.Info Virtual Host ist hoch und perfekt funktioniert!

Speichern und beenden Sie die Konfigurationsdatei.

Mit dem erstellten Beispielindexdatei und des Site -Verzeichnisses können Sie nun fortfahren und die virtuelle Hostdatei erstellen. Die virtuelle Hostdatei enthält die Site -Konfiguration Ihrer Domäne und weist Apache an, wie sie auf die Anfragen der Kunden reagiert.

Die virtuelle Hostdatei enthält die Site -Konfiguration Ihrer Domäne und weist Apache an, wie sie auf die Anfragen der Kunden reagiert. Wenn Sie jedoch fortfahren, müssen Sie 2 Verzeichnisse erstellen: die Standorte verfügbar Und Websites fähig Verzeichnisse.

Die virtuelle Hostdatei wird in der gespeichert Standorte verfügbar Verzeichnis während der Websites fähig Das Verzeichnis enthält den symbolischen Link zum virtuellen Host.

Erstellen Sie beide Verzeichnisse wie gezeigt.

$ sudo mkdir/etc/httpd/sites-verfügbar $ sudo mkdir/etc/httpd/sites-fähig 

Ändern Sie als Nächst.

$ sudo vim/etc/httpd/conf/httpd.Conf 

Fügen Sie die Zeile wie am Ende der Konfigurationsdatei hinzu.

Einschlüsse die Websites einbeziehen/*.Conf 

Speichern und schließen.

Erstellen Sie nun eine virtuelle Hostdatei wie gezeigt:

$ sudo vim/etc/httpd/seiten-verfügbare/crazyTechgeek.die Info 

Fügen Sie den Inhalt unten ein und ersetzen Sie crazyTechgeek.die Info mit Ihrem eigenen Domainnamen.

 Servername www.crazyTechgeek.die Info Serveralias crazyTechgeek.die Info Documentroot/var/www/crazyTechgeek.die Info/HTML ERRAGELOG/VAR/WWW/crazyTechgeek.die Info/Protokoll/Fehler.Protokollieren Sie CustomLog/var/www/crazyTechgeek.die Info/Protokoll/Anfragen.log kombiniert  

Speichern und beenden Sie die Datei.

Aktivieren Sie nun die virtuelle Hostdatei, indem Sie einen symbolischen Link in der erstellen Websites fähig Verzeichnis.

$ sudo ln -s/etc/httpd/seiten -verfügbare/crazyTechgeek.die Info.conf/etc/httpd/sites-fähig/crazyTechgeek.die Info.Conf 

Einstellen von SELinux -Berechtigungen für virtuelle Hosts

Centos 8 Und Rhel 8 Schiffe mit Selinux Dies ist ein Sicherheitsmodul zur Stärkung der Sicherheit des Linux -Systems. Da Sie einen benutzerdefinierten konfiguriert haben Protokoll Verzeichnis Im vorherigen Schritt müssen Sie einige Selinux -Richtlinien aktualisieren, um den Apache -Webserver zu unterweisen, in das Verzeichnis zu schreiben.

Es gibt 2 Ansätze zur Anpassung der Selinux -Apache -Richtlinien: Anpassung der Anpassung von Richtlinien allgemein und die Richtlinien auf einem Verzeichnis. Letzteres wird bevorzugt, weil es bevorzugt ist.

Einstellen von Selinux -Richtlinien in einem Verzeichnis

Bearbeitung Selinux Berechtigungen für das Protokollverzeichnis erhalten Sie absolute Kontrolle über die Richtlinien des Webservers des Apache. Diese Methode ist ziemlich langwierig und erfordert, dass Sie den Kontexttyp manuell für zusätzliche Verzeichnisse konfigurieren, die in der virtuellen Host -Konfigurationsdatei angegeben sind.

Bestätigen Sie zuerst den Kontext -Typ, der dem Protokollverzeichnis von Selinux zugewiesen wird:

$ sudo ls -dlz/var/www/crazyTechgeek.Info/Protokoll/ 

Die Ausgabe sollte dem ähnlich sein wie unten.

Stellen Sie Selinux -Richtlinien im Apache -Protokoll -Verzeichnis ein

Aus der Ausgabe ist der festgelegte Kontext httpd_sys_content_t. Dies zeigt an, dass der Webserver nur Dateien im Protokollverzeichnis lesen kann. Sie müssen diesen Kontext ändern, um httpd_log_t So können Apache das Verzeichnis generieren und Protokolleinträge hinzufügen.

Führen Sie daher den Befehl aus:

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazyTechgeek.Info/Protokoll (//.*)?" 

Wenn Sie den Fehler unter „Semanage: Befehl nicht gefunden haben“ erhalten.

Es impliziert, dass die Pakete, die für die liefern Semanage Befehl werden nicht installiert. Um diesen Fehler zu beheben, müssen Sie diese Pakete installieren. Überprüfen Sie jedoch zunächst, welche Pakete für den Semanage -Befehl bieten, indem Sie ausgeführt werden:

$ sudo dnf wasprovides/usr/sbin/semanage 

Die Ausgabe gibt uns das Paket, das Semanage vorsieht, nämlich PolicyCoreutils-Python-Utils.

Installieren Sie nun das Paket wie mit dem DNF -Paket -Manager wie gezeigt.

$ sudo dnf Installation PolicyCoreutils-Python-Utils 

Der Befehl zum Ändern des Kontextes sollte jetzt funktionieren.

$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazyTechgeek.Info/Protokoll (//.*)?" 

Um die Änderungen zu speichern und sie anhaltend zu machen, geben Sie die aus restorecon Befehl wie gezeigt:

$ sudo restorecon -r -v/var/www/crazyTechgeek.Info/Protokoll 

Sie können die Änderungen bestätigen, die den Befehl erneut ausführen:

$ sudo ls -dlz/var/www/crazyTechgeek.Info/Protokoll/ 
Überprüfen Sie den Selinux -Kontext -Typ

Achten Sie darauf, dass sich der Kontext -Typ geändert hat httpd_log_t Wie im Ausgang zu sehen.

Starten Sie Apache neu, damit die Änderungen angewendet werden sollen.

$ sudo systemctl starten Sie HTTPD neu starten 

Sie können jetzt bestätigen, ob Apache Protokolldateien im Protokollverzeichnis speichert, indem er seinen Inhalt wie gezeigt auflistet:

$ ls -l/var/www/crazyTechgeek.Info/Protokoll/ 

Sie sollten in der Lage sein, zwei Protokolldateien wie gezeigt anzuzeigen: Fehlerprotokoll- und Anfordern von Protokolldateien.

APache -Protokolldateien überprüfen

Testen von Apache Virtual Host

Zuletzt müssen Sie sicher sein, dass der Apache -Webserver Ihre virtuelle Hostdatei bedient. Öffnen Sie dazu Ihren Browser und gehen Sie zu der IP -Adresse oder dem Domänennamen Ihres Servers:

http: // domänenname 
Überprüfen Sie den virtuellen Host von Apache auf Website

Perfekt! Dies weist darauf hin, dass alles gut gelaufen ist und unser virtueller Gastgeber wie erwartet bedient wird.

Abschluss

In diesem Handbuch haben wir gelernt, wie man die Installation hat Apache Webserver auf Centos 8 Und Rhel 8 und auch, wie Sie eine virtuelle Hostdatei so konfigurieren, dass Inhalte für eine zusätzliche Domäne bereitgestellt werden. Fühlen Sie sich frei, mehrere virtuelle Hostdateien zu konfigurieren, während Sie für fit für zusätzliche Domänen erachtet werden.

Wenn Sie einen kompletten Hosting -Stapel einrichten möchten, habe ich empfohlen, einen Lampenstapel auf CentOS 8 zu installieren.