Apache-HTTP-Server
Der Apache HTTP Server, ein von der Apache Software Foundation entwickelter Open-Source-Webserver. Der Apache-Server wird zum Hosten von Webinhalten verwendet. Es antwortet auf Inhaltsanfragen von Webbrowsern wie Internet Explorer und Firefox.
Hinweis :Der Beitrag verwendet die RHEL/CentOS 7-Distribution, um den Apache-Server zu installieren und zu konfigurieren. Obwohl sich die Start-/Stopp-/Installationsbefehle unterscheiden können, sind die Konfigurationsschritte in allen Linux-Distributionen gleichApache installieren
Um Ihr System als Webserver zu konfigurieren, installieren Sie zunächst das httpd-Softwarepaket.
# yum install httpd
Verwenden Sie das Dienstprogramm systemctl, um dem HTTP-Daemon zu ermöglichen, beim Booten zu starten, und auch, um den Daemon sofort zu starten.
# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. # systemctl start httpd
Konfigurationsdateien
Die Hauptkonfigurationsdatei für Apache ist /etc/httpd/conf/httpd.conf . Ein Hilfsverzeichnis, /etc/httpd/conf.d , existiert auch zum Speichern von Konfigurationsdateien, die in der Hauptkonfigurationsdatei enthalten sind. Konfigurationsdateien, die Module laden, befinden sich in /etc/httpd/conf.modules.d Verzeichnis.
Neue apachectl-Unterbefehle in CentOS / RHEL 7
In CentOS / RHEL 7 sind neue apachectl-Unterbefehle verfügbar. Das folgende Beispiel verwendet den configtest Unterbefehl, um die Konfiguration auf mögliche Fehler zu überprüfen.
# apachectl configtest
Verwenden Sie das Anmutige Unterbefehl, um die Konfiguration neu zu laden, ohne aktive Anfragen zu beeinflussen.
# apachectl graceful
Apache konfigurieren
Die Hauptkonfigurationsdatei für Apache ist /etc/httpd/conf/httpd.conf . Apache wird wie installiert ausgeführt, aber Sie können Konfigurationsanweisungen in dieser Datei ändern, um Apache für Ihre Umgebung anzupassen. Einige dieser Anweisungen werden im folgenden Beitrag beschrieben.
Apache HTTP-Server – am häufigsten verwendete KonfigurationsanweisungenApache HTTP-Server testen
Sie können bestätigen, dass Apache funktioniert, indem Sie einen Browser auf dem lokalen System auf http://localhost verweisen, wie in der Abbildung unten gezeigt. Sie können einen Browser auch auf http:// gefolgt von der öffentlichen IP-Adresse des Servers oder dem ServerName verweisen Direktive, die Sie in der Konfigurationsdatei angegeben haben. Die unten abgebildete Testseite bestätigt den funktionierenden Apache HTTP-Server.
Um die Anzeige des tatsächlichen Inhalts zu testen, erstellen Sie eine HTML-Datei mit dem Namen index.html in dem Verzeichnis, das von der DocumentRoot-Direktive angegeben wird (das Standardverzeichnis ist /var/www/html ). Apache zeigt automatisch die Datei index.html in diesem Verzeichnis an, sofern vorhanden.
Apache-Container
Apache-Container sind spezielle Konfigurationsanweisungen, die andere Anweisungen gruppieren. Die Container verwenden Tags im XML-Stil, was bedeutet, dass der Anfang eines Containers
Apache Virtuelle Hosts
Apache unterstützt virtuelle Hosts, was bedeutet, dass ein einzelner Apache-Server auf Anfragen antworten kann, die an mehrere IP-Adressen oder Hostnamen gerichtet sind. Jeder virtuelle Host kann Inhalte bereitstellen und anders konfiguriert werden.
Sie können virtuelle Hosts auf zwei Arten konfigurieren:
1. IP-basierte virtuelle Hosts (Host-by-IP)
2. Namensbasierte virtuelle Hosts (Host-by-Name)
Host-by-IP
Bei Host-by-IP hat jeder virtuelle Host seine eigene Kombination aus IP-Adresse und Port. Der Apache-Webserver antwortet auf die IP-Adresse, die der Host auflöst. Aufgrund von Einschränkungen im SSL-Protokoll (Secure Sockets Layer) ist Host-by-IP für die Verarbeitung von HTTPS-Anforderungen erforderlich.
Host-nach-Name
Bei Host-by-Name teilen sich alle virtuellen Hosts die gemeinsame IP-Adresse. Apache antwortet auf die Anfrage, indem es den Hostnamen in der Anfrage ServerName zuordnet und Serveralias Anweisungen in der Konfigurationsdatei des jeweiligen virtuellen Hosts.
Verwenden Sie den Container
Das folgende Beispiel ist eine einfache namensbasierte Konfiguration virtueller Hosts:
<VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/example1 ErrorLog example1.error_log </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias www.example2.com DocumentRoot /var/www/example2 ErrorLog example2.error_log </VirtualHost>