Création d'un site sur Apache
Déployer un site web statique avec Apache sur un serveur Linux
Présentation
Cet article explique comment déployer un premier site web statique sur un serveur Linux à l'aide d'Apache.
L'objectif est de comprendre les différentes étapes de mise en ligne d'un site :
- Configuration du DNS.
- Installation du serveur web Apache.
- Création de l'arborescence du site.
- Configuration du VirtualHost.
- Activation du site.
- Vérification du fonctionnement.
Cette procédure est volontairement simple afin de comprendre le principe général. Dans un environnement de production, certaines étapes (déploiement des fichiers, HTTPS, optimisation de la configuration, etc.) devront être adaptées.
- Remarque :**
Cette procédure présente la création d'un site de test. Si vous possédez déjà un site existant, il suffira de transférer vos fichiers dans le répertoire du site.
Prérequis
Avant de commencer, vous devez disposer des éléments suivants :
- Un accès SSH à un serveur Linux.
- Un compte Ikoula permettant de gérer votre zone DNS.
- Des connaissances de base sur Linux (navigation dans les répertoires, édition de fichiers et exécution de commandes).
Étape 1 - Préparer la zone DNS
Afin de gagner du temps, il est recommandé de modifier les enregistrements DNS avant de commencer la configuration du serveur.
La propagation DNS se fera pendant la préparation du serveur.
Depuis votre espace client Ikoula, modifiez l'enregistrement A de votre domaine afin qu'il pointe vers l'adresse IP de votre serveur.
Exemple :
- Domaine : test.kenemi.fr
- Adresse IP : 178.170.116.55
Étape 2 - Mettre le serveur à jour
apt update && apt upgrade -y
Étape 3 - Installer Apache
apt install apache2 -y
Étape 4 - Créer le répertoire du site
mkdir -p /var/www/html/test.kenemi.fr
cd /var/www/html/test.kenemi.fr
Étape 5 - Créer une page de test
Créer le fichier :
nano index.html
Puis y insérer le contenu suivant :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test</title>
</head>
<body>
<h1>This site works!</h1>
</body>
</html>
Cette page est uniquement utilisée pour vérifier le bon fonctionnement du serveur web.
Étape 6 - Créer le VirtualHost
Créer le fichier de configuration :
nano /etc/apache2/sites-available/test.kenemi.fr.conf
Y ajouter le contenu suivant :
<VirtualHost *:80>
ServerName test.kenemi.fr
ServerAlias www.test.kenemi.fr
```
DocumentRoot /var/www/html/test.kenemi.fr
<Directory /var/www/html/test.kenemi.fr>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
DirectoryIndex index.html index.php
ErrorLog ${APACHE_LOG_DIR}/test.kenemi.fr-error.log
CustomLog ${APACHE_LOG_DIR}/test.kenemi.fr-access.log combined
```
</VirtualHost>
Cette configuration permet à Apache de savoir quel répertoire utiliser lorsque le domaine test.kenemi.fr est demandé.
---
Étape 7 - Activer le site
Activer le VirtualHost :
a2ensite test.kenemi.fr.conf
Vérifier ensuite la configuration Apache :
apache2ctl configtest
Le résultat attendu est :
Syntax OK
Recharger enfin Apache :
systemctl reload apache2
---
Étape 8 - Vérification
Une fois la propagation DNS terminée, ouvrez votre navigateur et accédez à :
http://test.kenemi.fr
La page suivante doit s'afficher :
This site works!
Si c'est le cas, le site est correctement déployé en HTTP.
---
Étape 9 - Sécuriser le site avec Let's Encrypt
Une fois que le site est accessible en HTTP et que la propagation DNS est terminée, il est recommandé d'installer un certificat SSL afin de chiffrer les communications entre les visiteurs et le serveur.
Installation de Certbot
Installer Certbot ainsi que son module Apache :
apt install certbot python3-certbot-apache -y
Génération du certificat
Lancer la génération du certificat :
certbot --apache -d test.kenemi.fr -d www.test.kenemi.fr
Durant l'installation, Certbot vous demandera :
- Une adresse e-mail de contact.
- D'accepter les conditions d'utilisation.
- Si vous souhaitez partager votre adresse e-mail avec l'Electronic Frontier Foundation (EFF).
- Si vous souhaitez rediriger automatiquement les visiteurs vers HTTPS.
Il est recommandé de répondre **Oui** à la redirection automatique afin que toutes les connexions utilisent HTTPS.
Vérification
Une fois le certificat installé, le site doit être accessible à l'adresse :
https://test.kenemi.fr
Vous pouvez consulter les certificats installés avec :
certbot certificates
Renouvellement automatique
Les certificats Let's Encrypt sont valides pendant 90 jours.
Sous Debian et Ubuntu, Certbot configure automatiquement un renouvellement via un timer systemd (ou une tâche cron selon la version du système).
Vous pouvez vérifier son bon fonctionnement avec :
certbot renew --dry-run
Si cette commande se termine sans erreur, le renouvellement automatique est correctement configuré.