Principes de base d’Apache: Résolution des problèmes d’installation et de configuration

introduction

Le serveur Web Apache est un serveur Web à source ouverte reconnu pour sa flexibilité, sa puissance et son support étendu. Dans ce guide, nous allons passer en revue certaines procédures courantes de gestion du serveur Apache, notamment l’arrêt, le démarrage et l’activation du service, l’utilisation des fichiers et des répertoires d’hôte virtuel et la localisation des fichiers et des répertoires importants sur votre serveur.

Ce guide est axé sur les utilisateurs travaillant avec Apache sur Ubuntu. Les utilisateurs travaillant sur CentOS et d’autres distributions basées sur RHEL peuvent consulter la section 1 dans https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on- centos-7 [ce tutoriel] pour plus d’informations sur l’installation d’Apache sur CentOS.

Comment utiliser ce guide:

  • Chaque section peut être utilisée indépendamment les unes des autres, alors n’hésitez pas à passer aux sections correspondant à vos besoins.

  • Chaque commande est autonome, vous permettant de substituer vos propres valeurs à celles en rouge.

  • Chaque section contient des ressources liées que vous pouvez consulter pour plus d’informations sur les sujets traités.

Installation du service Apache

Pour installer le service Apache, mettez à jour les index de vos packages, puis installez:

sudo apt-get update
sudo apt-get install apache2

Pour plus de détails sur le processus d’installation, suivez notre tutoriel à l’adresse How To Installez le serveur Web Apache sur Ubuntu 16.04.

Activation et désactivation de l’unité Apache

Notre service Apache est configuré pour démarrer automatiquement au démarrage. Si nous voulions modifier ce comportement, nous pourrions toutefois taper:

sudo systemctl disable apache2.service

Pour permettre à Apache de redémarrer au démarrage:

sudo systemctl enable apache2.service

Arrêt, démarrage et rechargement d’Apache

Pour arrêter le serveur Apache, tapez la commande suivante:

sudo systemctl stop apache2

Pour démarrer le serveur Apache, tapez:

sudo systemctl start apache2

Pour arrêter le service et le redémarrer, tapez:

sudo systemctl restart apache2

Si vous apportez des modifications à la configuration, vous pouvez recharger Apache sans interrompre les connexions. Tapez la commande suivante:

sudo systemctl reload apache2

Pour en savoir plus sur le système + systemd + init et la commande + systemctl +, consultez cette https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and- the-journal [introduction à systemd essentials].

Vérification de l’état du serveur

Pour vérifier l’état de votre serveur Apache, tapez:

sudo systemctl status apache2

La sortie de cette commande vous indiquera si Apache est en cours d’exécution et vous montrera les dernières lignes des fichiers journaux.

Création d’un répertoire racine de document pour un site Web statique

Lorsqu’ils utilisent Apache pour créer des sites Web, les développeurs utilisent fréquemment les unités + hôtes virtuels + qui comprennent des sites ou des domaines individuels. Ce processus implique la création d’un répertoire pour le + document root +, le répertoire de niveau supérieur qu’Apache vérifie lors de la diffusion de contenu.

Créez le répertoire:

sudo mkdir -p /var/www//public_html

Attribuez la propriété du répertoire à votre utilisateur non root:

sudo chown -R $USER:$USER /var/www//public_html

Autoriser l’accès en lecture au répertoire Web général:

sudo find /var/www -type d -exec chmod  {} \;

Pour plus d’informations sur les autorisations, consultez notre introduction aux autorisations Linux. N’oubliez pas que vos autorisations peuvent varier en fonction de vos besoins et de vos cas d’utilisation.

Création d’un répertoire racine de document pour les modules de traitement dynamique

Si vous utilisez un module de traitement dynamique tel que PHP, vous créerez le répertoire racine de votre document comme suit:

sudo mkdir -p /var/www//public_html

Attribuez la propriété du répertoire à votre utilisateur non root et la propriété du groupe au groupe + www-data +:

sudo chown -R :www-data /var/www//public_html

Modification des paramètres de configuration

Lorsque vous travaillez avec des hôtes virtuels, il est nécessaire de modifier les paramètres de configuration pour refléter les spécificités du domaine, afin qu’Apache puisse répondre correctement aux demandes de domaine.

Ouvrez le fichier de configuration de votre hôte virtuel:

sudo nano /etc/apache2/sites-available/.conf

Modifier les éléments suivants:

ServerAdmin
ServerName
ServerAlias
DocumentRoot /var/www//public_html

