Logo de kxs.frFiches pour l'informatique

Configurer le serveur : Apache

Introduction

Nous allons installer le serveur Apache pour pouvoir servir des pages html. Cela nous permettra déjà de créer un site statique assez simplement.

Installer Apache

L'installation d'apache est simple. Il suffit d'exécuter la commande suivante en root :

apt install apache2

Pour vérifier que votre serveur fonctionne, vous pouvez vous rendre à l'adresse de votre serveur avec un navigateur (comme Firefox). Pour cela saisissez dans la barre d'adresse :

http://ip_du_serveur/

Vous devriez alors voir la page par défaut d'Apache :

Configurer notre site

Commençons par désactiver la page par défaut d'Apache :

a2dissite 000-default.conf

La page sera toujours accessible car elle s'affiche par défaut même si la configuration est désactivée. Ce n'est pas trop grave puisque nous allons activer une nouvelle configuration.

Créons d'abord un dossier avec notre nouveau site :

mkdir /var/www/domaine/

Dans ce dossier placons un fichier html simple :

echo "Tout semble fonctionner" >> /var/www/domaine/index.html

Créez un ficher /etc/apache2/sites-available/domaine.conf et mettre dedans :

<VirtualHost *:80>

        ServerName domaine.tld

        DocumentRoot /var/www/domaine/

        CustomLog /var/log/apache2/domaine.access.log combined

        <Directory /var/www/domaine>
                Require all granted
        </Directory>

</VirtualHost>

Activez la nouvelle configuration :

a2ensite domaine.conf

Il faut ensuite redémarrer Apache :

systemctl reload apache2

Maintenant votre site devrait être en ligne à l'adresse http://ip_du_serveur !

Cacher la version d'Apache

Pour des raisons de sécurité, il est recommander de na pas afficher la version d'Apache dans la réponse du serveur. Il faut éditer le fichier de sécurité d'Apache :

nano etc/apache2/conf-available/security.conf

Puis ajouter/modifier la ligne ServerTokens :

ServerTokens Prod

On enlève la signature du serveur en modifiant la ligne ServerSignature :

ServerSignature Off

Empêcher le listing de fichiers

Par défaut, apache affiche le contenu d'un dossier s'il ne trouve pas de fichier index.html. Cela peut poser des problèmes de sécurité si on laisse un accès involontaire à un dossier. Ainsi il est recommandé de désactiver cette option par défaut.

Il faut éditer le fichier de configuration général d'Apache :

nano /etc/apache2/apache2.conf

Dans ce fichier, il faut alors trouver l'extrait suivant :

<Directory /var/www/>
       Options Indexes FollowSymLinks
       AllowOverride None
       Require all granted
</Directory>

et le commenter en mettant des # devant chaque ligne :

#<Directory /var/www/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory>

Après avoir savegardé les changements, il faut redémarrer Apache :

systemctl reload apache2

Utiliser HTTP/2

Le protocole HTTP/2 permet une utilisation plus optimale des ressources réseau. Il est donc conseillé d'utiliser ce protocole plutôt que le vieux HTTP/1

Pour commencer, il faut activer le module http2 d'Apache :

a2enmod http2

Ensuite, il faut aller activer ce protocole dans le fichier de configuration d'Apache :

nano /etc/apache2/apache2.conf

Ajouter à la fin du fichier :

# On active http/2
Protocols h2 http/1.1

Il est ensuite nécessaire de redémarrer complètement Apache :

service apache2 restart

Vous pouvez ensuite tester le protocole sur ce site.