Le serveur HTTP Apache est le serveur Web le plus populaire au monde. Il s'agit d'un serveur HTTP gratuit, open source et multiplateforme offrant des fonctionnalités puissantes qui peuvent être étendues par une grande variété de modules. Les instructions suivantes décrivent comment installer et gérer le serveur Web Apache sur votre machine CentOS 7.
Prérequis #
Avant de commencer le didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec des privilèges sudo.
Installation d'Apache #
Apache est disponible dans les référentiels CentOS par défaut et l'installation est assez simple.
Sur CentOS et RHEL, le package Apache et le service s'appellent httpd
. Pour installer le package, exécutez la commande suivante :
sudo yum install httpd
Une fois l'installation terminée, activez et démarrez le service Apache :
sudo systemctl enable httpd
sudo systemctl start httpd
Réglage du pare-feu #
Si votre serveur est protégé par un pare-feu, vous devez ouvrir les ports HTTP et HTTPS, 80
et 443
. Utilisez les commandes suivantes pour ouvrir les ports nécessaires :
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Vérification de l'installation d'Apache #
Maintenant qu'Apache est installé et exécuté sur notre serveur CentOS 7, nous pouvons vérifier l'état et la version du service Apache, avec :
sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-04-26 07:13:07 UTC; 11s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 3049 (httpd)
...
sudo httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 19 2017 20:39:16
Enfin pour vérifier si tout fonctionne correctement, ouvrez l'adresse IP de votre serveur http://YOUR_IP
dans le navigateur de votre choix, et vous verrez la page d'accueil par défaut de CentOS 7 Apache comme indiqué ci-dessous :
Gestion du service Apache #
Vous pouvez gérer le service Apache de la même manière que n'importe quelle autre unité systemd.
Pour arrêter le service Apache, exécutez :
sudo systemctl stop httpd
Pour le relancer, tapez :
sudo systemctl start httpd
Pour redémarrer le service Apache :
sudo systemctl restart httpd
Pour recharger le service Apache après avoir apporté des modifications à la configuration :
sudo systemctl reload httpd
Si vous souhaitez désactiver le service Apache pour qu'il démarre au démarrage :
sudo systemctl disable httpd
Et pour le réactiver :
sudo systemctl enable httpd
Structure et meilleures pratiques du fichier de configuration Apache #
- Tous les fichiers de configuration d'Apache se trouvent dans
/etc/httpd
répertoire. - Le fichier de configuration Apache principal est
/etc/httpd/conf/httpd.conf
. - Tous les fichiers de configuration se terminant par
.conf
situé dans le/etc/httpd/conf.d
sont inclus dans le fichier de configuration principal d'Apache. - Les fichiers de configuration responsables du chargement de divers modules Apache sont situés dans
/etc/httpd/conf.modules.d
répertoire. - Pour une meilleure maintenabilité, il est recommandé de créer un fichier de configuration distinct (vhost) pour chaque domaine.
- Les nouveaux fichiers vhost Apache doivent se terminer par
.conf
et être stocké dans/etc/httpd/conf.d
annuaire. Vous pouvez avoir autant de vhosts que vous le souhaitez. - C'est une bonne idée de suivre une convention de dénomination standard, par exemple si votre nom de domaine est
mydomain.com
alors vous le fichier de configuration devrait être nommé/etc/httpd/conf.d/mydomain.com.conf
- Fichiers journaux Apache (
access_log
eterror_log
) sont situés dans le/var/log/httpd/
annuaire. Il est recommandé d'avoir unaccess
différent eterror
fichiers journaux pour chaque vhost. - Vous pouvez définir le répertoire racine des documents de votre domaine à l'emplacement de votre choix. Les emplacements les plus courants pour la racine Web incluent :
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>