Introduction
Le serveur HTTP Apache est un serveur web open-source développé par la Apache Software Foundation. C'est un logiciel qui connecte votre serveur local aux serveurs de sites web tels que Firefox ou Google Chrome. Cette connexion est utilisée pour envoyer et recevoir des fichiers et des données.
C'est le serveur le plus populaire à travers le monde. Plus de 40 % de tous les sites web sur le World Wide Web sont propulsés par Apache HTTP. Les raisons de sa popularité sont sa grande personnalisation, sa grande capacité d'intégration et son support multimédia fiable. Apache fonctionne sur une architecture modulaire. Vous pouvez modifier des modules individuels pour ajouter et supprimer diverses fonctionnalités. Dans ce tutoriel, nous vous guiderons sur la façon d'installer le serveur Apache sur Ubuntu 18.04.
Avant l'installation
Avant de commencer à installer Apache, vous devez vous occuper de certains prérequis. Pour commencer, assurez-vous d'avoir déjà configuré un utilisateur non-root avec des privilèges sudo sur le serveur local. L'autre chose dont vous aurez besoin est un pare-feu. Vous devez activer votre pare-feu de base et bloquer les ports non essentiels. Avant de commencer l'installation, connectez-vous avec votre utilisateur non-root disposant de privilèges. Vous pouvez facilement installer votre serveur en suivant notre tutoriel sur la configuration d'un serveur Ubuntu.
Comment installer le serveur web Apache sur Ubuntu 18.04
Si vous avez pris en compte les prérequis, vous pouvez passer à l'installation proprement dite. Vous pouvez installer et explorer le serveur web Apache en 6 étapes simples :
Étape 1 : Installer Apache
Vous serez ravi d'apprendre qu'Apache fait déjà partie d'Ubuntu. Cela signifie que vous pouvez installer Apache sur votre serveur à l'aide des outils de gestion de paquets habituels. Il est disponible en tant que logiciel par défaut sur le dépôt. Tout d'abord, vous devrez mettre à jour l'index des paquets locaux :
|
1 |
sudo apt update |
Cette commande permet d'afficher les modifications récentes en amont dans l'index des paquets. Ensuite, nous devons lancer la commande pour installer le paquet apache2 :
|
1 |
sudo apt install apache2 |
Étape 2 : Modifier les paramètres de votre pare-feu
Lors de la préparation des prérequis, vous devez avoir configuré votre pare-feu UFW. Si vous avez suivi les instructions, votre pare-feu bloquera votre accès au serveur. Nous devons autoriser l'accès au serveur via les ports web par défaut avant de faire fonctionner Apache. Par conséquent, les paramètres du pare-feu doivent être modifiés.
Au moment de l'installation, Apache s'enregistre auprès d'UFW. Le résultat de cet enregistrement est la création de profils d'application. De plus, vous pouvez utiliser ces profils pour activer ou désactiver l'accès du pare-feu à Apache. Ensuite, visualisez ces applications ufw avec la commande suivante :
|
1 |
sudo ufw app list |
Vous verrez votre profil d'application dans une liste comme celle-ci :

La liste ci-dessus montre que trois profils d'application ont été créés, à savoir Apache, Apache Full et Apache Secure. Voici quelques détails utiles sur chacun de ces profils :
-
Apache :
Le profil Apache permet d'ouvrir uniquement le port 80. Ce port permet un trafic web normal et non chiffré.
-
Apache Full :
Le profil Apache Full a la capacité d'ouvrir à la fois le port 80 et le port 443. Alors que le port 80 permet un trafic web normal et non chiffré, le port 443 gère le trafic chiffré TLS/SSL.
-
Apache Secure :
Enfin, Apache Secure n'ouvre que le port 443. Comme mentionné ci-dessus, il est chargé de laisser passer le trafic web chiffré TLS ou SSL.
Lors de la sélection entre ces profils, pensez au trafic que vous avez configuré. Vous voudrez vous assurer que le trafic souhaité passe tout en optant pour le profil le plus restrictif. La configuration SSL n'est pas de notre ressort pour le moment. Par conséquent, nous allons nous concentrer sur le trafic passant par le port 80 pour l'instant. Cela signifie que nous activons le profil d'application ‘Apache’ dans ce scénario. Vous pouvez le faire comme ceci :
|
1 |
sudo ufw allow ‘Apache’ |
Pour vérifier la modification, saisissez ce qui suit :
|
1 |
sudo ufw status |
Cette commande affichera une sortie contenant le trafic HTTP actuellement autorisé à passer. Vous verrez quelque chose comme ceci :

