Recherche de site Web

Commandes utiles pour gérer le serveur Web Apache sous Linux


Dans ce didacticiel, nous décrirons certaines des commandes de gestion de services Apache (HTTPD) les plus couramment utilisées que vous devez connaître en tant que développeur ou administrateur système et que vous devez garder ces commandes à portée de main. Nous afficherons les commandes pour Systemd et SysVinit.

Lire aussi : 10 commandes Nginx les plus utilisées que tout utilisateur Linux doit connaître

Assurez-vous que les commandes suivantes doivent être exécutées en tant qu'utilisateur root ou sudo et doivent fonctionner sur n'importe quelle distribution Linux telle que CentOS, RHEL, Fedora Debian et Ubuntu.

Installer le serveur Apache

Pour installer le serveur Web Apache, utilisez votre gestionnaire de packages de distribution par défaut, comme indiqué.

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]

Vérifier la version d'Apache

Pour vérifier la version installée de votre serveur Web Apache sur votre système Linux, exécutez la commande suivante.

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

Si vous souhaitez afficher le numéro de version d'Apache et les paramètres de compilation, utilisez l'indicateur -V comme indiqué.

sudo httpd -V
OR
sudo apache2 -V
Exemple de sortie
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"

Vérifier les erreurs de syntaxe de configuration Apache

Pour vérifier vos fichiers de configuration Apache pour détecter d'éventuelles erreurs de syntaxe, exécutez la commande suivante, qui vérifiera la validité des fichiers de configuration, avant de redémarrer le service.

sudo httpd -t
OR
sudo apache2ctl -t
Exemple de sortie
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

Démarrer le service Apache

Pour démarrer le service Apache, exécutez la commande suivante.

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

Activer le service Apache

La commande précédente démarre uniquement le service Apache pour le moment. Pour lui permettre de démarrer automatiquement au démarrage du système, exécutez la commande suivante.

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

Redémarrer le service Apache

Pour redémarrer Apache (arrêter puis démarrer le service), exécutez la commande suivante.

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

Afficher l'état du service Apache

Pour vérifier les informations sur l'état d'exécution du service Apache, exécutez la commande suivante.

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

Recharger le service Apache

Si vous avez apporté des modifications à la configuration du serveur Apache, vous pouvez demander au service de recharger sa configuration en exécutant la commande suivante.

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

Arrêter le service Apache

Pour arrêter le service Apache, utilisez la commande suivante.

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

Afficher l'aide de la commande Apache

Enfin, vous pouvez obtenir de l'aide sur les commandes du service Apache sous systemd en exécutant la commande suivante.

sudo httpd -h
OR
sudo apache2 -h		
OR
systemctl -h apache2	
Exemple de sortie
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)

Vous pouvez trouver plus d'informations sur systemctl en consultant : Comment gérer les services et les unités « Systemd » à l'aide de « Systemctl » sous Linux.

Vous aimerez peut-être également lire les articles suivants sur Apache.

  1. 5 conseils pour augmenter les performances de votre serveur Web Apache
  2. Comment surveiller la charge du serveur Web Apache et les statistiques de page
  3. Comment administrer le serveur Web Apache à l'aide de l'outil « Apache GUI »
  4. Comment changer le port HTTP Apache sous Linux
  5. 13 Conseils de sécurité et de renforcement du serveur Web Apache
  6. Protégez Apache contre les attaques par force brute ou DDoS à l'aide des modules Mod_Security et Mod_evasive

C'est tout pour le moment! Dans cet article, nous avons expliqué les commandes de gestion de services Apache/HTTPD les plus couramment utilisées que vous devez connaître, notamment le démarrage, l'activation, le redémarrage et l'arrêt d'Apache. Vous pouvez toujours nous joindre via le formulaire de commentaires ci-dessous pour toute question ou commentaire.