Comandi utili per gestire il server web Apache in Linux

In questo tutorial, descriveremo alcuni dei comandi di gestione del servizio 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: 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 dovrebbero funzionare su qualsiasi distribuzione Linux come CentOS, RHEL, Fedora Debian e Ubuntu.

Installa il server Apache

Per installare il server web Apache, utilizza il tuo gestore di pacchetti predefinito della distribuzione 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 controllare la versione installata del server web Apache sul tuo sistema Linux, esegui il seguente comando.

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

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

$ sudo httpd -V
OR
$ sudo apache2 -V
Output di esempio
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 nella configurazione di Apache

Per controllare i file di configurazione di Apache per eventuali errori di sintassi, esegui il seguente comando, che verificherà la validità dei file di configurazione, prima di riavviare il servizio.

$ 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

Avvia il servizio Apache

Per avviare il servizio Apache, esegui il seguente comando.

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

Il comando precedente avvia solo il servizio Apache temporaneamente, per abilitarlo all’avvio automatico al boot del sistema, esegui il seguente comando.

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

Riavvia il servizio Apache

Per riavviare Apache (ferma e poi avvia il servizio), esegui il seguente comando.

------------ 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 controllare le informazioni sullo stato di esecuzione del servizio Apache, esegui il seguente comando.

------------ 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 seguente comando.

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

Ferma il servizio Apache

Per fermare 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 l’aiuto dei comandi Apache

Infine, puoi ottenere aiuto sui comandi del servizio Apache sotto systemd eseguendo il seguente comando.

$ sudo httpd -h
OR
$ sudo apache2 -h		
OR
$ systemctl -h apache2	
Output di esempio
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.

Potresti anche essere interessato a leggere questi articoli correlati ad Apache.

  1. 5 Suggerimenti per Potenziare le Prestazioni del Tuo Server Web Apache
  2. Come Monitorare il Carico e le Statistiche delle Pagine del Server Web Apache
  3. Come Amministrare il Server Web Apache Utilizzando lo Strumento “Apache GUI”
  4. Come Cambiare la Porta HTTP di Apache in Linux
  5. 13 Suggerimenti per la Sicurezza e il Rafforzamento del Server Web Apache
  6. Proteggi Apache dai Tentativi di Forza Bruta o Attacchi DDoS Utilizzando i Moduli Mod_Security e Mod_evasive

E questo è tutto per ora! In questo articolo, abbiamo spiegato i comandi di gestione del servizio Apache/HTTPD più comunemente utilizzati che dovresti conoscere, inclusi avvio, abilitazione, riavvio e arresto di Apache. Puoi sempre contattarci tramite il modulo di feedback qui sotto per eventuali domande o commenti.

Source:
https://www.tecmint.com/manage-apache-web-server-in-linux/