Le flux de trafic montre que le profil Apache souhaité a été activé. L'accès a été accordé au serveur web via le pare-feu.
Étape 3 : Vérifier votre serveur web
L'installation d'Apache est terminée et les paramètres du pare-feu ont été modifiés. À la fin de ce processus, Ubuntu 18.04 lancera automatiquement Apache. Ensuite, vous devez vérifier avec le système d'initialisation systemd si le service fonctionne à un moment donné. Si vous souhaitez en savoir plus sur les systèmes d'initialisation, vous pouvez consulter notre tutoriel sur la gestion des services et des unités Systemd avec Systemctl. Pour vérifier si le service est en cours d'exécution, tapez :
|
1 |
sudo systemctl status apache2 |
Le résultat sera le suivant :

Vous devez rechercher le statut Active ou running du service ci-dessus. Cela montre que le service a été lancé et fonctionne avec succès. Il existe un autre moyen, plus préférable, de tester le fonctionnement du service. Vous pouvez vérifier son statut en demandant une page à Apache. En utilisant l'adresse IP de votre serveur, vous pouvez confirmer si le logiciel fonctionne sur la page d'accueil par défaut d'Apache. Voici une invite que vous pouvez utiliser pour obtenir l'adresse IP de votre serveur si vous ne la connaissez pas déjà :
|
1 |
hostname -I |
Cette commande affichera un résultat avec plusieurs adresses IP séparées par des espaces. Testez chacune d'elles individuellement dans le navigateur. Une autre façon d'y accéder est de récupérer votre adresse IP publique. Vous pouvez utiliser une invite comme celle-ci :
|
1 |
curl -4 icanhazip.com |
Cela vous montrera votre adresse IP telle qu'elle est vue depuis d'autres endroits sur le web. Ensuite, une fois que vous avez votre adresse IP, allez sur votre navigateur web. Dans la barre d'adresse, saisissez et exécutez ce qui suit :
|
1 |
http://your_server_ip |
Cela ouvrira la page web Apache par défaut d'Ubuntu 18.04. Elle ressemble à ceci :

