Ajouter des virtuals hosts à Nginx (Sites virtuels-Server blocks))
Aujourd’hui voyons un peu de manière claire et concise comment ajouter des vhosts sur Nginx.
Tout d’abord, ceci est utilisé dans le cas ou votre serveur doit gérer plusieurs sites sur des domaines différents (possibilité de binder avec l’ip aussi)
Grace à cette configuration NGINX transmettra la requete vers le bon site.
Rien de très compliqué là dedans. :)
On commence tout d’abord par configurer en amont tout ses domaines, ses IP etc etc …
1) D’abord bon si ce n’est pas déjà fait … on installe NGINX :D
sudo aptitude install nginx
2) On créé le répertoire qui acceuillera notre site par exemple tatatoto.fr :
sudo mkdir -p /var/www/tatatoto.fr/
3) on assigne les bons droits à notre répertoire :
sudo chown -R www-data:www-data /var/www/tatatoto.fr
Si besoin on rend certains fichiers lisibles … 755 …
4) Pour pouvoir tester après si tout est ok, on créé dans notre dossier un fichier qu’on va nommer index.html :
sudo echo "Page de test tatatoto.fr" > /var/www/tatoto.fr/index.html
Note : c’est juste une page toute simple pour vérifier rapidement si c’est bon.
5) Maintenant on va attaquer la configuration des fichiers de site internes à NGINX :
On va commencer par copier le modèle vers notre nouveau nom de site pour le reconnaitre facilement :
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/tatatoto.fr
Note : Si vous avez déjà modifié votre fichier « default », j’en ai mis un vierge disponible ici .
6) On modifie notre nouveau fichier tout frais :
sudo nano /etc/nginx/sites-available/tatatoto.fr
Deux méthodes, soit vous avez un fichier vierge et donc beaucoup de chose sera commentée de base (juste le début du fichier nous interesse en gros), soit vous recopier ce bout de code en le modifiant pour vous :
server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
root /var/www/tatatoto.fr;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name tatatoto.fr;
}
7) Pour activer notre nouveau site on créé un lien symbolique entre le dossier /etc/nginx/sites-available/tatatoto.fr et /etc/nginx/sites-enabled/tatatoto.fr :
sudo ln -s /etc/nginx/sites-available/tatatoto.fr /etc/nginx/sites-enabled/tatatoto.fr
8) On redemarre NGINX :
sudo service nginx restart
9) On vérifie si c’est ok en allant sur notre adresse : http://tatatoto.fr/
On doit voir apparaitre notre page !
10) C’est du tout bon ! Si on veut d’autres sites, on répète les actions précédentes (création de dossier, droits …) en faisant attention de ne pas écraser de fichiers de configurations et d’en faire un nouveau par site.
top sur le fond et la forme ;)