Website-Suche

Nützliche Befehle zum Verwalten des Apache-Webservers unter Linux


In diesem Tutorial beschreiben wir einige der am häufigsten verwendeten Apache (HTTPD)-Dienstverwaltungsbefehle, die Sie als Entwickler oder Systemadministrator kennen und die Sie immer zur Hand haben sollten. Wir zeigen Befehle sowohl für Systemd als auch für SysVinit.

Lesen Sie auch: Die 10 am häufigsten verwendeten Nginx-Befehle, die jeder Linux-Benutzer kennen muss

Stellen Sie sicher, dass die folgenden Befehle als root- oder sudo-Benutzer ausgeführt werden müssen und auf jeder Linux-Distribution wie CentOS, RHEL funktionieren sollten. Fedora Debian und Ubuntu.

Installieren Sie den Apache-Server

Um den Apache-Webserver zu installieren, verwenden Sie wie gezeigt Ihren Standard-Paketmanager.

sudo apt install apache2	    [On Debian/Ubuntu]
sudo yum install httpd	    [On RHEL/CentOS]
sudo dnf install httpd	    [On Fedora 22+]
sudo zypper install apache2	    [On openSUSE]

Überprüfen Sie die Apache-Version

Um die installierte Version Ihres Apache-Webservers auf Ihrem Linux-System zu überprüfen, führen Sie den folgenden Befehl aus.

sudo httpd -v
OR
sudo apache2 -v
Beispielausgabe
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

Wenn Sie die Apache-Versionsnummer und die Kompilierungseinstellungen anzeigen möchten, verwenden Sie das Flag -V wie gezeigt.

sudo httpd -V
OR
sudo apache2 -V
Beispielausgabe
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09
Server's Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Überprüfen Sie die Syntaxfehler der Apache-Konfiguration

Um Ihre Apache-Konfigurationsdateien auf Syntaxfehler zu überprüfen, führen Sie den folgenden Befehl aus, der die Gültigkeit der Konfigurationsdateien überprüft, bevor Sie den Dienst neu starten.

sudo httpd -t
OR
sudo apache2ctl -t
Beispielausgabe
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using linux-console.net. 
Set the 'ServerName' directive globally to suppress this message
Syntax OK

Starten Sie den Apache-Dienst

Führen Sie den folgenden Befehl aus, um den Apache-Dienst zu starten.

------------ On CentOS/RHEL ------------ 
sudo systemctl start httpd     [On Systemd]
sudo service httpd start 	 [On SysVInit]

------------ On Ubunt/Debian  ------------
sudo systemctl start apache2   [On Systemd]
sudo service apache2 start     [On SysVInit]

Aktivieren Sie den Apache-Dienst

Der vorherige Befehl startet den Apache-Dienst nur in der Zwischenzeit. Um den automatischen Start beim Systemstart zu ermöglichen, führen Sie den folgenden Befehl aus.

------------ On CentOS/RHEL ------------ 
sudo systemctl enable httpd     [On Systemd]
sudo chkconfig httpd on 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
sudo systemctl enable apache2   [On Systemd]
sudo chkconfig apache2 on       [On SysVInit]

Starten Sie den Apache-Dienst neu

Um Apache neu zu starten (den Dienst zu stoppen und dann zu starten), führen Sie den folgenden Befehl aus.

------------ On CentOS/RHEL ------------ 
sudo systemctl restart httpd     [On Systemd]
sudo service httpd restart 	   [On SysVInit]

------------ On Ubunt/Debian  ------------
sudo systemctl restart apache2   [On Systemd]
sudo service apache2 restart     [On SysVInit]

Apache-Dienststatus anzeigen

Führen Sie den folgenden Befehl aus, um die Laufzeitstatusinformationen des Apache-Dienstes zu überprüfen.

------------ On CentOS/RHEL ------------ 
sudo systemctl status httpd     [On Systemd]
sudo service httpd status 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
sudo systemctl status apache2   [On Systemd]
sudo service apache2 status     [On SysVInit]

Laden Sie den Apache-Dienst neu

Wenn Sie Änderungen an der Apache-Serverkonfiguration vorgenommen haben, können Sie den Dienst anweisen, seine Konfiguration neu zu laden, indem Sie den folgenden Befehl ausführen.

------------ On CentOS/RHEL ------------ 
sudo systemctl reload httpd     [On Systemd]
sudo service httpd reload 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
sudo systemctl reload apache2   [On Systemd]
sudo service apache2 reload     [On SysVInit]

Stoppen Sie den Apache-Dienst

Um den Apache-Dienst zu stoppen, verwenden Sie den folgenden Befehl.

------------ On CentOS/RHEL ------------ 
sudo systemctl stop httpd       [On Systemd]
sudo service httpd stop 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
sudo systemctl stop apache2     [On Systemd]
sudo service apache2 stop     [On SysVInit]

Hilfe zum Apache-Befehl anzeigen

Zu guter Letzt können Sie Hilfe zu den Apache-Dienstbefehlen unter systemd erhalten, indem Sie den folgenden Befehl ausführen.

sudo httpd -h
OR
sudo apache2 -h		
OR
systemctl -h apache2	
Beispielausgabe
Usage: httpd [-D name] [-d directory] [-f file]
             [-C "directive"] [-c "directive"]
             [-k start|restart|graceful|graceful-stop|stop]
             [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

Weitere Informationen zu systemctl finden Sie unter: So verwalten Sie „Systemd“-Dienste und -Einheiten mit „Systemctl“ in Linux.

Vielleicht möchten Sie auch die folgenden Artikel zum Thema Apache lesen.

  1. 5 Tipps zur Steigerung der Leistung Ihres Apache-Webservers
  2. So überwachen Sie die Auslastung und Seitenstatistiken des Apache-Webservers
  3. So verwalten Sie den Apache-Webserver mit dem Tool „Apache GUI“.
  4. So ändern Sie den Apache HTTP-Port unter Linux
  5. 13 Tipps zur Sicherheit und Härtung des Apache-Webservers
  6. Schützen Sie Apache vor Brute-Force- oder DDoS-Angriffen mit den Modulen Mod_Security und Mod_evasive

Das ist alles für jetzt! In diesem Artikel haben wir die am häufigsten verwendeten Apache/HTTPD-Dienstverwaltungsbefehle erklärt, die Sie kennen sollten, einschließlich Starten, Aktivieren, Neustarten und Stoppen von Apache. Für Fragen oder Kommentare können Sie uns jederzeit über das unten stehende Feedback-Formular erreichen.