Installer Apache HTTPD

LinuxBeginner
Pratiquer maintenant

Introduction

Apache HTTP Server (souvent appelé simplement Apache) est un logiciel de serveur web très répandu. Il a joué un rôle majeur dans le développement du web à ses débuts et reste un élément important de l'administration Linux.

Apache est devenu particulièrement influent grâce à sa longue histoire, à son vaste écosystème de modules et à son modèle de configuration flexible. De nombreux systèmes Linux, tutoriels et applications anciennes dépendent encore fortement de ce serveur.

Cette présence historique est importante, car, dans les opérations réelles, vous serez souvent amené à reprendre des systèmes basés sur Apache, même si des projets plus récents choisissent d'autres serveurs web.

Vous pouvez comparer un serveur web à un bibliothécaire :

  • La bibliothèque correspond à votre serveur.
  • Les livres correspondent à vos fichiers (pages HTML, images, etc.).
  • Le bibliothécaire correspond à Apache.

Lorsqu'un utilisateur visite votre site web, il demande un livre précis au bibliothécaire. Celui-ci trouve le fichier et le remet à l'utilisateur.

Dans ce lab, vous allez :

  1. Installer Apache : installer le logiciel sur votre système.
  2. Démarrer le service : démarrer le serveur afin qu'il puisse traiter les requêtes.
  3. Explorer la racine des documents : trouver l'emplacement de stockage des fichiers du site web.
  4. Déployer une page personnalisée : créer votre propre page web « Hello World ».

Ce lab est conçu pour les débutants complets. Aucune expérience préalable n'est requise.

Installer le serveur HTTP Apache

Dans cette étape, vous allez installer le logiciel du serveur web Apache.

Sur les systèmes Ubuntu et les distributions basées sur Debian, le paquet Apache s'appelle apache2. Sur d'autres distributions, comme CentOS ou RHEL, il s'appelle souvent httpd. Comme cet environnement utilise Ubuntu, nous allons utiliser apache2.

Exécutez la commande suivante pour installer Apache :

Comme pour Nginx, l'installation du paquet fournit le logiciel et les fichiers de configuration par défaut. Elle ne prouve pas à elle seule que le serveur est déjà démarré et qu'il traite correctement les requêtes.

sudo apt install apache2 -y
  • sudo : exécute la commande avec les privilèges d'administration.
  • apt install : commande qui permet d'installer des paquets.
  • -y : répond automatiquement « yes » aux invites.

Une fois l'installation terminée, vérifiez la version installée afin de vous assurer que l'opération a réussi :

apache2 -v

Vous devriez obtenir une sortie semblable à Server version: Apache/2.4.x, ce qui confirme qu'Apache est installé.

Démarrer le service Apache

Maintenant qu'Apache est installé, vous devez démarrer le service. L'installation du logiciel ne démarre pas automatiquement le processus du serveur web.

Il s'agit de la même distinction entre logiciel installé et service en cours d'exécution que celle observée avec d'autres démons. Un paquet serveur peut être présent sur le disque alors qu'aucun processus n'écoute activement le trafic HTTP.

Démarrez le service Apache à l'aide de la commande service :

sudo service apache2 start

Vérifiez ensuite que le service fonctionne :

sudo service apache2 status

Vous devriez voir un message indiquant que apache2 is running.

Dans un environnement de production, vous configureriez généralement Apache pour qu'il démarre automatiquement au démarrage du serveur à l'aide de systemctl enable apache2. Toutefois, dans cet environnement de lab, le démarrage manuel du service suffit.

Explorer la racine des documents

Apache doit savoir où chercher les fichiers de votre site web. Cet emplacement s'appelle la racine des documents (Document Root).

Par défaut, sur Ubuntu, la racine des documents se trouve dans /var/www/html. Lors de l'installation d'Apache, un fichier HTML par défaut contenant « It works! » a été placé dans ce répertoire.

La racine des documents constitue le point de départ par défaut d'Apache pour le contenu statique. Lorsqu'aucun routage spécifique ni aucune logique applicative n'intervient, les requêtes sont généralement résolues en fichiers situés dans ce répertoire.

Accédez au répertoire racine des documents :

cd /var/www/html

Affichez la liste des fichiers du répertoire :

ls -l

Vous devriez voir un fichier nommé index.html. C'est le fichier qui est servi lorsque vous accédez à l'adresse du serveur web.

Déployer une page web personnalisée

Vous allez maintenant remplacer la page Apache par défaut par votre propre message.

Comme /var/www/html appartient à l'utilisateur root, vous devez utiliser sudo pour modifier les fichiers de ce répertoire. Nous allons utiliser une commande simple pour écraser le fichier index.html existant.

Exécutez la commande suivante pour créer un nouveau fichier index.html contenant le texte « Hello LabEx » :

echo "Hello LabEx" | sudo tee /var/www/html/index.html
  • echo "Hello LabEx" : génère le texte « Hello LabEx ».
  • | : transmet ce texte à la commande suivante.
  • sudo tee ... : écrit l'entrée reçue dans le fichier indiqué, avec les privilèges de root.

Vérifiez le contenu du fichier :

cat /var/www/html/index.html

Enfin, testez votre serveur web en envoyant une requête à localhost (votre propre ordinateur) :

curl localhost

Vous devriez voir Hello LabEx dans la sortie. Cela confirme qu'Apache fonctionne et sert votre page personnalisée.

Vous avez alors vérifié toute la chaîne, comme pour n'importe quel service web : le programme est installé, le démon fonctionne, les fichiers sont placés dans la racine des documents et la réponse HTTP parvient au client.

Résumé

Dans ce lab, vous avez installé et configuré avec succès le serveur HTTP Apache. Vous avez appris à :

  • installer le paquet apache2 sur Ubuntu ;
  • démarrer le service Apache et vérifier son état ;
  • accéder à la racine des documents par défaut /var/www/html ;
  • remplacer le fichier index.html par défaut par votre propre contenu.

Il s'agit des premières étapes de l'administration d'un serveur web. Vous disposez maintenant d'un serveur web fonctionnel capable d'héberger des pages web statiques.