Handige opdrachten om Apache-webserver in Linux te beheren


In deze tutorial zullen we enkele van de meest gebruikte Apache (HTTPD) servicebeheeropdrachten beschrijven die je als ontwikkelaar of systeembeheerder zou moeten kennen en je moet deze opdrachten binnen handbereik houden. We zullen opdrachten tonen voor zowel Systemd als SysVinit.

Zorg ervoor dat de volgende opdrachten moeten worden uitgevoerd als root- of sudo-gebruiker en moeten werken op elke Linux-distributie zoals CentOS, RHEL, Fedora Debian en Ubuntu.

Installeer Apache Server

Om de Apache-webserver te installeren, gebruikt u uw standaard distributiepakketbeheerder, zoals weergegeven.

$ 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]

Controleer Apache-versie

Voer de volgende opdracht uit om de geïnstalleerde versie van uw Apache-webserver op uw Linux-systeem te controleren.

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

Als je het Apache-versienummer wilt weergeven en de instellingen wilt compileren, gebruik dan de vlag -V zoals weergegeven.

$ sudo httpd -V
OR
$ sudo apache2 -V
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"

Controleer Apache-configuratiesyntaxisfouten

Om uw Apache-configuratiebestanden op syntaxisfouten te controleren, voert u de volgende opdracht uit, die de geldigheid van de configuratiebestanden controleert voordat u de service opnieuw start.

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

Start Apache-service

Voer de volgende opdracht uit om de Apache-service te 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]

Schakel Apache-service in

Het vorige commando start de Apache-service alleen in de tussentijd, om het automatisch starten bij het opstarten van het systeem in te schakelen, voert u het volgende commando uit.

------------ 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]

Start Apache-service opnieuw

Voer de volgende opdracht uit om Apache opnieuw te starten (stop en start de service).

------------ 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]

Bekijk de Apache-servicestatus

Om de statusinformatie van de Apache-service te controleren, voert u de volgende opdracht uit.

------------ 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]

Herlaad Apache-service

Als je wijzigingen hebt aangebracht in de Apache-serverconfiguratie, kun je de service opdracht geven om de configuratie opnieuw te laden door de volgende opdracht uit te voeren.

------------ 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]

Stop Apache-service

Gebruik de volgende opdracht om de Apache-service te stoppen.

------------ 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]

Toon Apache Command Help

Last but not least kunt u hulp krijgen over de Apache-serviceopdrachten onder systemd door de volgende opdracht uit te voeren.

$ sudo httpd -h
OR
$ sudo apache2 -h		
OR
$ systemctl -h apache2	
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)

U kunt meer informatie over systemctl vinden door te raadplegen: Hoe ‘Systemd’ -services en -eenheden te beheren met ‘Systemctl’ in Linux.

Misschien wil je ook deze volgende Apache-gerelateerde artikelen lezen.

  1. 5 Tips to Boost the Performance of Your Apache Web Server
  2. How to Monitor Apache Web Server Load and Page Statistics
  3. How to Administrate the Apache Web Server Using “Apache GUI” Tool
  4. How to Change Apache HTTP Port in Linux
  5. 13 Apache Web Server Security and Hardening Tips
  6. Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules

Dat is het voor nu! In dit artikel hebben we de meest gebruikte Apache/HTTPD-servicebeheeropdrachten uitgelegd die u moet kennen, inclusief het starten, inschakelen, herstarten en stoppen van Apache. Voor vragen of opmerkingen kunt u ons altijd bereiken via onderstaand feedbackformulier.