Inspiré de IT-Connect et Wiki Debian
Choix des technologies :
sudo apt update sudo apt install apache2 apache2-utils
Structure des fichiers :
| Chemin | Description |
| ——– | ————- |
| `/etc/apache2/apache2.conf` | Fichier de config principal |
| `/etc/apache2/sites-available/` | Sites virtuels |
| `/var/www/html/` | Racine web par défaut |
Activer un site :
sudo a2ensite mon-site.conf sudo systemctl reload apache2
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 3
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 3000
</IfModule>
sudo apt install nginx
Fichiers importants :
| Chemin | Description |
| ——– | ————- |
| `/etc/nginx/nginx.conf` | Config globale |
| `/etc/nginx/sites-available/` | Sites virtuels |
Exemple de config :
server {
listen 80;
server_name mondomaine.com;
root /var/www/mon-site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
sudo ufw allow 'Apache Full' # Apache sudo ufw allow 'Nginx HTTP' # Nginx
Pour Apache :
sudo a2dismod autoindex sudo systemctl restart apache2
Pour Nginx :
server_tokens off;
sudo apt install php-fpm php-mysql
Avec Nginx :
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
| Action | Commande |
| ———— | ————– |
| Vérifier syntaxe Apache | `sudo apache2ctl configtest` |
| Vérifier syntaxe Nginx | `sudo nginx -t` |
| Voir les logs | `sudo tail -f /var/log/apache2/error.log` |
<box warning|Bonnes pratiques> ✓ Toujours mettre à jour les paquets (`sudo apt upgrade`) ✓ Utiliser Let's Encrypt pour HTTPS ✓ Sauvegarder les fichiers de config </box>
<box success|Astuce> Pour tester les performances :
ab -n 1000 -c 100 http://localhost/
</box>