Retourner sur le site

Installer Apache HTTP Server

Installez et configurez Apache sur VPS HolyCloud : virtual hosts, modules, MPM, logs et intégration avec PHP-FPM ou reverse proxy.

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 configtest avant systemctl 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 ServerName global ou dans le vhost
  • Port 80 occupé : sudo ss -tlnp | grep :80
  • Boucle de redirection : règles .htaccess ou proxy — testez avec curl -v
  • Support HolyCloud : apache2ctl -S, extraits error.log, free -h