installer Apache VPS UbuntuVPS Linux··7 min de lecture·Par l'équipe OmegaCloud

Comment installer Apache sur un VPS Ubuntu : guide complet pas à pas

Illustration de l'article OmegaCloud : installer Apache VPS Ubuntu

Vous souhaitez installer Apache sur VPS Ubuntu pour héberger vos sites web avec un contrôle total ? Ce tutoriel vous guide pas à pas dans la configuration d'Apache2 sur Ubuntu Server, de l'installation initiale à la mise en production sécurisée, en exploitant pleinement les ressources de votre serveur virtuel.

Apache HTTP Server reste l'un des serveurs web les plus déployés mondialement, particulièrement apprécié pour sa stabilité, sa documentation exhaustive et son écosystème de modules. Sur un VPS Linux OmegaCloud, vous disposez d'un accès root complet, de ressources garanties (CPU dédié, SSD SAS) et d'une connectivité réseau optimale pour faire tourner Apache dans des conditions professionnelles.



Prérequis et connexion SSH au VPS Ubuntu

Avant d'installer Apache sur VPS Ubuntu, assurez-vous de disposer d'une instance Ubuntu Server 20.04 LTS, 22.04 LTS ou 24.04 LTS fraîchement provisionnée. Les versions LTS garantissent des mises à jour de sécurité sur plusieurs années, indispensables pour un environnement de production.

Connectez-vous en SSH à votre VPS avec l'utilisateur root ou un compte disposant des privilèges sudo :

ssh root@votre-ip-vps

Si vous utilisez l'authentification par clé SSH (recommandé), pensez à désactiver l'authentification par mot de passe dans /etc/ssh/sshd_config en définissant PasswordAuthentication no puis redémarrez le service :

systemctl restart sshd

Une fois connecté, mettez à jour la liste des paquets et les logiciels installés :

apt update && apt upgrade -y

Cette étape garantit que votre système dispose des derniers correctifs de sécurité avant d'installer de nouveaux services. Sur un VPS bien dimensionné, l'opération prend généralement moins d'une minute grâce au stockage NVMe.


Terminal SSH Linux sur fond noir affichant des lignes de commande apt update dans un datacenter sombre éclairé par des LEDs bleu cyan, racks de serveurs NVMe en arrière-plan flous


Installation et configuration d'Apache2 sur Ubuntu

Ubuntu inclut Apache dans ses dépôts officiels sous le nom de paquet apache2. L'installation est directe via APT :

apt install apache2 -y

Le gestionnaire de paquets télécharge Apache et ses dépendances (environ 15 Mo), puis configure automatiquement le service pour démarrer au boot. Vérifiez que le service tourne correctement :

systemctl status apache2

Vous devriez voir active (running) en vert. Apache écoute par défaut sur le port 80 (HTTP) et 443 (HTTPS si SSL est configuré). Testez immédiatement l'accès en ouvrant un navigateur et en saisissant l'adresse IP publique de votre VPS : vous devriez voir la page de bienvenue par défaut d'Apache « Ubuntu Default Page ».

Configuration des Virtual Hosts

Pour héberger plusieurs sites sur un même VPS, Apache utilise les Virtual Hosts. La configuration par défaut se trouve dans /etc/apache2/sites-available/000-default.conf. Créez une nouvelle configuration pour votre domaine :

nano /etc/apache2/sites-available/monsite.conf

Insérez le bloc suivant (adaptez ServerName et DocumentRoot à votre contexte) :

<VirtualHost *:80>
    ServerName monsite.com
    ServerAlias www.monsite.com
    DocumentRoot /var/www/monsite
    ErrorLog ${APACHE_LOG_DIR}/monsite_error.log
    CustomLog ${APACHE_LOG_DIR}/monsite_access.log combined
    <Directory /var/www/monsite>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Créez le répertoire du site et placez-y un fichier HTML de test :

mkdir -p /var/www/monsite
echo "<h1>Bienvenue sur MonSite</h1>" > /var/www/monsite/index.html
chown -R www-data:www-data /var/www/monsite

Activez le Virtual Host et rechargez Apache :

a2ensite monsite.conf
systemctl reload apache2

Vérifiez la syntaxe avant de recharger avec apachectl configtest ; vous devriez obtenir Syntax OK. N'oubliez pas de pointer votre nom de domaine vers l'IP de votre VPS via un enregistrement A dans votre zone DNS (le panel OmegaCloud permet de gérer les zones DNS directement).

Activation des modules essentiels

Apache repose sur une architecture modulaire. Activez les modules fréquemment utilisés :

a2enmod rewrite
a2enmod ssl
a2enmod headers
systemctl restart apache2
  • rewrite : active mod_rewrite pour les URL propres (indispensable pour WordPress, Laravel, etc.)
  • ssl : active le support HTTPS (certificat à configurer ensuite)
  • headers : permet de manipuler les en-têtes HTTP (sécurité, CORS)

Schéma architectural en 3D d'un VPS avec flux réseau entrant vers Apache sur port 80 et 443, serveur matérialisé par un rack illuminé en violet et câbles fibre optique fluorescents, fond datacenter stylisé


Sécurisation et optimisation d'Apache en production

Une fois Apache installé, plusieurs étapes de durcissement sont impératives avant de passer en production. La surface d'attaque d'un serveur web exposé doit être minimisée.

Pare-feu UFW et restriction des ports

Activez UFW (Uncomplicated Firewall) et n'autorisez que les ports nécessaires :