Cette page contient des informations de base sur vos fichiers et répertoires. Comme elle s'est affichée après avoir saisi l'adresse, cela indique qu'Apache fonctionne correctement.
Étape 4 : Gestion de base dans Apache
La vérification confirme qu'Apache fonctionne et que votre serveur est opérationnel. Maintenant, nous allons explorer certaines des commandes de base que vous pouvez utiliser sur le serveur pour la gestion.
La configuration par défaut de votre Apache le lance à chaque démarrage du serveur. Vous avez la possibilité de désactiver ce paramètre. Saisissez :
|
1 |
sudo systemctl disable apache2 |
Pour réactiver cette fonctionnalité par défaut, utilisez cette commande :
|
1 |
sudo systemctl enable apache2 |
Ensuite, tapez ce qui suit si vous souhaitez arrêter le serveur manuellement :
|
1 |
sudo systemctl stop apache2 |
Si vous souhaitez le redémarrer après l'avoir arrêté, utilisez la commande :
|
1 |
sudo systemctl start apache2 |
Pour arrêter et démarrer le serveur, ou essentiellement le rafraîchir, saisissez :
|
1 |
sudo systemctl restart apache2 |
Lorsque vous arrêtez le serveur, il a tendance à perdre toutes ses connexions. Le redémarrer signifie qu'il retrouve et rétablit ces connexions. Si vous le souhaitez, vous pouvez également recharger Apache sans perdre la connexion. Ceci est particulièrement utile lors de modifications de configuration. Saisissez ce qui suit pour recharger sans couper les connexions :
|
1 |
sudo systemctl reload apache2 |
Étape 5 : Configuration de l'hôte virtuel
Bien que cela ne soit pas obligatoire, il est fortement recommandé de configurer vos hôtes virtuels. Les hôtes virtuels sont de petits blocs dans le serveur qui contiennent des groupes de détails de configuration. Vous pouvez héberger plusieurs domaines sur un seul hôte virtuel à partir de votre serveur.
Par défaut, si vous utilisez Apache sur Ubuntu 18.04, il y aura un bloc de serveur activé qui servira les documents du répertoire /var/www/html. Vous voudrez modifier ce paramètre si vous hébergez plusieurs sites au lieu d'un seul. Cependant, il existe une autre option possible qui fonctionne encore mieux. Laissez le répertoire /var/www/html intact. Allez plutôt dans /var/www/ pour créer une structure de répertoires pour les sites de votre domaine souhaité. Si vous faites cela, le répertoire /var/www/html est configuré comme répertoire par défaut. Dans le cas où une requête client ne correspond à aucun des sites de votre domaine, elle sera servie à partir d'ici.
Après cela, nous verrons comment vous pouvez créer un nouveau domaine et son répertoire associé. Pour les besoins de cet exemple, nous utiliserons un nom hypothétique, your_domain. Remplacez your_domain partout où il est présent dans les instructions suivantes par votre propre nom de domaine. Pour commencer, voyons comment vous pouvez créer un nouveau répertoire pour your_domain :
|
1 |
sudo mkdir /var/www/your_domain |
Maintenant, vous devez attribuer la propriété du répertoire. Vous pouvez utiliser la variable d'environnement $USER à cet effet :
|
1 |
sudo chown -R $USER:$USER /var/www/your_domain |
Pour continuer, les permissions de votre racine web doivent être correctes. Si vous n'avez pas touché à la valeur umask dans la configuration, vos permissions devraient être correctes. Mais si vous n'êtes pas sûr, vous pouvez toujours confirmer avec :
|
1 |
sudo chmod -R 755 /var/www/your_domain |
Ensuite, nous allons créer une page index.html. Vous pouvez utiliser nano comme nous ou tout autre éditeur, si vous avez une préférence :
|
1 |
nano /var/www/your_domain/index.html |
Ajoutez cet exemple de code HTML dans l'index, puis enregistrez et fermez :
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Bienvenue sur Your_domain!</title> </head> <body> <h1>Succès! L'your_domain virtuel hôte est opérationnel!</h1> </body> </html> |
L'étape suivante consiste à créer un fichier d'hôte virtuel. Un fichier d'hôte virtuel contenant toutes les bonnes directives est nécessaire pour qu'Apache serve le contenu d'exemple ci-dessus. Le fichier de configuration par défaut se trouve dans : /etc/apache2/sites-available/000-default.conf. Au lieu de modifier ce fichier, nous en créerons un nouveau dans : /etc/apache2/sites-available/your_domain.conf.
|
1 |
sudo nano /etc/apache2/sites-available/your_domain.conf |
De la même manière que précédemment, nous allons ajouter un exemple de configuration. Cette fois, cependant, nous le mettrons à jour en fonction du nom de domaine et du nouveau répertoire que nous venons de créer. Ajoutez ce bloc, puis enregistrez et fermez :
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Comme vous pouvez le voir ci-dessus, nous avons également mis à jour notre e-mail ServerAdmin. Il s'agit d'une adresse que l'administrateur du site your_domain peut joindre. De plus, nous avons également mis à jour le DocumentRoot vers le nouveau répertoire et ajouté deux nouvelles directives. Ces directives incluent ServerName et ServerAlias. ServerName est utilisé pour définir le domaine de base. Le domaine de base doit correspondre pour définir l'hôte virtuel. ServerAlias, quant à lui, fournit d'autres noms qui doivent également correspondre, similaires au nom de base. Vous pouvez facilement activer le fichier à l'aide de l'outil a2ensite :
|
1 |
sudo a2ensite your_domain.conf |
Pour désactiver le site par défaut mentionné dans 000-default.conf, utilisez cette commande :
|
1 |
sudo a2dissite 000-default.conf |
Maintenant que la configuration est prête, vous pouvez vérifier s'il y a des erreurs en tapant :
|
1 |
sudo apache2ctl configtest |
Cela affichera la sortie suivante s'il n'y a pas d'erreurs de configuration :
|
1 2 3 |
Sortie Syntaxe OK |
Pour appliquer les modifications, vous devez redémarrer le serveur Apache comme indiqué précédemment :
|
1 |
sudo systemctl restart apache2 |
Voilà ! Vous avez configuré votre hôte virtuel et défini votre nom de domaine. Pour vérifier si Apache dessert bien your_domain, allez sur http://your_domain.
Étape 6 : Parcourir les fichiers et les répertoires
Vous avez configuré avec succès certains aspects de base de votre serveur Apache. De plus, vous savez maintenant comment gérer votre service Apache. Ensuite, vous pouvez passer un peu de temps à explorer certains des répertoires et fichiers les plus critiques.
Contenu
- /var/www/html
Nous avons également déjà parlé de ce répertoire. Il contient la page Apache par défaut. Si vous le souhaitez, vous pouvez modifier le contenu de cette page. Pour ce faire, vous devrez modifier les fichiers de configuration d'Apache.
Configuration du serveur
- /etc/apache2
Il s'agit du répertoire de configuration principal d'Apache. Cela signifie que ce répertoire contient tous les fichiers de configuration associés à Apache.
- /etc/apache2/apache2.conf
Comme le suggère l'ajout à la fin du répertoire, il s'agit du fichier de configuration principal. Ce fichier charge plusieurs autres fichiers du répertoire et peut être utilisé pour apporter des modifications à la configuration d'Apache. Si vous souhaitez apporter des modifications à la configuration du serveur Apache, c'est ici que vous les ferez.
- /etc/apache2/ports.conf
Comme son nom l'indique, ce fichier concerne les ports dont nous avons parlé précédemment. Le port 80 est activé par défaut et le port 443 est activé lorsque des modules contenant SSL sont introduits. Ce fichier contient des détails sur les ports qui sont ouverts et activés.
- /etc/apache2/sites-available/
C'est ici que se trouveront vos hôtes virtuels. Toute configuration de bloc de serveur à effectuer se fait dans ce répertoire. Pour activer les blocs de serveur, ils doivent être liés à d'autres répertoires via a2ensite. Apache n'aura accès aux fichiers de ce répertoire que s'ils ont été activés en étant liés au répertoire sites-enabled.
- /etc/apache2/sites-enabled/
C'est le répertoire où se trouvent les hôtes virtuels activés. Comme nous l'avons mentionné, les hôtes sont activés lorsque vous liez les fichiers du répertoire sites-available via la commande a2ensite. Les fichiers de ce répertoire sont importants lorsque Apache démarre, recharge ou compile une configuration.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/
Ces répertoires fonctionnent de manière similaire à sites-available et sites-enabled. Pour activer les fichiers du répertoire conf-available, vous devez utiliser la commande a2enconf. La commande de désactivation est a2disconf. Au lieu de stocker des hôtes virtuels par site, ces répertoires contiennent des détails de configuration qui ne sont pas pertinents pour l'hôte virtuel :
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/
Ces répertoires ont également une relation similaire aux deux exemples ci-dessus. Ils contiennent les modules, ceux disponibles et ceux activés par la commande a2enmod. Pour désactiver un module, vous pouvez utiliser la commande a2dismod. Les fichiers avec le suffixe .load contiennent des fragments qui peuvent charger un module donné. Les fichiers avec le suffixe .conf contiennent les détails de configuration pertinents pour le module donné.
Journaux du serveur
- /var/log/apache2/access.log
Ce fichier journal contient toutes les requêtes adressées à votre serveur. Cela se produit par défaut. Vous avez la possibilité de configurer Apache pour enregistrer les requêtes différemment.
- /var/log/apache2/error.log
Il s'agit du journal des erreurs. Toutes les erreurs que vous commettez vont directement dans ce fichier par défaut. Vous pouvez voir le niveau de détail avec lequel les journaux d'erreurs sont enregistrés via la directive LogLevel.
Conclusion
Enfin, en suivant les étapes ci-dessus, vous pouvez facilement installer le serveur web Apache sur votre Ubuntu 18.04. Une fois que vous avez le serveur sur votre système, vous pouvez explorer les différentes options qui s'offrent à vous sur la plateforme. Vous pouvez utiliser différentes technologies pour produire divers types de contenu. De cette façon, vous pouvez cultiver une expérience unique et facilitatrice pour vous-même sur le serveur.
Vous pouvez également apprendre comment sécuriser votre serveur Apache avec Let’s Encrypt en suivant notre tutoriel étape par étape. Si vous souhaitez apprendre à installer Apache sur CentOS 7, suivez notre tutoriel sur la façon d'installer la pile Linux, Apache, MySQL, PHP (LAMP) sur CentOS 7.
Bonne informatique !
Commentaires
Aucun commentaire pour l'instant. Soyez le premier.