Bereitstellung und Konfiguration des Apache-Dienstes unter Linux

Bereitstellung und Konfiguration des Apache-Dienstes unter Linux

1 Die Rolle von Apache

  • Analysieren Sie Webseitensprachen wie HTML, PHP, JSP usw.
  • Anfragen von Web-Benutzern entgegennehmen und bestimmte Antworten geben

2 Apache Installation

Installieren Sie die Apache-Software: dnf install httpd.x86_64 -y

3. Aktivieren Sie Apache

  • Aktivieren Sie den Apache-Dienst und richten Sie ihn so ein, dass er beim Booten gestartet wird: systemctl enable --now httpd
  • Überprüfen Sie den Status des Apache-Dienstes: systemctl enable --now httpd

  • Firewall-Informationen anzeigen: firewall-cmd --list-all HTTP-Dienst in der Firewall dauerhaft aktivieren: firewall-cmd --permanent --add-service=http http
  • irewall-cmd --permanent --add-service=https https
  • Aktualisieren Sie die Firewall, ohne den aktuellen Firewall-Status zu ändern: firewall-cmd --reload

4 Grundlegende Informationen zu Apache

Grundlegende Informationen zu apche

  • Dienstname: httpd
  • Hauptkonfigurationsdatei: /etc/httpd/conf/httpd.conf
  • Unterkonfigurationsdateien: /etc/httpd/conf.d/*.conf
  • Standard-Veröffentlichungsverzeichnis: /var/www/html
  • Standard-Port: 80 (http), 443 (https)
  • Protokolldateien: /etc/httpd/logs
  • Geben Sie nach dem Starten des Apache-Dienstes die IP-Adresse ein, um die Standardveröffentlichungsseite anzuzeigen:

(1) Ändern Sie die Portnummer des Apache-Dienstes

  • Zeigen Sie die Standard-Portnummer des httpd-Dienstes an: netstat -antlupe |grep httpd

  • Bearbeiten Sie die Konfigurationsdatei: /etc/httpd/conf/httpd.conf und ändern Sie die Portnummer

  • Starten Sie den httpd-Dienst neu: systemctl restart httpd
  • Überprüfen Sie die Portnummer des httpd-Dienstes: netsat -antlupe | grep httpd

  • Nach der Änderung der Portnummer kann nach Eingabe der IP-Adresse keine Verbindung mehr hergestellt werden, da der Port 8080 nicht zur Firewall hinzugefügt wurde.

  • Fügen Sie firewall-cmd --permanent --add-port=888/tcp
  • Aktualisieren Sie die Firewall, ohne den aktuellen Firewall-Status zu ändern: firewall-cmd --reload

  • Geben Sie die IP-Adresse und die Portnummer ein und Sie können normal darauf zugreifen.

(2) Ändern Sie die Standard-Release-Datei von apche

  • Standardverzeichnis: cd /var/www/html
  • Erstellen Sie eine neue Datei index.html im Standardveröffentlichungsverzeichnis

  • Geben Sie http://172.25.254.144 ein, um die Anzeige anzuzeigen.

Die Standard-Release-Datei ist die Datei, auf die standardmäßig zugegriffen wird, wenn beim Zugriff auf Apache kein Dateiname angegeben wird. Es können mehrere Dateien angegeben werden, es gibt jedoch eine Zugriffsreihenfolge.

  • Erstellen Sie eine neue Datei und bearbeiten Sie sie: westo.html

  • Bearbeiten Sie die Konfigurationsdatei: /etc/httpd/conf/httpd.conf

  • Starten Sie den httpd-Dienst neu: systemctl restart httpd

(3) Ändern Sie das Standard-Release-Verzeichnis von apche

  • Erstellen Sie ein neues Verzeichnis: mkdir -p /westos/html/
  • Erstellen Sie eine Datei: vim /westos/html/index.html

  • Bearbeiten Sie die Apache-Konfigurationsdatei: /etc/httpd/conf/httpd.conf

  • Starten Sie den Dienst neu: systemctl restart httpd
  • Test: Geben Sie http://172.25.254.144 in den Browser ein und Sie sehen die standardmäßig veröffentlichte Datei im Verzeichnis /westos/html/.

  • Erstellen Sie ein neues Release-Verzeichnis: mkdir /var/www/html/westos
  • Erstellen Sie eine neue Release-Datei: vim /var/www/html/westos/index.html

  • Bearbeiten Sie die Konfigurationsdatei: vim /etc/httpd/conf/httpd.conf

  • Starten Sie den Dienst neu: systemctl restart httpd
  • Test: http://172.25.254.144/westos/

5 Apache-Zugriffskontrolle

5.1 Zugriffskontrolle basierend auf der Client-IP

  • Basierend auf dem IP-Zugriff gibt es an, welche IPs zugreifen dürfen und welche nicht. Die Reihenfolge von Verweigern und Zulassen in der Konfigurationsdatei bestimmt direkt die Eigenschaften der Blacklist und Whitelist.

(1) Whitelist

  • IP-Whitelist: Nur Benutzer in der Liste können darauf zugreifen
  • Bearbeiten Sie die Konfigurationsdatei: vim /etc/httpd/conf/httpd.conf

  • Starten Sie den Dienst neu: systemctl restart httpd
  • Test: ip=172.25.254.44 ist in der IP-Whitelist und Sie können normal auf http://172.25.254.44/westos zugreifen

Der Host mit IP=172.25.254.144 steht nicht auf der Whitelist und kann nicht auf http://172.25.254.44/westos zugreifen.

(2) IP-Blacklist

  • IP-Blacklist: Nur Benutzer in der Liste können nicht zugreifen
  • Bearbeiten Sie die Konfigurationsdatei: vim /etc/httpd/conf/httpd.conf

  • Test: ip=172.25.254.44 steht auf der IP-Blacklist und Sie können auf http://172.25.254.44/westos normal zugreifen.

IP=172.25.254.144 steht nicht auf der schwarzen Liste und kann normal auf http://172.25.254.44/westos zugreifen.

5.2 Zugriffskontrolle basierend auf Benutzerauthentifizierung

(1) Erlauben Sie einigen Benutzern den Zugriff auf freigegebene Verzeichnisse durch Authentifizierung

  • Generieren Sie eine Authentifizierungsdatei und erstellen Sie einen Administratorbenutzer: htpasswd -cm /etc/httpd/htpasswdfile linux

  • Erstellen Sie einen Linux-Benutzer. Mit -c wird die Benutzerauthentifizierungsdatei neu erstellt, wobei der vorherige Administratorbenutzer überschrieben wird. Durch Eingabe des Kennworts wird der vorherige Benutzer überschrieben: htpasswd -m /etc/httpd/htpasswdfile westos

  • Um nur bestimmten Benutzern die Authentifizierung zu gestatten, bearbeiten Sie die Konfigurationsdatei: vim /etc/httpd/conf/httpd.conf

  • Starten Sie den Dienst neu: systemctl restart httpd
  • Test: Nur authentifizierte Benutzer können auf das freigegebene Verzeichnis zugreifen

(2) Erlauben Sie allen Benutzern den Zugriff auf das freigegebene Verzeichnis durch Authentifizierung

  • Bearbeiten Sie die Konfigurationsdatei: vim /etc/httpd/conf/httpd.conf

  • Starten Sie den Dienst neu: systemctl restart httpd
  • Test: Alle Benutzer können durch Authentifizierung auf das freigegebene Verzeichnis zugreifen

6 virtuelle Apache-Hosts

Virtueller Host: Auf einem realen Host werden mehrere Sites (mehrere Domänennamen) eingerichtet. Der Zugriff auf verschiedene Webseiten eines Hosts erfolgt über Domänennamen. Aus der Netzwerkadresse lässt sich schließen, dass es mehrere Hosts gibt. Diese Hosts werden als virtuelle Hosts bezeichnet.

DNS löst die IP des Domänennamens auf

Erstellen Sie das Standard-Release-Verzeichnis für Linux, News und Medien: mkdir /var/www/westos.com/{linux,news,media}
Die Standard-Release-Datei für Linux: echo "<h1>hello linux</h1>" > /var/www/westos.com/news/index.html
Die Standard-Veröffentlichungsdatei für Nachrichten: echo "<h1>Hallo Neuigkeiten </h1>" > /var/www/westos.com/news/index.html
Die Standard-Veröffentlichungsdatei von Medien: echo "<h1>hello media </h1>" > /var/www/westos.com/media/index.html
  • Erstellen Sie eine neue Apache-Unterkonfigurationsdatei und bearbeiten Sie sie: /etc/httpd/conf.d/vhost.conf

  • Bearbeiten Sie die lokale Domänennamenauflösungsdatei: /etc/hosts

  • Testergebnisse:

7 Apache verschlüsselter Zugriff

(1) Installieren Sie das Verschlüsselungs-Plugin

  • Sehen Sie sich das Verschlüsselungs-Plugin von Apache an: dnf search apache

  • Installieren Sie das Verschlüsselungs-Plugin

(2) Generieren Sie einen privaten Schlüssel: openssl genrsa -out /etc/pki/tls/private/www.westos.com.key

(3) Generieren Sie eine Zertifikatssignaturdatei: openssl req -new -key /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/cert/www.westos.com.csr

(4) Zertifikat generieren:

openssl x509 -req -days 365 -in /etc/pki/tls/certs/www.westos.com.csr -signkey /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/certs/www.westos.com.crt
## x509:Zertifikatformat ## -req-Anforderung ## -in Visa-Name laden ## -signkey 

  • Bearbeiten Sie die Konfigurationsdatei: /etc/httpd/conf.d/ssl.conf

  • Bearbeiten Sie die Unterkonfigurationsdatei von Apache und bearbeiten Sie: /etc/httpd/conf.d/vhost.conf

  • Starten Sie den Dienst neu: systemctl restart httpd

  • Test: Jetzt können Sie den https-Verschlüsselungsdienst normal nutzen

8. Neufassung der Webseite

Geben Sie media.westos.com in den Browser ein und Sie gelangen automatisch zur folgenden Oberfläche

  • Wenn Sie nach dem Aufrufen von media.westos.com auf https://media.westos.com umleiten möchten, können Sie dies tun, indem Sie die Webseite neu schreiben, d. h. beim Zugriff auf http (Port 80) automatisch auf https (Port 443) umleiten.
  • Schritte zum Implementieren der Neuschreibung von Webseiten

(1) Bearbeiten Sie die Apache-Unterkonfigurationsdatei: /etc/httpd/conf.d/vhost.conf

(2) Starten Sie den Dienst neu: systemctl restart httpd

(3) Testen Sie, geben Sie den Domänennamen ein und https wird automatisch geladen

9 Weiterleitungsproxy

(1) Konfigurieren Sie den Squid-Client (der Host kann auf das Internet zugreifen)

  • Bearbeiten Sie die Konfigurationsdatei: /etc/squid/squid.conf

  • Starten Sie den Squid-Dienst: systemctl start squid.service

(2) Client: Testen Sie auf einem Host, der nicht auf das Internet zugreifen kann, und geben Sie Folgendes in den Browser ein: Auf www.baidu.com kann nicht zugegriffen werden

  • Proxy hinzufügen: Einstellungen -> Netzwerkeinstellungen -> Manuelle Proxy-Konfiguration

  • Geben Sie den Host und die Portnummer des Squid-Dienstes ein. Nachdem die Einstellungen abgeschlossen sind, kann der Host, obwohl er nicht mit dem Internet verbunden ist, über den Proxy auf www.baidu.com und andere Websites zugreifen.

  • Auf dem Client getestet, kann normal auf www.baidu.com zugreifen

Der Client-Host kann jedoch immer noch kein Ping an www.baidu.com senden.

10 Reverse-Proxy

Knoten1: virtuelle Maschine 172.25.254.244 ohne Apache-Dienst

node2: Die virtuelle Maschine 172.25.254.193, die den Apache-Dienst normal verwenden kann, konfiguriert die Apache-Release-Datei

  • Laden Sie den Proxy herunter: dnf install squid -y

  • Bearbeiten Sie die Konfigurationsdatei: vim /etc/squid/squid.conf

  • Starten Sie den Squid-Dienst neu: systemctl restart squid
    Der Host 172.25.254.244, der ursprünglich keinen Apache-Dienst hatte, kann Daten über Port 80 (http) von 172.25.254.193 zwischenspeichern

11 von Apache unterstützte Sprachen

php

Starten Sie den Apache-Dienst neu: systemctl restart httpd.service

Test: http://172.25.254.144/index.php

cgi

mkdir /var/www/html/cgi

vim /var/www/html/cgi/index.cgi

cd /var/www/html/cgi

chmod +x index.cgi

./var/www/html/cgi/index.cgi

Test: http://172.25.254.144/cgi/index.cgi

Bearbeiten Sie die Konfigurationsdatei des virtuellen Hosts: vim /etc/httpd/conf.d/vhost.conf

Starten Sie den Dienst neu: systemctl restart httpd.service

Test: http://172.25.254.144/cgi/index.cgi

Damit ist dieser Artikel zur Bereitstellung und Konfiguration von Apache-Diensten unter Linux abgeschlossen. Ich hoffe, dass es für jedermanns Studium hilfreich sein wird, und ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Linux-Installation Apache-Server-Konfigurationsprozess
  • Schritte zum Erstellen eines Dateiservers mit Apache unter Linux
  • So installieren Sie den Apache-Dienst im Linux-Betriebssystem
  • Detaillierte Erläuterung der Apache-Website-Dienstkonfiguration basierend auf Linux
  • Eine kurze Analyse der Konfiguration und Verwaltung von Apache-Servern unter Linux

<<:  Implementierung neuer Probleme mit CSS3-Selektoren

>>:  Beispiel für die Implementierung einer eingebetteten Tabelle mit vue+elementUI

Artikel empfehlen

JavaScript zum Erzielen eines dynamischen Tabelleneffekts

In diesem Artikel wird der spezifische Code für J...

Detaillierte Erklärung zur Formatierung von Zahlen in MySQL

Aus beruflichen Gründen musste ich kürzlich Zahle...

JS implementiert Layoutkonvertierung in Animation

Beim Schreiben von Animationen mit JS wird häufig...

So verwenden Sie CSS-Variablen in JS

So verwenden Sie CSS-Variablen in JS Verwenden Si...

MySQL 5.7.19 neueste Binärinstallation

Laden Sie zunächst die Zip-Archivversion von der ...

Informationen zum Debuggen von CSS-Cross-Browser-Style-Fehlern

Als Erstes müssen Sie einen guten Browser auswähl...

So konfigurieren Sie WordPress mit Nginx

Zuvor hatte ich WordPress selbst erstellt, aber d...

Erweiterte Docker-Methode zur schnellen Erweiterung

1. Befehlsmethode Führen Sie den Nginx-Dienst im ...

Javascript Frontend Optimierungscode

Inhaltsverzeichnis Optimierung der if-Beurteilung...

vue verwendet Ele.me UI, um die Filterfunktion von Teambition zu imitieren

Inhaltsverzeichnis Problembeschreibung Die allgem...