-
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.
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 : nginx, http, serveur web, web, omnios
-
Commentaires