Ton premier site en ligne – Apache

Introduction

Apache est l’un des serveurs HTTP les plus populaires et puissants utilisés pour la mise en ligne des sites web. Ce tutoriel vous guidera à travers l’installation d’Apache, la configuration des paramètres de base, la gestion des hôtes virtuels et la compréhension des logs du serveur. Ce guide est orienté débutant et utilise un environnement Debian pour les exemples.

Prérequis:

  • Debian installé soit avec WSL, soit sur un OS Linux like
  • Connaissance de base en bash

Pas de connaissance en bash ? Pas de debian? Le terminal te fait peur ?  Pas de panique !

Nous avons déjà créé des tutoriels pour t’aider :

  • Initiation à GNU/Linux et ses distributions: [Lien vers le tutoriel GNU/Linux]
  • Initiation aux commandes bash:  [Lien vers le tutoriel bash]

C’est quoi un serveur HTTP ?

Avant d’installer et de commencer à mettre les mains dans Apache2. Il est important de comprendre ce qu’est un serveur HTTP.

Pour t’aider à comprendre le fonctionnement d’un serveur HTTP, imaginons Internet comme un grand restaurant.

Le client: Toi, l’utilisateur qui souhaite déguster un bon repas (lire un site web).

Le serveur HTTP: Le serveur du restaurant, qui reçoit ta commande (demande de page web) et t’apporte ton plat (la page web).

La cuisine: L’ordinateur où sont stockés les fichiers du site web (images, textes, etc.).

 

Passons à la commande :

  1. Tu as faim et tu repères un restaurant (tu tapes une adresse web dans ton navigateur).
  2. Tu entres dans le restaurant et demande le menu au serveur (ton navigateur envoie une requête HTTP au serveur).
  3. Le serveur consulte la cuisine et t’apporte le plat que tu as commandé (le serveur HTTP récupère les fichiers du site web et les envoie à votre navigateur).
  4. Tu dégustes ton repas et tu paies l’addition avant de partir (tu visualises la page web et tu fermes ton navigateur).

Remarques importantes :

  • Plusieurs clients peuvent commander en même temps (le serveur HTTP peut gérer plusieurs requêtes simultanément).
  • Le serveur peut avoir plusieurs plats à la carte (le serveur HTTP peut stocker plusieurs sites web).
  • Le menu n’est pas toujours disponible (le site web peut être en maintenance ou indisponible).

Un serveur HTTP est donc un logiciel qui permet aux navigateurs web d’accéder aux sites web. Il joue un rôle crucial dans le fonctionnement d’Internet, en assurant la communication entre les utilisateurs et les sites web.

Différence entre un serveur HTTP et un serveur web:

    • Serveur HTTP: Le logiciel gère les requêtes et les réponses selon le protocole HTTP.
    • Serveur web: L’ordinateur physique sur lequel le serveur HTTP est installé, et qui stocke également les fichiers du site web.

Installation d’Apache

Étape 1 : Mise à jour des paquets

Avant d’installer Apache, assure-toi que ton système est à jour.

Copy to Clipboard

Étape 2 : Installation d’Apache

Pour installer Apache, utilise la commande suivante :

Copy to Clipboard

Pour MacOS, il faut avoir le gestionnaire de paquet brew et faire la commande suivante :

Copy to Clipboard

Étape 3 : Vérification de l’installation

Étant donné qu’ une fois installé il se lance automatiquement, pour  vérifier que Apache est installé et fonctionne, ouvre ton navigateur web et tape http://localhost. Tu devrais voir la page par défaut d’Apache.

Tu peux également vérifier l’état du service Apache en utilisant la commande suivante :

Copy to Clipboard

Si il est pas exécuter c’est à dire en on running, il te suffit démarrer le services avec la commande suivante :

Copy to Clipboard

Configuration des Paramètres de Base

Étape 1 : Configuration des Fichiers

Les fichiers de configuration principaux d’Apache se trouvent dans le répertoire /etc/apache2. Les fichiers les plus importants sont :

  • apache2.conf : le fichier de configuration principal.
  • ports.conf : définit les ports sur lesquels Apache écoute.
  • sites-available/ : contient les configurations des sites disponibles.
  • sites-enabled/ : contient les liens symboliques vers les sites activés.

