Bibliothèque Numérique ENI :
tous nos livres & vidéos, en accès illimité 24h/24. Cliquez ici
Bibliothèque Numérique ENI :
tous nos livres & vidéos, en accès illimité 24h/24. Cliquez ici
  1. Livres & vidéos
  2. LAMP
  3. Débuter avec Apache
Extrait - LAMP Installez et configurez votre serveur web (Linux, Apache, MySQL et PHP)
Extraits du livre
LAMP Installez et configurez votre serveur web (Linux, Apache, MySQL et PHP) Revenir à la page d'achat du livre

Débuter avec Apache

Les moyens d’installation

1. Les prérequis

L’installation d’Apache sous Linux ne nécessite aucun prérequis matériel particulier. Prévoyez simplement de disposer d’assez d’espace de stockage selon le type d’installation que vous choisirez.

Quel que soit le moyen d’installation que vous allez choisir, Apache ne devrait pas occuper plus de 10 Mo après son installation. Si vous choisissez l’installation par les fichiers sources, il faudra également prévoir un espace temporaire pour la compilation. Prévoyez au moins 100 Mo pour être confortable.

2. Les différentes méthodes d’installation

a. Installation par le gestionnaire de paquets

Apache est distribué à travers les différents dépôts de paquets de plusieurs distributions Linux. C’est le moyen d’installation qui sera choisi dans la majorité des cas, puisqu’il permet de bénéficier d’une installation fonctionnelle à travers une configuration standard et une mise en œuvre simplifiée.

Afin de vous donner un aperçu pour ce type d’installation, vous retrouverez ci-dessous les étapes qui permettent d’installer la dernière version stable d’Apache à partir du gestionnaire de paquets sous Debian.

Depuis la console, vous pourrez suivre les étapes suivantes...

Apache et ses utilitaires

1. Le daemon Apache

a. Le service Apache

À la suite de l’installation d’Apache sous Debian, plusieurs programmes seront installés. Parmi les principaux, on retrouve apache2. Ce programme a été conçu pour être exécuté en tant que daemon et s’exécute généralement à travers la commande apache2ctl. Cette dernière fournit une interface de contrôle en ligne de commande pour le serveur HTTP d’Apache.

Par exemple, la ligne de commande suivante permet de démarrer le serveur HTTP.

apache2ctl start 

Néanmoins, dans le cas d’une installation par le gestionnaire de paquets sous Debian, le programme apache2 est géré en tant que service par systemd. Ainsi, vous allez retrouver la commande systemctl qui vous permettra de manipuler le service Apache à l’aide des différentes actions proposées au sein de cette commande.

Pour rappel, la syntaxe de la commande systemctl est la suivante :

systemctl <action> <service> 

Le nom de service à utiliser en argument de la commande systemctl sera apache2.service (ou simplement apache2 dans sa forme raccourcie). Il sera associé à l’une des actions du tableau suivant.

Action

Rôle

status

Afficher l’état du service

start

Démarrer le service

stop

Arrêter le service

restart

Redémarrer le service

reload

Recharger...

Activité 1 : Installer Apache

1. Introduction

Dans cette activité, nous allons installer Apache à l’aide du gestionnaire de paquets APT sous Debian. Puis nous allons vérifier l’installation en effectuant des tests qui permettront de valider le bon fonctionnement du serveur.

Pour reproduire cette activité, vous devez disposer d’une installation de Debian fonctionnelle. Vous devez également disposer d’un accès à Internet qui vous permettra d’installer les paquets depuis les dépôts officiels de Debian. Enfin, vous devrez exécuter les commandes qui suivent en tant que root ou utiliser un compte d’utilisateur, qui dispose des droits d’administration suffisants avec la commande sudo.

2. Installation d’Apache

a. Mettre à jour la liste des paquets

Dans un premier temps, nous allons mettre à jour la liste de paquets disponibles dans les dépôts de paquets sous Debian.

Pour cela, vous pouvez suivre les instructions suivantes.

 Depuis le terminal de commande, exécutez la ligne de commande suivante en tant que root ou avec la commande sudo.

apt update 

Cette commande permet de vous assurer que vous allez installer les paquets les plus récents disponibles dans les dépôts de paquets sous Debian.

b. Installer le paquet Apache

Une fois la liste des paquets à jour, nous allons pouvoir installer...

Les directives d’Apache

1. Les caractéristiques d’une directive

Une directive est un élément de configuration que l’on retrouve dans les différents fichiers de configuration d’Apache. Une grande partie des directives est incluse dans le noyau d’Apache et dans les modules de base, mais il existe également de nombreuses directives qui seront fournies par les différents modules que vous pourrez installer.

La syntaxe d’une directive, c’est le format sous lequel elle apparaîtra dans un fichier de configuration d’Apache. Elle sera généralement composée du nom de la directive, suivi d’un ou plusieurs arguments séparés par des espaces.

Par exemple, la ligne suivante contient la directive ServerName, suivie de l’argument www.mon-site.com.

ServerName www.mon-site.com 

On distingue différents contextes d’applications pour les directives d’Apache. Le tableau ci-dessous permet de lister les différents contextes ainsi que leur utilisation.

Contexte

Description

Configuration globale

Les directives peuvent être utilisées uniquement pour la configuration globale d’Apache.

Configuration de serveur virtuel

Les directives peuvent être utilisées dans une section de configuration définie avec une directive VirtualHost.

Configuration de répertoire

Les directives peuvent être utilisées dans une section de configuration définie avec une directive Directory, Location, Files, If, ou encore Proxy.

Fichier .htaccess

Les directives peuvent être utilisées dans les fichiers de configuration .htaccess.

Certaines directives s’appliqueront à tous les contextes quand d’autres s’appliqueront uniquement à certains d’entre eux. Il sera également possible de limiter la portée des configurations grâce à l’utilisation des directives suivantes :

  • Directory et DirectoryMatch contiennent des directives qui s’appliquent uniquement à un répertoire ou à un ensemble de répertoires.

  • Files et FilesMatch contiennent des directives qui s’appliquent uniquement à un fichier ou à un ensemble de fichiers.

  • Location et LocationMatch contiennent des directives qui s’appliquent uniquement à une URL ou à un ensemble d’URL....

Configuration d’Apache

1. Arborescence des fichiers de configuration

La configuration d’Apache s’effectue à travers des fichiers texte que l’on retrouve dans le répertoire /etc/apache2, à la suite de l’installation d’Apache via le gestionnaire de paquets sous Debian.

Ci-dessous, voici l’arborescence de fichiers que l’on retrouve dans ce répertoire.

/etc/apache2/  
├── apache2.conf  
├── conf-available  
│   └── *.conf 
├── conf-enabled  
│   └── *.conf  
├── envvars  
├── magic  
├── mods-available  
│   ├── *.load 
│   └── *.conf 
├── mods-enabled  
│   ├── *.load  
│   └── *.conf 
├── ports.conf  
├── sites-available  
│   └── *.conf 
└── sites-enabled  
    └── *.conf 

On distingue principalement deux types de fichiers dans ce répertoire. Les fichiers avec l’extension .conf, qui contiennent des directives pour la configuration d’Apache et les fichiers avec l’extension .load, qui sont liés au chargement des modules d’Apache.

On retrouve également deux fichiers particuliers, le fichier envvars qui regroupe des variables d’environnement pour Apache et le fichier magic qui contient des instructions pour déterminer le type MIME (type de médias) des fichiers qui seront distribués par le serveur web.

2. Les fichiers de configuration

a. Syntaxe des fichiers de configuration

Un fichier de configuration d’Apache contient généralement plusieurs lignes de texte qui commencent par une directive. Chaque ligne ne contiendra pas plus d’une directive, qui sera suivie éventuellement de ses paramètres.

Pour ajouter des commentaires dans un fichier de configuration d’Apache, on utilise le symbole # (dièse). Les lignes précédées de ce symbole seront ignorées lors du chargement de la configuration....

Activité 2 : Configurer Apache

1. Introduction

Dans cette activité, nous allons définir un nouveau fichier de configuration dans lequel nous allons définir la directive ServerName dans une configuration globale.

Pour reproduire cette activité, vous devez disposer d’une installation d’Apache fonctionnelle. Vous devrez également ouvrir une nouvelle session en tant que root pour exécuter les commandes qui suivent, ou vous pourrez utiliser un compte d’utilisateur qui dispose des droits d’administration suffisants avec la commande sudo.

2. Configuration d’Apache

a. État des lieux

Vérifier l’état du service Apache

Avant d’intervenir dans la configuration d’Apache, nous allons préalablement vérifier l’état du service.

Pour cela, vous pouvez suivre les instructions ci-dessous.

 Exécutez la ligne de commande suivante :

systemctl status apache2 

En sortie de commande, vous obtenez le résultat suivant :

images/07RI06_1.png

Figure 4 : Capture d’écran de l’état du service Apache

Dans le cas où le service Apache est démarré et en cours de fonctionnement, vous pourrez constater la présence de la ligne suivante dans la sortie de la commande.

Active: active (running) 

Vérifier la syntaxe de la configuration

Nous allons ensuite vérifier la syntaxe de la configuration d’Apache.

Pour...

L’hébergement web avec Apache

1. Le serveur web

Dans sa fonction traditionnelle, un serveur web est chargé d’héberger un site web pour le rendre accessible sur Internet.

Pour assumer cette fonction, il dispose d’une adresse IP et il expose différents ports, afin de recevoir les requêtes des clients. Il s’agit généralement du port 80 pour le flux web classique (HTTP) et du port 443 pour le flux web sécurisé (HTTPS). On peut également retrouver différents ports, qui pourront être utilisés pour des cas d’usage particuliers.

Le schéma ci-dessous illustre une représentation logique d’un serveur web et d’un client.

images/07RI07_1.png

Figure 5 : Schéma logique d’un serveur web

Dans cet exemple, l’utilisateur qui souhaite accéder à un site web saisit l’adresse du serveur sous forme de nom dans son navigateur. Puis une résolution du nom en adresse IP est opérée par son serveur DNS, afin de lui permettre d’atteindre l’adresse IP du serveur qui héberge le site web qu’il souhaite atteindre.

Dans ce mode d’utilisation, vous devrez disposer d’autant de serveurs physiques que de sites que vous souhaitez héberger. Pour résoudre ce problème, la notion de serveurs virtuels ou hôtes virtuels (en anglais, Virtual hosts) a été introduite au sein des logiciels de serveur web, afin de permettre à plusieurs sites web d’être hébergés sur un même hôte physique.

Apache propose principalement deux modes d’hébergements virtuels que nous allons vous présenter dans la prochaine section. Il s’agit de l’hébergement virtuel basé sur le nom et de celui basé sur l’IP.

2. Les serveurs virtuels

a. Hébergement virtuel basé sur l’IP

Grâce à la fonction d’hébergement virtuel basé sur l’IP, le serveur web permet d’héberger plusieurs hôtes virtuels avec des adresses IP distinctes, pour les rendre accessibles.

Pour cela, il dispose de plusieurs adresses IP qui seront attribuées à chaque hôte virtuel. À travers ces différentes adresses IP, les hôtes virtuels pourront exposer différents ports, afin de recevoir...

Activité 3 : Configurer l’hébergement des sites web

1. Introduction

Dans cette activité, nous allons définir les configurations qui permettront d’héberger deux nouveaux sites web sur notre serveur, grâce à la fonction d’hébergement virtuel basé sur le nom. Le schéma ci-dessous illustre la configuration qui sera mise en place.

images/07RI08_1.png

Figure 9 : Schéma logique d’un hébergement virtuel basé sur le nom

Pour reproduire cette activité, vous devez disposer d’une installation d’Apache fonctionnelle. Vous devrez également ouvrir une nouvelle session en tant que root pour exécuter les commandes qui suivent, ou vous pourrez utiliser un compte d’utilisateur qui dispose des droits d’administration suffisants avec la commande sudo.

2. Désactivation de l’hôte virtuel créé par défaut sous Debian

a. Désactiver le fichier de l’hôte

Dans un premier temps, pour la suite de nos démonstrations, nous allons désactiver le fichier de configuration de l’hôte virtuel créé par défaut.

Pour cela, vous pouvez suivre les instructions suivantes en tant que root ou avec la commande sudo.

 Exécutez la ligne de commande suivante pour désactiver la configuration du site 000-default.conf.

a2dissite 000-default.conf 

En sortie de commande, vous obtenez le message suivant :

Site 000-default disabled.  
To activate the new configuration, you need to run:  
  systemctl reload apache2 

 Avant d’appliquer les changements, exécutez la ligne de commande suivante pour vérifier la syntaxe.

apache2ctl -t 

En sortie de commande, vous obtenez le message suivant :

Syntax OK 

Si vous obtenez une ligne contenant Syntax OK, vous pouvez passer à la suite de l’activité. En revanche, si vous obtenez tout autre message, tel que Invalid command ou Syntax error, vous devrez corriger l’erreur signalée avant d’appliquer les changements.

 Ensuite, exécutez la ligne de commande suivante pour recharger la configuration d’Apache afin d’appliquer les changements.

systemctl reload apache2 

b. Vérifier l’état du service Apache

Après avoir rechargé la configuration d’Apache, nous allons nous assurer...