Voilà, nous y sommes !
C'est dans cette partie que vous allez mettre en place notre serveur HTTP apache et le tester !
Au travail !
Installation du paquet apache2 sous Linux
La première étape est l'installation du paquet apache2. Le paquet ?

Oui, sous Linux, pour ajouter un composant supplémentaire, il faut installer "son paquet" correspondant, et dans notre cas le paquet à installer s'appelle "apache2".
Pour ce faire, ouvrez une console et tapez ceci :
Code : Console | sudo apt-get install apache2 |
Quelques explications :
- sudo est un mot-clé qui permet de faire des manipulations en mode root c'est à dire en mode "administrateur" ;
- apt-get install est la commande par défaut pour installer un paquet ;
- apache2 est le nom du paquet que je souhaite installer.
Note : Si le système vous pose des questions, répondez "yes" pour passer à l'étape suivante.
Si vous obtenez une erreur, tapez cette commande : sudo apt-get update. Celle-ci aura pour but de mettre à jour la liste des paquets logiciels disponibles pour votre environnement Linux.
Vous pouvez également installer le paquet apache2 en passant par l'interface graphique. Si vous utilisez Ubuntu, rendez-vous dans le menu Système puis Gestionnaire de paquet Synaptic et recherchez le paquet désiré.
Vous venez maintenant d'installer le paquet
apache2 qui contient tous les fichiers de configuration du serveur. Il ne reste plus qu'à le configurer ! Enfin, plus que... façon de parler quoi.
Création d'une page HTML de test
Avant de passer à la configuration du serveur apache, nous allons créer une mini page web en HTML qui sera la page d'accueil de notre serveur Apache.
Créons tous d'abord le dossier qui contiendra cette page :
Code : Console
La commande mkdir permet de créer un dossier sous Linux.
On se déplace dans ce dossier :
Code : Console
La commande cd permet de se déplacer dans un dossier sous Linux.
À l’intérieur de ce dossier, on crée une page HTML nommée index.html :
Code : Console
Cette commande crée le fichier index.html, et nous ouvre le fichier vide. Ajoutons maintenant ces quelques lignes:
Code : HTML1
2
3
4 | <html>
<head> <title> Notre serveur Apache </title> </head>
<body> <p> Voici la page d'accueil de votre serveur Apache ! </p> </body>
</html>
|
Enregistrez votre travail, et voilà, nous possédons maintenant une page web pour notre serveur apache. Passons désormais à la configuration du serveur. Enfin !
Configuration du serveur Apache
Nous allons aborder deux exemples de configuration du serveur.
1er exemple : Configuration du serveur apache sans restrictions d’accès c'est à dire sans mot de passe. Dans ce cas, tout le monde peut accéder à notre serveur.
2ème exemple : Configuration du serveur apache avec authentification basique des utilisateurs en respectant simultanément les règles suivantes : accès permis seulement à partir de la machine salon identifiée par son adresse IP ou son nom et accès par mot de passe pour les utilisateurs admin et master.
1er exemple :
Déplaçons-nous dans le dossier apache2 :
Code : Console | cd /etc/apache2/sites-available |
Créons dans ce dossier le fichier
sdz. Ce fichier contiendra la configuration du serveur apache pour le nom de domaine
sdz.
Code : Console
Et insérez à l'intérieur les quelques lignes suivantes :
Code : Console | NameVirtualHost 192.168.21.6:80 //Indiquez ici l'adresse IP de la machine serveur, suivie du port 80 qui est le port http
<VirtualHost 192.168.21.6 :80> //Indiquez également ici l'adresse IP de la machine serveur</couleur>
ServerName sdz.truc.tp //Cette ligne est optionnelle. Vous pouvez indiquez le nom de domaine de la machine si elle en possède un
DocumentRoot /var/www/sdz //Indiquez ici le chemin de l'accès au fichier index.html
<Directory /var/www/sdz> //Indiquez ici le chemin du répertoire apache par défaut
Order allow,deny //Cette ligne représente les différentes options pour un utilisateur. Soit permettre, soit inetrdire l'accès
Allow from all //Cette ligne permet l'accès au serveur à tous les utilisateurs
</Directory>
</VirtualHost> |
Maintenant que vous avez créé le fichier de configuration dans le dossier
sites-available, il est nécessaire "d'activer" ce domaine en créant un lien symbolique dans le dossier
sites-enabled (qui est le dossier contenant les sites dits "actifs") :
Code : Console | sudo ln -s /etc/apache2/sites-available/sdz /etc/apache2/sites-enabled/sdz |
Afin de prendre en compte votre configuration, redémarrez le serveur apache.
Code : Console | /etc/init.d/apache2 restart |
Vous pouvez désormais tester l'accès à votre serveur apache en tapant dans un navigateur web (Internet Explorer ou Mozilla Firefox) :
http://192.168.21.6
ou (si vous avez configurez un serveur DNS)
http://sdz.truc.tp
Afin de suivre les connexions au serveur apache et avoir des renseignements sur les erreurs liées à son utilisation, on peut
utiliser les commandes suivantes.
Code : Console | tail -f /var/log/apache2/access.log |
ou encore
Code : Console | tail -f /var/log/apache2/error.log |
Ceci termine notre premier exemple. Comme vous le voyez, dans ce cas tout le monde peut accéder à notre page.
2ème exemple :
Intéressons-nous maintenant au deuxième exemple, un peu plus intéressant en configurant l'accès au serveur apache qu'à partir d'une seule machine (salon) et en protégeant l'accès par mot de passe pour les utilisateurs admin et superadmin.
Les modifications se font au niveau du même fichier :
Code : Console | vi /etc/apache2/sites-available/sdz |
Remplacez maintenant les lignes du fichier par celles-ci :
Code : Console | NameVirtualHost 192.168.21.6:80
<VirtualHost 192.168.21.6:80>
ServerName sdz.sdz.tp
DocumentRoot /var/www/sdz
<Directory /var/www/sdz>
Order allow,deny
Allow from 192.168.21.1 //Cette ligne définit l'accès au serveur uniquement à partir de la machine possedant l'adresse IP 192.168.21.1
Authname “salon” //Indiquez sur cette ligne le nom de la machine qui pourra se connecter.
Authtype basic //Cette ligne indique que le système utilisera le fichier .htpasswd pour gérer les utilisateurs
AuthUserFile /var/www/sdz/.htpasswd //Il s'agit du fichier qui sera utilisé pour gérer les connexions.
Require valid-user //Cette ligne indique que pour que la connexion s'effectue, il est necessaire que l'utilisateur existe.
Satisfy all
</Directory>
</VirtualHost> |
Enregistrez et quittez le fichier. Passons maintenant à la configuration du fichier
.htaccess.
Code : Console | Authname « Accès protégé » //Cette ligne permettra d'afficher Accès protégé lors de l'accès au serveur
AuthType Basic
AuthUserFile /var/www/sdz/htpasswd //Cette ligne indique le chemin du fichier qui contiendra les mots de passe de connexion des utilisateurs.
Require valid-user |
Pour finir, créons l'accès pour les deux utilisateurs admin et superaddmin. Tapez simplement dans une terminal les lignes suivantes :
Code : Console | htpasswd -c -m htpasswd admin
htpasswd -m htpasswd superadmin |
Enfin, afin de prendre en compte votre configuration, redémarrez le serveur apache.
Code : Console | /etc/init.d/apache2 restart |
Voilà, vous pouvez tester l'accès à votre serveur apache. Normalement, vous ne devriez pouvoir y accéder qu'à partir de la machine "salon" identifiée par l'adresse IP 192.168.21.1 et en utilisant un des deux utilisateurs admin ou superadmin.
Ceci termine la partie concernant la configuration d'un serveur HTTP apache.
Passons maintenant aux différents types d'hébergements possibles pour un serveur apache.