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. ~10 min de lecture Intermédiaire #apache #httpd #virtualhost #web 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 Suite de la lecture Article précédent Installer Ansible Lire Article suivant Installer Docker et Docker Compose Lire