Avec les modifications, le fichier devrait ressembler à ceci (à condition qu’il n’ait pas été modifié auparavant):

/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
       ServerAdmin
       ServerName
       ServerAlias
       DocumentRoot /var/www//public_html
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Lors du dépannage, assurez-vous de vérifier ce fichier et ses directives.

Pour plus d’informations sur l’utilisation des hôtes virtuels, consultez notre discussion à l’adresse working. avec les hôtes virtuels Apache sur Ubuntu 16.04.

Activation et désactivation des fichiers de configuration

Fichiers d’hôtes virtuels

Pour activer les fichiers de configuration d’hôte virtuel:

sudo a2ensite .conf

Pour désactiver les fichiers de configuration (dans cet exemple particulier, le fichier de configuration d’hôte virtuel par défaut Apache):

sudo a2dissite 000-default.conf

Modules

Pour activer les modules trouvés dans + / etc / apache2 / mods-available +, utilisez la commande suivante:

sudo a2enmod

Pour désactiver un module spécifique:

sudo a2dismod

Fichiers de configuration

Pour activer les fichiers de configuration dans + / etc / apache2 / conf-available + -files non associés au type d’hôtes virtuels:

sudo a2enconf

Pour désactiver un fichier de configuration:

sudo a2disconf

Test de configuration

Chaque fois que vous apportez des modifications aux fichiers de configuration dans Apache, veillez à exécuter la commande suivante pour vérifier les erreurs de syntaxe:

sudo apache2ctl configtest

Fichiers et répertoires importants

À mesure que vous continuez de travailler avec Apache, vous rencontrerez les répertoires et fichiers suivants:

Contenu

  • + / var / www / html +: Ce répertoire contient le contenu Web de votre site et constitue sa racine par défaut. Vous pouvez modifier les paramètres de configuration par défaut d’Apache pour qu’ils pointent vers d’autres répertoires situés dans + var / www.

Configuration du serveur

  • + / etc / apache2 +: Le répertoire de configuration dans Apache, abritant tous ses fichiers de configuration.

  • + / etc / apache2 / apache2.conf +: le fichier de configuration principal d’Apache, qui stocke ses paramètres de configuration globaux. Les autres fichiers du répertoire de configuration sont chargés à partir de ce fichier. Il stocke également les directives + FollowSymLinks +, qui contrôlent l’activation et la désactivation de la configuration.

  • + / etc / apache2 / sites-available / +: ce répertoire contient les fichiers de configuration d’hôte virtuel, activés via des liens vers le répertoire + sites-enabled +. La modification des fichiers de bloc de serveur se produit dans ce répertoire et est activée via la commande + a2ensite +.

  • + / etc / apache2 / sites-enabled / +: les fichiers de configuration d’hôte virtuel activés sont stockés ici. Quand Apache démarre ou se recharge, il lit les fichiers de configuration et les liens dans ce répertoire au fur et à mesure de la conformité de la configuration complète.

  • + / etc / apache2 / conf-available + et + / etc / apache2 / conf-enabled +: Dans la même relation que + sites-available + et + sites-enabled +, ces répertoires contiennent des fragments de configuration qui sont: non attaché aux fichiers de configuration de l’hôte virtuel.

  • + / etc / apache2 / mods-available + et + / etc / apache2 / mods-enabled +: Contenant les modules disponibles et activés, ces répertoires ont deux composants: les fichiers se terminant par + .load +, qui contiennent des fragments qui chargent des modules particuliers et des fichiers se terminant par + .conf +, qui stockent les configurations de ces modules.

Journaux du serveur

  • + / var / log / apache2 / access.log +: Ce fichier contient toutes les requêtes adressées au serveur Web, à moins que les paramètres de configuration d’Apache aient été modifiés.

  • + / var / log / apache2 / error.log +: Ce fichier contient des erreurs. Pour modifier la quantité de détails dans les journaux d’erreur, modifiez la directive + LogLevel + dans + / etc / apache2 / apache2.conf +.

Un autre moyen d’accéder aux informations sur l’unité Apache consiste à utiliser le composant + journald +, qui collecte les informations de journal des applications et du noyau. Pour voir les entrées de l’unité Apache, tapez:

sudo journalctl -u apache2

Conclusion

Dans ce guide, nous avons décrit certaines procédures courantes de gestion du serveur Apache, notamment l’arrêt, le démarrage et l’activation du service, la gestion des fichiers et répertoires d’hôte virtuel et la localisation des fichiers et des répertoires importants sur votre serveur. Pour en savoir plus sur l’utilisation d’Apache, consultez les ressources suivantes: