Serveur HTTP Apache
Apache HTTP Server, un serveur Web open source développé par Apache Software Foundation. Le serveur Apache est utilisé pour héberger du contenu Web. Il répond aux demandes de contenu des navigateurs Web, tels qu'Internet Explorer et Firefox.
Remarque :Le poste utilise la distribution RHEL/CentOS 7 pour installer et configurer le serveur Apache. Bien que les commandes de démarrage/arrêt/installation puissent différer, les étapes de configuration sont les mêmes dans toutes les distributions LinuxInstallation d'Apache
Pour configurer votre système en tant que serveur Web, commencez par installer le progiciel httpd.
# yum install httpd
Utilisez l'utilitaire systemctl pour permettre au démon HTTP de démarrer au moment du démarrage et également pour démarrer le démon immédiatement.
# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. # systemctl start httpd
Fichiers de configuration
Le fichier de configuration principal pour Apache est /etc/httpd/conf/httpd.conf . Un répertoire auxiliaire, /etc/httpd/conf.d , existe également pour stocker les fichiers de configuration qui sont inclus dans le fichier de configuration principal. Les fichiers de configuration qui chargent les modules se trouvent dans /etc/httpd/conf.modules.d répertoire.
Nouvelles sous-commandes apachectl dans CentOS / RHEL 7
Une nouvelle sous-commande apachectl est disponible dans CentOS / RHEL 7. L'exemple suivant utilise le configtest sous-commande pour vérifier la configuration pour d'éventuelles erreurs.
# apachectl configtest
Utilisez le gracieux sous-commande pour recharger la configuration sans affecter les requêtes actives.
# apachectl graceful
Configurer Apache
Le fichier de configuration principal pour Apache est /etc/httpd/conf/httpd.conf . Apache s'exécute tel qu'installé, mais vous pouvez modifier les directives de configuration dans ce fichier pour personnaliser Apache pour votre environnement. Certaines de ces directives sont décrites dans le post ci-dessous.
Serveur HTTP Apache - directives de configuration les plus couramment utiliséesTester le serveur HTTP Apache
Vous pouvez confirmer qu'Apache fonctionne en pointant un navigateur sur le système local vers http://localhost comme indiqué dans l'image ci-dessous. Vous pouvez également faire pointer un navigateur vers http:// suivi de l'adresse IP publique du serveur ou du ServerName directive que vous avez spécifiée dans le fichier de configuration. La page de test ci-dessous confirme le fonctionnement du serveur HTTP Apache.
Pour tester l'affichage du contenu réel, créez un fichier HTML nommé index.html dans le répertoire spécifié par la directive DocumentRoot (le répertoire par défaut est /var/www/html ). Apache affiche automatiquement le fichier index.html dans ce répertoire, s'il existe.
Conteneurs Apache
Les conteneurs Apache sont des directives de configuration spéciales qui regroupent d'autres directives. Les conteneurs utilisent des balises de style XML, ce qui signifie que le début d'un conteneur est
Hôtes virtuels Apache
Apache prend en charge les hôtes virtuels, ce qui signifie qu'un seul serveur Apache peut répondre aux requêtes dirigées vers plusieurs adresses IP ou noms d'hôtes. Chaque hôte virtuel peut fournir du contenu et être configuré différemment.
Vous pouvez configurer les hôtes virtuels de deux manières :
1. Hôtes virtuels basés sur IP (hôte par IP)
hôte par IP
Avec l'hôte par IP, chaque hôte virtuel a sa propre combinaison d'adresse IP et de port. Le serveur Web Apache répond à l'adresse IP que l'hôte résout. Host-by-IP est nécessaire pour traiter les requêtes HTTPS en raison des restrictions du protocole Secure Sockets Layer (SSL).
hôte par nom
Avec le nom d'hôte, tous les hôtes virtuels partagent l'adresse IP commune. Apache répond à la demande en mappant le nom d'hôte dans la demande à ServerName et ServerAlias directives dans le fichier de configuration de l'hôte virtuel particulier.
Utilisez le conteneur
L'exemple suivant est une configuration simple d'hôtes virtuels basée sur le nom :
<VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/example1 ErrorLog example1.error_log </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias www.example2.com DocumentRoot /var/www/example2 ErrorLog example2.error_log </VirtualHost>