Étape 2 : Édition du Fichier de Configuration

Pour éditer le fichier de configuration principal  (j’utilise vim mais tu peux te servir de nano):

Copy to Clipboard

Tu peux y ajouter ou modifier des paramètres globaux selon tes besoins.

Étape 3 : Redémarrage d’Apache

Après toute modification, redémarre Apache pour appliquer les changements :

Copy to Clipboard

Gestion des Hôtes Virtuels

Les hôtes virtuels permettent d’héberger plusieurs sites web sur un seul serveur Apache. Les configurations des hôtes virtuels sont généralement définies dans des fichiers situés dans le répertoire sites-available.

Étape 1 : Création d’un Hôte Virtuel

Créer un nouveau fichier de configuration pour ton site :

Copy to Clipboard

Ajoute la configuration suivante :

Copy to Clipboard

Étape 2 : Configurez son nom de domaine en locale

Si tu suis ce tuto en étant sous WSL, il faut que tu saches que pour le moment tout ce que l’on fait n’est pas encore directement en ligne sur un serveur mais en local sur ta machine, en conséquence, on va pouvoir donner le nom de domaine que l’on veut à notre hôte virtuel apache.

Comment ? rien de plus simple, il suffit d’éditer le fichier /etc/hosts, il faut savoir que c’est le système de résolution de domaine de ton pc (en local), le but d’un domaine, c’est d’avoir un nom plutôt qu’un IP pour retrouver un site, par exemple l’IP de Google, c’est : 142.251.37.227

sauf que lorsqu’on fait une recherche Google, on tape à aucun moment cette adresse (mais google.fr qui est plus facile à se rappeler) grâce au nom de domaine.

Normalement les noms de domaine sont payants mais l’avantage de travailler en local, c’est que l’on est pas obligé d’acheter un nom de domaine auprès d’un hébergeur en ligne mais simplement de dire à votre PC que ce nom domaine est local sur notre machine ce qui est possible grâce à l’adresse de bouclage (adresse réseaux pour que ton pc parle a lui-même, un peu comme si te parler à toi-même dans un miroir).  

Du coup dans notre /etc/hosts qu’on edit soit avec vim ou nano on mettre la ligne suivante à la fin, car le nom de domaine virtuel apache est votre_site.

Copy to Clipboard

Étape 3 : Activation de l’Hôte Virtuel

Active ton nouvel hôte virtuel avec la commande :

Copy to Clipboard

Étape 4 : Création du Répertoire du Site

Crée le répertoire où seront stockés les fichiers de ton site :

Copy to Clipboard

Étape 5 : Redémarrage d’Apache

Redémarre Apache pour appliquer les changements :

Copy to Clipboard

Étape 6 : Tester ton nouveaux site

Pour tester tes hôtes virtuel on peut faire dans faire dans le répertoire /var/var/testo un fichier index.html avec le contenu suivant :

Copy to Clipboard

Il te suffit ensuite d’aller sur l’url suivante : http://testo.com pour vérifier que ton site est bien fonctionnel 

Compréhension des Logs du Serveur

Les logs du serveur sont essentiels pour surveiller et diagnostiquer les problèmes. Les logs principaux d’Apache sont :

  • access.log : enregistre toutes les requêtes reçues par le serveur.
  • error.log : enregistre toutes les erreurs rencontrées par le serveur.

Étape 1 : Localisation des Logs

Les logs sont situés dans le répertoire /var/log/apache2/.

Étape 2 : Visualisation des Logs

Pour visualiser les logs en temps réel, utilisez la commande tail :

Copy to Clipboard

Tu veux aller plus loin ? Le monde du web et du numérique te passionne et tu veux en faire ton métier ? Tu vis en région Provence-Alpes-Côte d’Azur ?

Cela tombe bien, notre centre de formation est situé 14 Av. Jean Médecin, 06000 Nice à quelques minutes de la gare SNCF de Nice et juste à côté de l’arrêt Jean Médecin de la ligne 1 et 2.

Chez nous, vise l’excellence, façonne-toi un savoir-faire concret dans le développement web et obtient un diplôme national RNCP reconnu par l’État. 

Inscris-toi dès maintenant l’une de nos formations aux choix :