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.