Pour commencer...

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.
    mydomain.fr, mydomain.com, mydomain.eu...
  • Déclarer un ou des champs A chez le régistar dans la zone DNS.
  • Pour IPV4 :
    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

  • 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 :
  • folder_apache

    Ce qui nous intéresse pour le moment :
    ici nous voyons les configurations par defaut proposées par Apache2 à l'installation:
    available

    Et les configurations déjà activées :
    enabled

Le VirtualHost

Première approche d'un VirtualHost...

Editons le fichier 000-default.conf avec nano :
nano /etc/apache2/sites-available/000-default.conf

On devrait voir : (ici, j'ai supprimé tous les commentaires...)
000-default.conf

Refermons sans enregistrer avec
CTRL x

Structure du site du Domaine...

Encore quelques petites tâches...

  • Déterminer l'utilisisateur ou webmaster:
  • pour cette configuration, je laisse sudo, CAD: moi çà m'évite d'en créer un pour le moment)
  • Créer le répertoire des données du site.
  • Ecrire la première page de donnés (index.html):

  • 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


    droits

    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>
    On enregistre index.html
    CTRL oENTERCTRL x

    Configuration du Virtualhost pour le domaine...

    Le VirtualHost...

    Editons de nouveau le fichier 000-default.conf avec nano :
    nano /etc/apache2/sites-available/000-default.conf

    000-default.conf

    On va changer les paramètres comme suit: (LES TIENS!!!)
    mydomain.fr.conf

    Ecrire
    CTRL o

    orig.conf
    Nommer
    mydomain.fr.conf
    dest.conf
    Enregistrer
    ENTER CTRL x

    On teste :
    apachectl configtest

    On devrait avoir :

    Syntax OK.


    Activation du Virtualhost pour le domaine...
    On desactive le VirtualHost par defaut d'Apache
    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...

    Maintenant on ouvre firefox et dans la barre d'adresse on tape:

    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.
    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)

    droits

    Résultat sur internet HTTP...

    Maintenant on ouvre firefox et dans la barre d'adresse on tape:

    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:)

    cert2

    Ici repondre y pour accepter Y>

    cert3

    Ici repondre y pour accepter Y>

    cert4

    Ici taper Enter pour générer les certificats pour les deux VirtualHost pour accepter Y>

    cert5

    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...

    Maintenant on ouvre firefox et dans la barre d'adresse on tape:

    http://mydomain.fr


    tls
    Si on clique sur le petit cadenas on en aura la preuve que nous fournissons une authentification offielle
    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!!!

    Laisser un commentaire

    👀 Voir tous les commentaires

    My Domain

    Pascal