ufw allow OpenSSH
ufw allow 'Apache Full'
ufw enable

Le profil Apache Full ouvre les ports 80 et 443. Vérifiez avec ufw status. Sur un OmegaCloud, l'anti-DDoS volumétrique est activé par défaut au niveau du datacenter, ce qui filtre automatiquement les attaques par flood avant même qu'elles n'atteignent votre VPS.

Désactivation des informations sensibles

Par défaut, Apache expose sa version et les modules chargés dans les en-têtes HTTP et les pages d'erreur. Masquez ces informations en éditant /etc/apache2/conf-available/security.conf :

ServerTokens Prod
ServerSignature Off

Puis rechargez Apache avec systemctl reload apache2. Vérifiez avec curl -I http://votre-ip que l'en-tête Server indique uniquement « Apache » sans numéro de version.

Protection contre les injections avec mod_security (optionnel)

Pour un niveau de protection applicatif L7 supplémentaire, installez ModSecurity, un WAF open-source :

apt install libapache2-mod-security2 -y
systemctl restart apache2

Activez les règles OWASP Core Rule Set (CRS) disponibles sur owasp.org pour filtrer les tentatives d'exploitation courantes (XSS, SQLi, LFI). Attention, le CRS peut générer des faux positifs : testez-le en mode détection avant de basculer en blocage.

Certificat SSL gratuit avec Let's Encrypt

Pour activer HTTPS, installez Certbot et obtenez un certificat Let's Encrypt :

apt install certbot python3-certbot-apache -y
certbot --apache -d monsite.com -d www.monsite.com

Certbot modifie automatiquement votre Virtual Host pour écouter sur le port 443, redirige le trafic HTTP vers HTTPS et configure le renouvellement automatique (cronjob). Vérifiez le renouvellement avec certbot renew --dry-run.

Optimisation des performances

Pour servir des pages statiques rapidement, activez la compression gzip et la mise en cache :

a2enmod deflate
a2enmod expires
systemctl restart apache2

Ajoutez dans votre Virtual Host :

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Sur un VPS avec SSD SAS et plusieurs Gbps de bande passante, Apache peut servir plusieurs milliers de requêtes par seconde pour du contenu statique. Surveillez les performances avec apachetop ou intégrez Apache à votre stack de monitoring (Prometheus + node_exporter).



Gestion quotidienne et logs Apache

Les logs Apache se trouvent dans /var/log/apache2/ et fournissent des informations précieuses pour déboguer et analyser le trafic. Le fichier access.log enregistre toutes les requêtes HTTP, tandis que error.log consigne les erreurs PHP, les problèmes de permissions ou les tentatives d'accès à des ressources inexistantes.

Pour suivre les logs en temps réel :

tail -f /var/log/apache2/access.log

Installez GoAccess pour analyser visuellement les logs en temps réel dans le terminal :

apt install goaccess -y
goaccess /var/log/apache2/access.log -c

Pour automatiser la rotation des logs et éviter qu'ils saturent l'espace disque, Ubuntu configure par défaut logrotate pour Apache. Vérifiez la configuration dans /etc/logrotate.d/apache2.

Redémarrage et diagnostic

En cas de modification de configuration, rechargez Apache sans coupure de service :

systemctl reload apache2

Pour un redémarrage complet (nécessaire après installation de modules) :

systemctl restart apache2

Si Apache refuse de démarrer, diagnostiquez avec :

systemctl status apache2
journalctl -u apache2 -n 50
apachectl configtest

Les erreurs de syntaxe dans les Virtual Hosts, les conflits de port ou les permissions incorrectes sur DocumentRoot sont les causes les plus fréquentes de dysfonctionnement.



Conclusion

Vous savez désormais installer Apache sur VPS Ubuntu, configurer des Virtual Hosts multi-domaines, sécuriser votre installation avec UFW, SSL et ModSecurity, et optimiser les performances pour la production. Un VPS bien configuré avec Apache offre flexibilité, contrôle et performances pour héberger sites web, applications PHP ou APIs REST dans un environnement professionnel maîtrisé.



FAQ

Comment vérifier quelle version d'Apache est installée sur mon VPS Ubuntu ?

Exécutez la commande apache2 -v dans votre terminal SSH. Vous obtiendrez la version exacte d'Apache ainsi que la date de compilation. Pour des informations détaillées sur les modules chargés, utilisez apache2 -V (V majuscule).

Puis-je héberger plusieurs sites sur un même VPS avec Apache ?

Oui, c'est le fonctionnement standard grâce aux Virtual Hosts. Créez un fichier de configuration distinct pour chaque domaine dans /etc/apache2/sites-available/, activez-le avec a2ensite et rechargez Apache. Chaque site peut avoir son propre DocumentRoot, ses logs et ses paramètres SSL indépendants.

Comment forcer la redirection HTTP vers HTTPS après l'installation du certificat SSL ?

Certbot configure généralement cette redirection automatiquement. Si ce n'est pas le cas, ajoutez dans votre Virtual Host port 80 la directive Redirect permanent / https://monsite.com/ ou activez mod_rewrite et utilisez une règle RewriteRule pour rediriger tout le trafic. Rechargez Apache pour appliquer les changements.

Prêt à mettre en pratique ce que vous venez de lire ?

Découvrir nos offres

Articles liés

Prêt à vous lancer ?

à partir de 6,99 € HT/mois

Découvrir nos offres

Hébergements

Navigation