Installer Apache HTTP Server
Apache HTTP Server est l'un des serveurs web les plus utilisés sur les VPS Linux HolyCloud. Ce guide couvre l'installation depuis apt, la structure des sites sous Debian/Ubuntu, l'activation des modules courants, un virtual host nommé et les vérifications de configuration.
Prérequis
- VPS HolyCloud Ubuntu 22.04/24.04 ou Debian 12
- Accès sudo
- Nom de domaine (optionnel pour test par IP)
- Ports 80/443 ouverts (UFW + pare-feu HolyCloud)
- 512 Mo RAM minimum (1–2 Go recommandé avec PHP-FPM)
Conseil : exécutez toujours
apache2ctl configtestavantsystemctl reload apache2.
Étape 1 : installation
sudo apt update
sudo apt install -y apache2
sudo systemctl enable --now apache2
sudo systemctl status apache2
Version :
apache2 -v
Test local :
curl -I http://127.0.0.1
Étape 2 : structure Debian/Ubuntu
| Chemin | Rôle |
|---|---|
| -------- | ------ |
/etc/apache2/apache2.conf |
Configuration globale |
/etc/apache2/sites-available/ |
Virtual hosts disponibles |
/etc/apache2/sites-enabled/ |
Liens symboliques vers sites actifs |
/etc/apache2/mods-available/ |
Modules |
/var/www/html/ |
DocumentRoot par défaut |
/var/log/apache2/ |
Logs |
Lister les sites et modules :
apache2ctl -S
apache2ctl -M
ls -la /etc/apache2/sites-enabled/
Étape 3 : modules utiles
sudo a2enmod rewrite ssl headers proxy proxy_http proxy_fcgi setenvif
sudo a2enconf charset
sudo systemctl reload apache2
Désactiver la page par défaut si vous utilisez un vhost nommé :
sudo a2dissite 000-default.conf
Étape 4 : virtual host HTTP
sudo mkdir -p /var/www/exemple.fr/public_html
echo '<h1>Apache HolyCloud</h1>' | sudo tee /var/www/exemple.fr/public_html/index.html
sudo chown -R www-data:www-data /var/www/exemple.fr
Fichier de site :
sudo nano /etc/apache2/sites-available/exemple.fr.conf
<VirtualHost *:80>
ServerName exemple.fr
ServerAdmin [email protected]
DocumentRoot /var/www/exemple.fr/public_html
<Directory /var/www/exemple.fr/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/exemple.fr-error.log
CustomLog ${APACHE_LOG_DIR}/exemple.fr-access.log combined
</VirtualHost>
Activer :
sudo a2ensite exemple.fr.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
Étape 5 : MPM et PHP-FPM
Voir le MPM actif :
apache2ctl -V | grep MPM
Pour PHP, préférez php-fpm avec mpm_event :
sudo apt install -y php-fpm
sudo a2dismod mpm_prefork 2>/dev/null || true
sudo a2enmod mpm_event proxy_fcgi
sudo a2enconf php8.2-fpm 2>/dev/null || sudo a2enconf php8.3-fpm
Dans le VirtualHost :
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
</FilesMatch>
sudo systemctl reload apache2
Étape 6 : pare-feu et limites de base
sudo ufw allow 'Apache Full'
sudo ufw status
Fichier de tuning léger (petit VPS) :
sudo nano /etc/apache2/mods-available/mpm_event.conf
Ajustez MaxRequestWorkers selon la RAM ; rechargez après modification.
Étape 7 : logs et rotation
sudo tail -f /var/log/apache2/exemple.fr-access.log
sudo tail -f /var/log/apache2/exemple.fr-error.log
Statut des requêtes en erreur :
sudo grep -i error /var/log/apache2/exemple.fr-error.log | tail -20
Vérification
sudo apache2ctl configtest
curl -H 'Host: exemple.fr' http://127.0.0.1/
sudo ss -tlnp | grep -E ':80|:443'
systemctl is-active apache2
Navigateur : http://exemple.fr affiche votre page ; apache2ctl -S liste le vhost en port 80.
Besoin d'aide HolyCloud
- AH00558 nom de serveur : ajoutez
ServerNameglobal ou dans le vhost - Port 80 occupé :
sudo ss -tlnp | grep :80 - Boucle de redirection : règles
.htaccessou proxy — testez aveccurl -v - Support HolyCloud :
apache2ctl -S, extraits error.log,free -h