Sources :
Serveur HTTP Apache 2
Documentation Apache
Installer Apache :
sudo apt-get install apache2 sudo service apache2 status Pour cacher la version d'Apache à des regards extérieurs : sudo nano /etc/apache2/conf-enabled/security.conf Remplacer ServerTokens OS par ServerTokens Prod Remplacer ServerSignature On par ServerSignature Off sudo service apache2 restart On ouvre le port 80 du firewall : sudo ufw allow http sudo ufw status verbose (vérification)
En se connectant sur l’adresse IP du VPS, nous arrivons sur :
On modifie la page d’accueil du serveur :
sudo rm /var/www/html/index.html sudo nano /var/www/html/index.html et enregistrer une page vide.
On modifie les droits du dossier auquel peut accéder Apache pour plus facilement administrer les sites (avec FileZilla) et pour des raisons de sécurité. 750 : Le propriétaire à tous les droits / Le groupe www-data (sur lequel intervient Apache) peut lire et exécuter (=> lien) :
sudo chown -R $USER:www-data /var/www/html sudo chmod -R 750 /var/www/html
Création d’hôtes virtuels :
Dans le répertoire /etc/apache2/sites-available, les deux fichiers par défaut sont 000-default.conf et default-ssl.conf.
Pour connaître les sites actifs :
ls /etc/apache2/sites-enabled
Nous allons créer des hôtes virtuels (fichiers *.conf) pour chacun des sites web installés sur le serveur.
=> https://doc.ubuntu-fr.org/apache2#hotes_virtuels
Les choses vont se passer ici :
cd /etc/apache2/sites-available sudo cp 000-default.conf mon-site.conf (mon-site à adapter) Dans le fichier mon-site.conf ouvert ci-dessus, rajouter ou modifier (mon-site à adapter) : ServerName mon-site DocumentRoot /var/www/html/mon-site ErrorLog ${APACHE_LOG_DIR}/error.mon-site.log CustomLog ${APACHE_LOG_DIR}/access.mon-site.log combined Pour activer la configuration d'un site : sudo a2ensite mon-site.conf (mon-site à adapter) Pour recharger la configuration d'Apache : sudo systemctl reload apache2
Quelques ordres également utiles :
Pour désactiver la configuration d'un site : sudo a2dissite mon-site.conf (mon-site à adapter) Pour redémarrer Apache : sudo service apache2 restart
Pour activer le https (génération de certificat SSL) :
On commence par ouvrir le port 443 (https) sur le firewall :
sudo ufw allow 443/tcp sudo ufw status verbose (vérification)
On fait pointer le nom de domaine vers l’adresse IP du VPS.
Sources :
https://letsencrypt.org/fr/getting-started/
https://certbot.eff.org/ => Certbot Commands
https://certbot.eff.org/instructions?ws=apache&os=debianbuster
On installe le gestionnaire de paquets Snap avant d’installer Cerbot :
sudo apt-get install snapd sudo snap install core; sudo snap refresh core sudo apt-get remove certbot (si déjà installé) sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot Pour créer un certificat : sudo certbot --apache -d mon-site-1 (à adapter) sudo certbot --expand -d mon-site-2 (à adapter) Remarque : Les fichiers *-le-ssl.conf sont créés automatiquement à ce moment là. Pour tester le renouvellement automatique d'un certificat : sudo certbot renew --dry-run
Quelques ordres également utiles :
Pour lister les certificats : sudo certbot certificates Pour effacer un certificat : sudo certbot delete Pour mettre à jour un certificat en ajoutant un nouveau nom de domaine : sudo certbot --expand -d mon-site (à adapter)
On modifie les droits du dossier auquel peut accéder Apache pour plus facilement administrer les sites (avec FileZilla) et pour des raisons de sécurité. 750 : Le propriétaire à tous les droits / Le groupe www-data (sur lequel intervient Apache) peut lire et exécuter (=> lien) :
(mon-site à adapter) Changement de propriétaire : sudo chown -R $USER:www-data /var/www/html/mon-site Donne les droits 750 (on peut préférer 755) sur les répertoires : sudo find /var/www/html/mon-site/ -type d -exec chmod 750 {} \; Donne les droits 640 (on peut préférer 644) sur les fichiers : sudo find /var/www/html/mon-site/ -type f -exec chmod 640 {} \;