Quelques opérations à effectuer:
Normalement, si tu as suivi le tuto Post installation, ton serveur Apache est installé,configuré et activé par defaut. (Pour toi: rien à faire)
Si çà n'est pas le cas, il te faut installer apache2. Attention!!! (Rappel : les commandes sur ce site sont passées en "root")
sudo -i
apt update -y
apt install apache2 -y
Objectifs et Prérequis...
Quand tout ceci est prêt,
il convient de se poser quelques questions
A quelle fin vais-je utiliser Mon serveur Apache?
- j'utilise Apache pour distribuer des informations ou des services sur un réseau local: Dans ce cas, on pourrait laisser la configuration telle quelle est, et utiliser l'adresse http:localhost pour accéder au site.
- j'utilise Apache pour distribuer des informations ou des services accessibles depuis internet: Dans ce cas quelques prérequis supplémentaires sont nécessaires :
- Posséder un Nom de domaine Tu peux en acheter un ou plutôt le louer chez un régistar qui se chargera de l'inscription à l'AFNIC et de la diffusion.
- Déclarer un ou des champs A chez le régistar dans la zone DNS. Pour IPV4 :
- Adresse locale du serveur : Fixe elle aussi, une adresse du réseau sur une plage réservée du serveur DHCP ex: 192.168.1.253 ou en 172.x.x.x ou encore 10.x.x.x...
- Connaître les ports utilisés par Apache : Les ouvrir dans le firewall local et mettre les bonnes règles NAT dans la box.
- Connaître l'arborescence d'apache2 :
mydomain.fr, mydomain.com, mydomain.eu...
| mydomain.fr. 0 A xxx.xxx.xxx.xxx |
| www.mydomain.fr. 0 A xxx.xxx.xxx.xxx> |
L'adresse IP étant l'IP publique donnée par le FAI. (Si possible fixe)
Cas d'IPV6 :
| www.mydomain.fr. 0 AAAA IPV6xxxxxxxxxxxx |
Ce qui nous intéresse pour le moment :
ici nous voyons les configurations par defaut proposées par Apache2 à l'installation:
Et les configurations déjà activées :
Le VirtualHost
Première approche d'un VirtualHost...
nano /etc/apache2/sites-available/000-default.conf
On devrait voir : (ici, j'ai supprimé tous les commentaires...)
- première ligne: Nous indique le port d'écoute
- Deuxieme ligne: le nom de notre serveur 'Nom de domaine)
- Troisième ligne: l'adresse du webmaster
- Quatrième ligne: la source des données du serveur (chemin vers le répertoire du domaine)
- Cinquième et sixième lignes: chemin des fichiers de log
- Septième ligne: Balise de fermeture du VirtualHost
Refermons sans enregistrer avec
| CTRL x |
Structure du site du Domaine...
Encore quelques petites tâches...
Créons le répertoire de nos données su site:
On pourrait laisser /var/www/html (pour nous ce sera: /var/www/mydomain.fr, où on remplacera mydomain.fr par le véritable nom de domaine)
mkdir /var/www/mydomain.fr
On donne les droits à notre webmaster
Remplace "moi" par ton user :
chown -Rf moi:moi /var/www/mydomain.fr
Un petit tour vers /var/www
ls-al /var/www/
Tu devrais voir ton user et son groupe propriétaires du répertoire
Créons maintenant une page html (index.html) dans mydomain.fr
nano /var/www/mydomain.fr/index.html
Y inscrire les directives suivantes: (A copier...)
<html>
<body>
la page
</body>
</html>
<body>
la page
</body>
</html>
On enregistre index.html
| CTRL o | ENTER | CTRL x |
Configuration du Virtualhost pour le domaine...
Le VirtualHost...
nano /etc/apache2/sites-available/000-default.conf
On va changer les paramètres comme suit: (LES TIENS!!!)
Ecrire
| CTRL o |
Nommer
| mydomain.fr.conf |
Enregistrer
| ENTER | CTRL x |
On teste :
apachectl configtest
On devrait avoir :
Syntax OK.
a2dissite 000-default.conf
On active le notre
a2ensite mydomain.fr.conf
Apres cela on redémarre Apache
systemctl restart apache2
Résultat en local...
http://localhost
----------------------------------------------------
Notre page apparaît,
Ca marche en local!!! Merveilleux!
Exister et être vu sur le web...
Un serveur ne peut être vu sur Internet que si la machine et le réseau autorisent les entrées et les sorties.
Cà signifie qu'il va falloir ouvrir certains ports sur le firewall de notre serveur et sur la passerelle de notre réseau.
Cette dernière est la seule à posséder l'adresse IP publique que nous fournit le FAI.
Cette dernière est la seule à posséder l'adresse IP publique que nous fournit le FAI.
Quand nous avons effectué les enregistrements A chez le régistar, nous avons traduit l'IP publique en quelque-chose de lisible et mémorisable pour l'humain, CAD : xxx.xxx.xxx.xxx=mydomaine.fr
l'ouverture des ports...
Voir le statut de notre firewall...ufw
ufw status
Par défaut lors d'une installation ufw est à : "Etat Inactif", nous allons l'activer au démarrage de la machine:
ufw enable
Maintenant ouvrons les ports pour Apache le pot http 80 et le ports https 443 (ufw sait ouvrir les ports pour des applications nous utiliserons "Apache Full"
ufw allow "Apache Full"
ufw nous informe que la règle a bien été entrée. on peut le vérifier si on veut:
ufw status
Ouverture des ports sur la box internet...ici exemple (selon la box)
Résultat sur internet HTTP...
http://mydomain.fr
----------------------------------------------------
Notre page apparaît,
Ca marche en mode non sécurisé (http)!!! Merveilleux!
Sécurisation avec TLS et les certificats pour https
Pour notre site, nous allons choisir une authentification ssl tls sur le port 443 que nous avions ouvert précédemment.
Le petit cadenas dont les médias parlent tant...
Puisque nous possédons un Nom de Domaine, nous choisirons d'obtenir un certificat d'une autorité de certification (CA) plutôt qu'un certificat auto-signé.
Let's Encrypt nous donne des certificats d'une validité de 90 jours avec la possibilité de le renouveler manuellement ou automatiquement.
Première étape Utilisation de certbot...
Tout d'abord, installons l’outil certbot.
apt install certbot python3-certbot-apache
Demandons le ou les certificats avec la commande suivante :
certbot -v --apache
letsencrypt demande une adresse mail valide et pose des questions auxquelles nous répondons : (voir les slides ci dessous:)
Ici repondre y pour accepter Y>
Ici repondre y pour accepter Y>
Ici taper Enter pour générer les certificats pour les deux VirtualHost pour accepter Y>
Le certificat a bien été installé, et le Virtualhost ssl a été crée ainsi que la redirection vers https://www.mydomaine.fr
Résultat sur internet HTTPS...
http://mydomain.fr
Notre page apparaît,
Ca marche en mode non sécurisé (http)!!! Merveilleux!
Il ne reste plus qu'à implémenter du contenu et des services au serveur
Bravo pour cette installation! A bientôt pour d'autres TUTOS et : ENJOY!!!

