Vous souhaitez héberger votre propre site web sur un serveur Linux ? Que ce soit pour un projet personnel, un portfolio, un site vitrine ou une application professionnelle, créer un serveur web Apache sur Ubuntu est une solution simple, robuste et économique. Dans ce guide complet, vous apprendrez à installer, configurer et sécuriser un serveur Apache sur Ubuntu 22.04 ou 24.04, étape par étape.
🚀 Étape 1 : Préparer votre système Ubuntu
Avant d’installer quoi que ce soit, il est essentiel de mettre à jour votre système afin d’éviter les conflits de paquets et de bénéficier des dernières versions de sécurité.
sudo apt update && sudo apt upgrade -y
Installez ensuite les outils de base nécessaires à la gestion de votre serveur :
sudo apt install curl wget unzip ufw -y
Ces utilitaires vous seront utiles pour télécharger, extraire des fichiers et configurer le pare-feu (UFW).
🌐 Étape 2 : Installer le serveur Apache
Apache est le serveur web le plus populaire au monde, utilisé sur des millions de sites Internet. Il est open source, fiable et compatible avec la plupart des systèmes Linux.
Pour l’installer, tapez :
sudo apt install apache2 -y
Une fois l’installation terminée, démarrez le service Apache et configurez-le pour qu’il se lance automatiquement au démarrage :
sudo systemctl start apache2
sudo systemctl enable apache2
Pour vérifier son état :
sudo systemctl status apache2
Vous devriez voir le statut « active (running) », indiquant que le serveur est opérationnel.
🧱 Étape 3 : Configurer le pare-feu (UFW)
Ubuntu inclut un pare-feu intégré appelé UFW (Uncomplicated Firewall). Il permet de contrôler le trafic réseau entrant et sortant. Activez-le et autorisez le trafic web (HTTP et HTTPS) :
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status
Ensuite, ouvrez votre navigateur et rendez-vous à l’adresse :
http://votre-adresse-ip
Si la page « Apache2 Ubuntu Default Page » s’affiche, votre serveur est correctement installé.
🏗️ Étape 4 : Créer et configurer un hôte virtuel (Virtual Host)
Apache peut héberger plusieurs sites web sur un même serveur grâce à ses Virtual Hosts. Chaque site aura son propre dossier et fichier de configuration.
Créez d’abord un répertoire pour votre site :
sudo mkdir -p /var/www/mon-site
sudo chown -R $USER:$USER /var/www/mon-site
Ajoutez un fichier index.html de test :
echo "<h1>Bienvenue sur mon site web hébergé sur Apache !</h1>" | sudo tee /var/www/mon-site/index.html
Créez ensuite un fichier de configuration :
sudo nano /etc/apache2/sites-available/mon-site.conf
Ajoutez-y le contenu suivant :
<VirtualHost *:80>
ServerAdmin admin@monsite.com
ServerName monsite.com
ServerAlias www.monsite.com
DocumentRoot /var/www/mon-site
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Activez le site et rechargez Apache :
sudo a2ensite mon-site.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
Votre site est maintenant accessible via votre domaine ou votre adresse IP.
🔒 Étape 5 : Sécuriser le site avec HTTPS (Certificat SSL)
Pour sécuriser la connexion entre votre serveur et les visiteurs, installez un certificat SSL grâce à Certbot et Let’s Encrypt.
sudo apt install certbot python3-certbot-apache -y
Lancez ensuite la configuration automatique :
sudo certbot --apache
Certbot se charge d’obtenir et de configurer le certificat SSL. Il vous proposera également de rediriger automatiquement le trafic HTTP vers HTTPS.
Pour vérifier le renouvellement automatique des certificats :
sudo systemctl status certbot.timer
Les certificats sont renouvelés tous les 90 jours par défaut.
⚙️ Étape 6 : Tester et maintenir le serveur
Avant de redémarrer le service, assurez-vous que la configuration Apache ne contient pas d’erreurs :
sudo apache2ctl configtest
Si tout est correct, redémarrez Apache :
sudo systemctl restart apache2
Pour consulter les journaux et surveiller l’activité du serveur :
sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/apache2/error.log
Ces fichiers sont essentiels pour diagnostiquer les erreurs ou vérifier le trafic entrant.
🧠 Bonnes pratiques de sécurité et de performance
- Effectuez des sauvegardes régulières de vos fichiers et bases de données.
- Installez Fail2Ban pour bloquer les adresses IP suspectes :
sudo apt install fail2ban -y
- Optimisez Apache en activant la compression Gzip et le cache des fichiers statiques.
- Désactivez les modules inutiles pour alléger la charge serveur :
sudo a2dismod status
sudo systemctl reload apache2
- Surveillez la charge serveur avec des outils comme
htopouglances. - Utilisez un DNS fiable et un fournisseur d’hébergement stable pour garantir la disponibilité du site.
✅ Conclusion
Félicitations ! Vous avez installé et configuré un serveur web Apache complet sur Ubuntu. Vous pouvez désormais héberger vos sites web, vos applications ou vos API en toute autonomie. Apache reste une solution performante et flexible, adaptée à tous les types de projets.
En suivant ces étapes, vous disposez d’un environnement sécurisé, évolutif et prêt à accueillir vos futurs déploiements.