• Configurer un site internet en http avec Nginx

    Procédure d'installation complète

    Configurer un site internet sur Nginx (sur OmniOS) .

     

    L’objectif est de configurer un serveur web (qu’on nommera SVRweb) et de créer le site ‘www.jesuissuper.com’, puis de pouvoir consulter ce site depuis un poste client (qu’on appelera PC1, sur Debian ou FreeBSD ou sur Windows) sur le même réseau.

     

    Configurer un site internet sur Nginx (sur Debian 11)

     

    Etape 1 : Télécharger et Installer nginx et nano

    pkg install nginx

    Créer un dossier pour les configurations de vhost à venir (idem que pour apache)

    mkdir /etc/opt/ooce/nginx/conf.d

    Etape 2 : créer (ou copier s'il est donné) le dossier du site

    mkdir -p /opt/ooce/nginx/docs/www.jesuissuper.com

    - si vous devez créer entièrement le site internet, alors il faut créer une première page (index.html) dans le dossier 'www.jesuissuper.com'.

    - si le site internet est fourni (par des développeurs), alors c'est leur dossier que l'on doit copier dans /opt/ooce/nginx/docs/

    on considèrera ici qu'on doit créer le site, donc on doit créer la page index.html

    nano /opt/ooce/nginx/docs/www.jesuissuper.com/index.html

    on y met ce qu'on veut, c'est juste pour montrer que le site web s'affiche bien quand on tappe l'URL.

    Etape 3 : le vhost.
    Plusieurs moyens sont possibles avec Nginx..
    Les puristes vous diront que les fichiers des vhosts se concatènent dans le fichier de configuration général d'nginx, à savoir /etc/opt/ooce/nginx/nginx.conf, et que donc, vous n'avez qu'à placer vos vhosts à la fin du fichier, AVANT la dernière accolade }.
    D'autres qu'un dossier conf.d existe dans le répertoire Nginx (vu qu'on vient de le créer lol), et qu'il est préférable de mettre vos vhosts dedans.
    (raison pour laquelle, dans le monde debian, vous avez les répertoires sites-available et sites-enabled)
    Nous allons préférer cette méthode, même si la première fonctionne très bien.

    Faîtes une copie du fichier de conf générale vers le dossier conf.d.
    Vous remarquez que je change directement le nom du fichier copié.

    cp /etc/opt/ooce/nginx/nginx.conf /etc/opt/ooce/nginx/conf.d/www.jesuissuper.com.conf

    Entrez dans votre copie :

    nano /etc/opt/ooce/nginx/conf.d/www.jesuissuper.com.conf

    et écrémez jusqu'à la partie d'exemple de vhost à la fin..
    Voici ce qui doit rester A MINIMA dans votre fichier :

    server {
                   listen            192.168.10.200:80;
                   server_name       www.jesuissuper.com;
    access_log /var/log/opt/ooce/nginx/www.jesuissuper.com-access.log combined;                location / {                   root /opt/ooce/nginx/docs/www.jesuissuper.com;                   index index.html index.htm;       } }

    Il est important de préciser le socket (IP:port) du serveur pour le vhost, car vous pourriez avoir plusieurs intefaces sur votre serveur et uniquement vouloir que les connexions vers votre site ne viennent que d'une seule interface en particulier.                 

    A présent, nous devons faire en sorte qu'nginx exécute le contenu de notre dossier conf.d (et donc notre vhost) :
     - D'abord nous devons supprimer la dernière ligne du fichier nginx.conf (qui contient une accolade) : (soit vous le faîtes à la main avec nano, soit vous copiez-collez la ligne suivante) :

    sed '$d' /etc/opt/ooce/nginx/nginx.conf > /tmp/temp && mv /tmp/temp /etc/opt/ooce/nginx/nginx.conf

    - Ensuite, nous ajoutons la ligne pour inclure les configurations de notre dossier conf.d :

    echo "include /etc/opt/ooce/nginx/conf.d/*.conf;" >> /etc/opt/ooce/nginx/nginx.conf

    - Enfin, nous replaçons l'accolade de fin du fichier :

    echo "}" >> /etc/opt/ooce/nginx/nginx.conf

    Etape 5 : démarrage d'Nginx
    Nous devons corriger quelques oublis des dev pour pouvoir lancer nginx sans embuches.
    - nginx n'a pas accès à son propre dossier de logs...

    chown -R nginx:bin /var/log/opt/ooce/nginx

    - ni à son PID :

    chown -R nginx:bin /var/opt/ooce/nginx/run


    Voilà, cette fois c'est bon, nous pouvons démarrer nginx !

    svcadm enable nginx

    Etape 6 : l'enregistrement DNS. 

    Puisque sur notre schema il n'existe pas de serveur DNS, il faut donc créer un enregistrement DNS sur le PC1 afin que celui-ci puisse résoudre le nom 'www.jesuissuper.com' lors de la requête http dans le navigateur.

    Lorsque l'utilisateur tappera http://www.jesuissuper.com, le PC1 ne comprendra pas la requête. Il ne saura pas faire le lien entre ce nom 'www.jesuissuper.com' et l'adresse IP qu'il devra contacter pour afficher le site.

    cas 1 : le PC1 est sous debian, avec un environnement de bureau

    nano /etc/hosts
    192.168.10.200  www.jesuissuper.com


    cas 2 : le PC1 est sous windows.

    modifier le fichier hosts (voir la procédure dans le thème Windows 10 Pro), y ajouter la même ligne qu'au-dessus

     

     

     


    Tags Tags : , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :