Serveur LAMP (Debian 6.6) 3/7 : Installation et configuration d’Apache

Installation d’Apache

Il nous faut installer un serveur HTTP qui va s’occuper d’afficher nos différentes pages. Pour cela, je vous propose d’installer l’un des serveurs les plus utilisés et les plus connus : Apache.

Nous installerons ici sa version 2.

1
# apt-get install apache2

Au démarrage d’Apache, il est possible que celui-ci ne soit pas capable de déterminer un nom de domaine. Ce message sera affiché dans le terminal :

1
Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domaine name, using 127.0.0.1 for ServerName

Avant de modifier le fichier de configuration d’Apache, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.ori

Pour corriger l’erreur, on édite le fichier de configuration Apache via la commande suivante :

1
# vi /etc/apache2/httpd.conf

Par défaut ce fichier est vide, il faut donc ajouter la ligne suivante:

1
ServerName localhost

Nous allons désactiver l’affichage de la version d’Apache dans les pages d’erreurs.

Avant de modifier le fichier de configuration d’Apache, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/apache2/conf.d/security /etc/apache2/conf.d/security.ori

Nous allons éditer le fichier « security » via la commande suivante :

1
# vi /etc/apache2/conf.d/security

Nous allons modifier la ligne 27 comme suit :

1
ServerTokens Prod

Nous devons décommenter la ligne 38 et commenter la ligne 39 comme ci-dessous :

1
2
ServerSignature Off
#ServerSignature On

On enregistre, on quitte. On redémarre Apache en utilisant la commande suivante :

1
# /etc/init.d/apache2 restart

Maintenant on peut vérifier que notre serveur fonctionne bien en entrant l’adresse suivante dans notre navigateur :

http://IP_DE_VOTRE_SERVEUR/

Vous devriez obtenir le résultat suivant :

https://www.lecoindesdocs.fr/images/2013/01/13/apache_it_works_debian.png

Configuration d’Apache

Avant de modifier le fichier de configuration d’Apache, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/apache2/mods-enabled/dir.conf /etc/apache2/mods-enabled/dir.conf.ori

On va éditer le fichier « dir.conf » via la commande suivante pour indiquer les fichiers index que nous utiliserons

1
# vi /etc/apache2/mods-enabled/dir.conf

Supprimer les index suivants : index.cgi, index.pl, puis on enregistre les modifications On vérifie que les utilisateurs sont autorisés à se connecter :

1
# vi /etc/apache2/mods-available/userdir.conf

Puis on vérifie la présence de la ligne (ligne 2):

1
UserDir public_html

Activation des virtualhosts dans Apache

Les virtualhosts permettent d’héberger plusieurs sites web sur un seul serveur physique. Afin de pouvoir les utiliser, nous allons activer le module « userdir » via la commande suivante :

1
# a2enmod userdir

Puis on redémarre apache :

1
# /etc/init.d/apache2 restart

Configuration des virtualhosts

Nous allons créer un squelette qui sera utilisé lors de la création de nouveau site, afin de ne pas avoir besoin de créer les répertoires « public_html » correspondant à la racine du site web web et « logs » (répertoire des logs), mais aussi d’avoir directement une page d’accueil.

Création des répertoires « public_html » et « logs » via les commandes suivantes :

1
2
# mkdir /etc/skel/public_html
# mkdir /etc/skel/logs

Création de la page d’accueil (index.html) via la commande suivante :

1
# echo " <h1>Nouvel espace web créé </h1> " > /etc/skel/public_html/index.html

Une fois le squelette créé, on peut créer le répertoire qui contiendra notre site web :

1
# useradd -g www-data -m monsiteweb.fr

On crée le fichier de configuration de notre site web (monsiteweb.fr) via la commande suivante :

1
# vi /etc/apache2/sites-available/monsiteweb.fr

Et on y enregistre :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<VirtualHost *:80>
     ServerAdmin postsmaster@monsiteweb.fr
     ServerName www.monsiteweb.fr
     DocumentRoot /home/monsiteweb.fr/public_html/
     <Directory /home/monsiteweb.fr/public_html/>
          Options -Indexes FollowSymLinks MultiViews
          AllowOverride All
     </Directory>
     ErrorLog /home/monsiteweb.fr/logs/error.log
     LogLevel warn
     CustomLog /home/monsiteweb.fr/logs/access.log combined
     ServerSignature Off
</VirtualHost>

On enregistre et ferme le fichier. On vérifie que l’on n’a pas fait d’erreur lors de la configuration de notre virtualhost via la commande suivant :

1
# apache2ctl -t

Si en retour on obtient un « Syntax OK », on rend le domaine créé disponible via la commande suivante :

1
# a2ensite monsiteweb.fr

Puis on recharge la configuration Apache via la commande suivante :

1
# /etc/init.d/apache2 reload

Avant de modifier le fichier hosts, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/hosts /etc/hosts.ori

Afin de pouvoir accéder à votre site via l’url http://www.monsiteweb.fr, il faut ajouter une ligne au fichier hosts.

Pour cela on édite le fichier via la commande suivante :

1
# vi /etc/hosts

Puis ajouter la ligne suivante :

1
xxx.xxx.xxx.xxx www.monsiteweb.fr

On vérifie ensuite que le virtualhost fonctionnent en accédant à http://www.monsiteweb.fr et vous devriez voir Nouvel espace web créé

Vous avez remarqué qu’Apache n’interprète pas correctement les caractères avec accent. Pour régler ce problème, il faut activer la prise en charge du jeux de caractères UTF-8 dans Apache.

Avant de modifier le fichier charset, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/apache2/conf.d/charset /etc/apache2/conf.d/charset.ori

Puis on édite le fichier via la commande suivante :

1
# vi /etc/apache2/conf.d/charset

On décommente la ligne :

1
AddDefaultCharset UTF-8

On redémarre Apache pour prendre en compte le nouveau paramètre via la commande suivante :

1
# /etc/init.d/apache2 restart