Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

NginX - Configuration HTML

Par Yoann NAKACHE Publié le 20/12/2018 à 13:22:04 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Guide de configuration

Debian Stretch

Table des matières

1. Qu’est-ce qu’Nginx ?

2. Prérequis

3. Configuration HTML

3.1. Configuration réseau

3.1.1. Interfaces

3.1.2. Enregistrement et fermeture du fichier de configuration

3.1.3. Hosts

3.1.4. Host.conf

3.1.5. Hostname

3.1.6. Resolv.conf

3.2. Intégration du site Web

3.3. Configuration NginX

1. Qu'est ce qu'NginX ?

NginX est un logiciel libre faisant office de serveur Web et de reverse proxy. Il est relativement nouveau (2004) en comparaison avec d’autres serveurs Web (1995 pour Apache).

Il est disponible sur les principaux systèmes d’exploitation Windows, MacOs et Linux.

Il a la particularité de traité les requêtes en les découpant en plusieurs taches, qui seront gérés de façon séparée, afin d’alléger le travail du processeur et de permettre de faire évoluer une tache sans dépendance avec une autre.

Un serveur Web permet de publier des sites Web via Internet ou Intranet.

Un reverse proxy permet de sécuriser une infrastructure informatique. C’est un serveur qui agit comme intermédiaire entre client et cible, afin de garder anonyme la cible.

2. Prérequis

  • Une distribution Debian, téléchargeable sur le site Web : https://www.debian.org/CD/http-ftp/#stable ». La communauté Debian propose plusieurs types de distribution selon le besoin, et selon les composants de la machine.

  • Une machine physique (et/ou un logiciel de virtualisation) qui possède au minimum : un processeur d’au moins 1 Ghz, 10 Go de disque dur, 1 Go de mémoire vive, une carte réseau.

  • NginX doit être préalablement installé sur le serveur. L’installation est simple et se fait via le tutoriel « https://www.supinfo.com/articles/single/8628-nginx »

  • Un accès à Internet pour pouvoir télécharger les paquets d’installation de Nginx au besoin

  • Un compte administrateur de l'environnement de production.

3. Configuration HTML

La configuration de l’accès au site HTML (ou PHP) de Nginx se fait dans :

/etc/nginx/conf.d/nomDuSite.conf

Le site en lui-même est contenu dans :

/usr/share/nginx/html/nomDuSite.html

Mais il faut avant tout configurer :

  • Le réseau du serveur,

  • Les droits d’accès aux dossiers,

  • Le FTP pour déposer les éléments du site dans le système.

3.1. Configuration réseau

Il est nécessaire de modifier quatre fichiers différents pour rendre le réseau opérationnel :

3.1.1. Interfaces

Afin d’afficher les paramètres de la carte réseau, et dans le but d’assigner une adresse IP statique, entrer la commande :

nano /etc/network/interfaces

Il n’est nécessaire de modifier uniquement « Primary network interface ». Entrer la commande comme suivante :

# The primary network interface

allow-hotplug ens33

iface ens33 inet static

address 192.168.10.10

netmask 255.255.255.0

gateway 192.168.130.2

3.1.2. Enregistrement et fermeture du fichier de configuration

Afin de procéder à l’enregistrement du fichier de configuration et sa fermeture, il faut presser les touches « Ctrl » et « X » en même temps. Il s’agit de la commande de fermeture.

L’éditeur de texte demande si les modifications doivent être enregistrés. Presser la touche « o » du clavier pour confirmer :

Puis confirmer la localisation du fichier en pressant la touche « Entrée » du clavier. L’éditeur de texte se fermera, et l’invite de commande classique s’affichera :

Afin de prendre en compte les changements, il est nécessaire d’entrer les commandes de redémarrage du service :

service networking restart

3.1.3. Hosts

Il est nécessaire maintenant d'attribuer un nom d’hôte à l’adresse IP, ainsi qu’un alias.

Entrer la commande :

nano /etc/hosts

Puis entre la commande :

192.168.10.10 trashsite01.com trashsite01

(à savoir que "trashsite01" est le nom du serveur et du site Web)

Puis suivre la procédure 3.1.2. pour enregistrer, fermer et redémarrer la configuration.

3.1.4. Host.conf

Il faut maintenant indiquer aux systèmes que la résolution de nom se fera dans le fichier « hosts » en premier, et ensuite dans le « bind » (qui est le serveur DNS, mais qui n’a pas été mis en place ici).

Entre la commande :

nano /etc/host.conf

Puis entrer les commandes :

order hosts, bind

multi on

Puis suivre la procédure 3.1.2 pour enregistrer, fermer et redémarrer la configuration.

3.1.5. Hostname

Afin de définir un nom au système hôte, entrer la commande :

nano /etc/hostname

Puis entrer le nom d'hôte :

trashsite01

Puis suivre la procédure 3.1.2 pour enregistrer, fermer et redémarrer la configuration.

Il est de plus nécessaire d’entrer la commande à partir du terminal :

hostname trashsite01

3.1.6. Resolv.conf

Enfin, il est nécessaire d’indiquer au système quel serveur de nom utiliser.

Entre la commande :

nano /etc/resolv.conf

Puis entrer les informations du serveur avec les commandes :

domain trashbox.com

search trashbox.com

nameserver 192.168.10.1

Puis suivre la procédure 3.1.2. pour enregistrer, fermer et redémarrer la configuration.

3.2. Intégration du site Web

Par l’intermédiaire de FileZilla (tutoriel « ProFTPd » à paraitre prochainement) ainsi qu’en assignant les droits via la commande « chmod » intégrer le site Web en html dans le dossier :

/usr/share/nginx/html/nomDuSite.com

Configuration NginX

Afin de modifier la configuration d’Nginx et d’accéder au site Web en html, modifier le fichier par défaut, qui se nomme « defaut.conf » en entrant la commande de modification « mv »:

mv /etc/nginx/conf.d/default.conf/etc/nginx/conf.d/trashbox.com.conf

Puis éditer le fichier pour commencer la configuration :

nano /etc/nginx/conf.d/trashbox.com.conf

Il est possible de supprimer la configuration actuelle pour entrer la nouvelle.

Voici la nouvelle, avec les commentaires :

server {

# Nginx va réceptionner les demandes depuis le port 8080 en IPV4 et IPV6

listen 8080;

listen [::]:8080;

# Nom du serveur appelé

server_name trashbox.com www.trashbox.com;

# Dossier de destination du site Web

Location / {

root /usr/share/nginx/html/trashbox.com;

index index.html;

}

# Dossier de destination des logs

error_log /usr/share/nginx/html/logs/error_logs;

access_log /usr/share/nginx/html/logs /access_logs;

# Dans le cas où l’url du site est suivie d’un “.” Toutes les requêtes seront rejetés

Location ~ /\. {

deny all;

access_log off;

log_not_found off;

}

# Affichage de la page d’erreur

error_page 404 500 501 502 503 504 /error.html;

Location = /error.html {

root /usr/share/nginx/html/trashbox.com;

}

}

Conclusion

Le serveur est maintenant fonctionnel et est apte à afficher une page Web via NginX.

D'autres paramétrages sont bien entendu disponibles, avec énormément de possibilités, principalement sur le site de l'éditeur : https://nginx.org/en/docs/

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels