Ricerca nel sito web

Comandi utili per gestire il server Web Apache in Linux


In questo tutorial descriveremo alcuni dei comandi di gestione dei servizi Apache (HTTPD) più comunemente utilizzati che dovresti conoscere come sviluppatore o amministratore di sistema e dovresti tenere questi comandi a portata di mano. Mostreremo i comandi sia per Systemd che per SysVinit.

Leggi anche: i 10 comandi Nginx più utilizzati che ogni utente Linux deve conoscere

Assicurati che i seguenti comandi debbano essere eseguiti come utente root o sudo e funzionino su qualsiasi distribuzione Linux come CentOS, RHEL, Fedora, Debian e Ubuntu.

Installa il server Apache

Per installare il server Web Apache, utilizzare il gestore pacchetti di distribuzione predefinito come mostrato.

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]

Controlla la versione di Apache

Per verificare la versione installata del tuo server web Apache sul tuo sistema Linux, esegui il comando seguente.

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

Se vuoi visualizzare il numero di versione di Apache e le impostazioni di compilazione, usa il flag -V come mostrato.

sudo httpd -V
OR
sudo apache2 -V
Uscita del campione
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"

Controlla gli errori di sintassi della configurazione di Apache

Per verificare la presenza di eventuali errori di sintassi nei file di configurazione di Apache, eseguire il comando seguente, che controllerà la validità dei file di configurazione, prima di riavviare il servizio.

sudo httpd -t
OR
sudo apache2ctl -t
Uscita del campione
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

Avvia il servizio Apache

Per avviare il servizio Apache, esegui il comando seguente.

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

Abilita il servizio Apache

Nel frattempo il comando precedente avvia solo il servizio Apache, per abilitarlo all'avvio automatico all'avvio del sistema, eseguire il comando seguente.

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

Riavviare il servizio Apache

Per riavviare Apache (interrompere e quindi avviare il servizio), eseguire il comando seguente.

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

Visualizza lo stato del servizio Apache

Per verificare le informazioni sullo stato del runtime del servizio Apache, esegui il comando seguente.

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

Ricarica il servizio Apache

Se hai apportato modifiche alla configurazione del server Apache, puoi istruire il servizio a ricaricare la sua configurazione eseguendo il comando seguente.

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

Arresta il servizio Apache

Per interrompere il servizio Apache, utilizza il seguente comando.

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

Mostra la guida dei comandi Apache

Ultimo ma non meno importante, puoi ottenere aiuto sui comandi del servizio Apache in systemd eseguendo il comando seguente.

sudo httpd -h
OR
sudo apache2 -h		
OR
systemctl -h apache2	
Uscita del campione
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)

Puoi trovare ulteriori informazioni su systemctl consultando: Come gestire i servizi e le unità "Systemd" utilizzando "Systemctl" in Linux.

Potrebbe interessarti anche leggere i seguenti articoli relativi ad Apache.

  1. 5 suggerimenti per migliorare le prestazioni del tuo server Web Apache
  2. Come monitorare il carico del server Web Apache e le statistiche delle pagine
  3. Come amministrare il server Web Apache utilizzando lo strumento "Apache GUI".
  4. Come modificare la porta HTTP Apache in Linux
  5. 13 Suggerimenti per la sicurezza e il rafforzamento del server Web Apache
  6. Proteggi Apache dagli attacchi Brute Force o DDoS utilizzando i moduli Mod_Security e Mod_evasive

È tutto per ora! In questo articolo abbiamo spiegato i comandi di gestione dei servizi Apache/HTTPD più comunemente utilizzati che dovresti conoscere, inclusi l'avvio, l'abilitazione, il riavvio e l'arresto di Apache. Puoi sempre contattarci tramite il modulo di feedback qui sotto per qualsiasi domanda o commento.