Nginx

Comment installer plusieurs domaines sur un serveur Nginx

Comment installer plusieurs domaines sur un serveur Nginx
De nos jours, de nombreux webmasters exécutent plusieurs noms de domaine sur le même serveur, car cela réduit le coût et la complexité de la gestion de nombreux sites Web. En tant que serveur Web, ce guide utilise Nginx en raison de ses performances élevées, de sa flexibilité et de sa facilité de configuration. Ce guide explique comment installer plusieurs noms de domaine sur le même serveur Web Nginx et crypter gratuitement le trafic vers les deux domaines.

Installer Nginx

Par défaut, Ubuntu n'est pas livré avec Nginx. Par conséquent, il doit être installé manuellement avec les commandes suivantes.

sudo apt-get mise à jour
sudo apt-get installer Nginx

La première commande met à jour les informations du référentiel local, tandis que la deuxième commande installe Nginx dans le système.

Configurer le pare-feu

La configuration du pare-feu dépend du logiciel pare-feu installé dans le système. Comme plusieurs pare-feux sont disponibles sur le marché, il n'est pas facile de leur apprendre à les configurer. Ainsi, ce guide montre uniquement comment configurer le pare-feu intégré par défaut - UFW, alias pare-feu simple. Les autres pare-feu devraient avoir une configuration similaire à celle-ci.

liste des applications sudo ufw
sudo ufw autorise 'Nginx HTTPS'
sudo ufw activer

La première commande répertorie les profils disponibles à utiliser dans le pare-feu. La deuxième commande utilise le profil HTTPS Nginx dans la liste d'autorisation (alias liste blanche) du pare-feu, et la troisième commande active le pare-feu. Ce guide montre plus tard comment utiliser HTTPS. HTTPS est nécessaire de nos jours car il sécurise la connexion de données entre le client et le serveur. Les navigateurs comme Chrome utiliseront automatiquement par défaut la version HTTPS de n'importe quel site à l'avenir ; Par conséquent, il est nécessaire d'avoir SSL activé pour tout site Web, en particulier lorsque le propriétaire du site Web prévoit d'améliorer son score de référencement et la sécurité.

Configurer le système de fichiers

Même si Nginx prend en charge la diffusion de contenu via plusieurs noms de domaine, il est configuré par défaut pour diffuser du contenu via un seul domaine. Le chemin par défaut est Nginx est /var/www/html. Plusieurs domaines nécessitent d'avoir plusieurs répertoires. Les instructions suivantes montrent comment créer plusieurs répertoires pour diffuser du contenu via plusieurs domaines.

  1. Créez un répertoire pour chaque domaine avec les commandes suivantes. Le drapeau p est nécessaire pour créer des répertoires parents, ce qui signifie que lorsque le www ou tout autre répertoire dans l'adresse n'existe pas, il crée toute la ligne de répertoires avec le drapeau p.
  2. sudo mkdir -p /var/www/nucuta.fr/html
    sudo mkdir -p /var/www/nucuta.net/html.
  3. Attribuer la propriété aux répertoires. Cela garantit à l'utilisateur un contrôle total sur les répertoires. Cependant, ici, l'utilisateur est extrait de l'utilisateur actuellement connecté, et il est donc important de se connecter au compte utilisateur qui va être attribué au répertoire. Le premier segment de $USER est pour l'utilisateur, et le deuxième segment est pour le groupe auquel appartient l'utilisateur.
  4. sudo chown -R $USER:$USER /var/www/nucuta.fr/html
    sudo chown -R $USER:$USER /var/www/nucuta.net/html
  5. Modifiez l'autorisation des répertoires avec les commandes suivantes. Il y a 3 entités et 3 autorisations dans les systèmes de fichiers Linux. Dans l'exemple suivant, le premier chiffre est pour un utilisateur, le deuxième chiffre est pour le groupe et le dernier chiffre est pour tous (aka public). L'autorisation de lecture a la valeur 4, l'autorisation d'écriture a la valeur 2 et l'autorisation d'exécution a la valeur 1. Ces nombres peuvent être additionnés pour modifier l'autorisation d'une entité, par exemple, 755 signifie que l'UTILISATEUR a l'autorisation de LIRE, ÉCRIRE et EXÉCUTER (4+2+1 = 7), GROUPE a l'autorisation de LIRE et EXÉCUTER (4+1 = 5), TOUS a la permission de faire de même. L'autorisation est appliquée aux fichiers et aux répertoires avec des règles différentes. Les règles sont répertoriées dans le tableau suivant.
  6. sudo chmod -R 755 /var/www/nucuta.fr/html
    sudo chmod -R 755 /var/www/nucuta.net/html
  7. Une fois l'autorisation attribuée, créez une page par défaut pour chaque domaine dans le navigateur Web lorsque le domaine nu est appelé. Le domaine nu signifie le domaine sans aucun sous-domaine, exemple nucuta.com.
  8. nano /var/www/nucuta.fr/html/index.html.
    nano /var/www/nucuta.net/html/index.html.
  9. Ajoutez le code passe-partout suivant dans chaque fichier d'index et enregistrez-le en tant qu'index.html dans le répertoire respectif (comme vu ci-dessus).


Bienvenue sur le premier site


Succès!



Configurer Nginx

La configuration de Nginx n'est pas si difficile car Nginx prend en charge par défaut plusieurs domaines. Même s'il est possible d'utiliser les informations de configuration de plusieurs domaines dans le même fichier, il est conseillé d'utiliser plusieurs fichiers pour les informations de configuration de chaque domaine. Le fichier de configuration par défaut est nommé "default" et se trouve dans /etc/nginx/sites-available/default

  1. Accédez à /etc/nginx/sites-available/default et supprimez toutes les informations de configuration. Utilisez un éditeur de texte comme nano ou le bloc-notes++
  2. nano /etc/nginx/sites-available/default
  3. Copiez et collez la configuration suivante et enregistrez-la.
  4. serveur
    écouter 80 default_server;
    écouter [::]:80 default_server;
    racine /var/www/html;
    index index.index html.index htm.nginx-debian.html;
    nom du serveur _;
    emplacement /
    try_files $uri $uri/ =404;

  5. Copiez les informations de configuration dans le fichier par défaut dans un fichier de configuration spécifique au domaine avec la commande suivante.
  6. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/nucuta.com
  7. Répétez l'étape ci-dessus pour l'autre domaine également avec la commande suivante.
  8. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/nucuta.rapporter
  9. Ouvrez les deux fichiers avec un éditeur de texte comme nano (nano ) et modifiez la valeur de la directive server_name comme suit.
  10. Dans /etc/nginx/sites-available/nucuta.fichier com
    nom_serveur nucuta.com
    Dans /etc/nginx/sites-available/nucuta.fichier net
    nom_serveur nucuta.rapporter
  11. Une fois les deux fichiers configurés, copiez-les dans les répertoires suivants pour activer les fichiers de configuration. Il crée un lien symbolique entre le fichier réel et le répertoire ; Par conséquent, à l'avenir, seuls les fichiers d'un répertoire disponible sur le site doivent être modifiés pour apporter des modifications aux répertoires disponibles et activés pour le site.
  12. sudo ln -s /etc/nginx/sites-available/nucuta.fr /etc/nginx/sites-enabled/
    sudo ln -s /etc/nginx/sites-available/nucuta.net /etc/nginx/sites-enabled/
  13. Parcourez les fichiers de configuration, apportez d'autres modifications et utilisez les commandes suivantes pour appliquer les modifications. La première commande garantit que les fichiers de configuration sont exempts d'informations de configuration non valides, et la deuxième commande garantit que le serveur est correctement rechargé ou redémarré pour que les modifications soient effectives. Utilisez les commandes de rechargement ou de redémarrage. Le rechargement est préférable, mais le redémarrage peut être utilisé si le rechargement n'a pas fonctionné.
  14. systemctl config nginx
    systemctl recharger nginx ou systemctl redémarrer nginx.

Configurer les enregistrements DNS

La configuration des paramètres DNS dépend du fournisseur DNS. Cependant, tous les fournisseurs DNS ont une interface similaire. Par défaut, le registraire de domaine donne accès aux enregistrements DNS. Cette phase nécessite l'adresse IP du serveur sur lequel le serveur Web nginx est hébergé. L'obtention de l'adresse IP dépend entièrement de la plate-forme. Des plateformes comme Linode, DigitalOcean, Vultr affichent l'IP dans le tableau de bord. S'il est difficile à trouver, contactez le support du fournisseur de services respectif.

  1. Dans les paramètres DNS, ajoutez un enregistrement « A » et utilisez l'adresse IP du serveur comme valeur, nom de domaine en tant que hôte. Assurez-vous que le nom de domaine utilisé ici est le même que le nom de domaine utilisé dans le fichier de configuration Nginx. Après avoir configuré un domaine, répétez-le pour l'autre domaine également.
  2. Laisser les enregistrements DNS à jour. Cela prend généralement jusqu'à 24 heures, mais généralement, cela se fait en quelques minutes.

Activer HTTPS

L'activation de HTTPS est assez simple, et peut être effectuée gratuitement avec letsencrypt. Letsencrypt est une autorité de certification open source qui délivre des certificats SSL gratuits aux webmasters pour crypter le trafic vers leur site web.

  1. Installez le composant logiciel enfichable dans le système d'exploitation avec la commande suivante. Notez que ce segment utilisera un démon snap pour installer tous les packages requis au lieu d'apt ou d'apt-get. Snap est une gestion alternative des packages et un outil de déploiement qui peut être utilisé pour installer des packages dans Ubuntu et de nombreux autres systèmes d'exploitation Linux. Ceci n'est pas nécessaire pour l'installation lorsque vous avez Ubuntu 16.04 LTS ou toute autre version supérieure. Cependant, exécutez toujours la dernière commande pour vous assurer que le snap est à jour.
  2. mise à jour sudo apt
    sudo apt installer snapd
    sudo snap install core; sudo snap refresh core
  3. Installez le certbot qui configure et renouvelle les certificats SSL pour les deux domaines. Sans certbot, les certificats SSL doivent être installés manuellement. En plus de cela, le renouvellement doit également être effectué manuellement. Cela peut être un problème car les certificats letsencrypt expirent après 3 mois plus tard. Par conséquent, le certificat SSL doit être renouvelé une fois tous les 3 mois pour s'assurer que le site peut fonctionner correctement comme prévu. Utilisez la commande suivante pour installer facilement le certbot.
  4. sudo snap install --classic certbot
  5. Certbot est installé dans le répertoire /snap/bin/certbot. Pour exécuter le fichier exécutable certbot via la ligne de commande sans spécifier son chemin complet, exécutez la commande suivante. Il crée un lien symbolique entre le snap/bin/certbot et le répertoire /usr/bin/certbot, permettant ainsi à l'exécutable certbot de s'exécuter sur l'interface de ligne de commande sans spécifier son chemin complet.
  6. sudo ln -s /snap/bin/certbot /usr/bin/certbot
  7. Configurez l'instance Nginx dans le système avec la commande suivante. Il existe une autre commande qui cible directement le domaine spécifique lors de la configuration du SSL. La 2ème commande spécifiée ci-dessous installe et configure le certificat SSL pour le nom de domaine spécifié.
  8. sudo certbot -nginx
    certbot --nginx -d nucuta.com
  9. Exécutez la commande suivante pour simuler le processus de renouvellement. La commande réelle sans indicateur -dry-run est exécutée automatiquement car certbot configure une tâche cron pour exécuter la commande automatiquement après quelques temps plus tard. Un test de fonctionnement à sec est nécessaire pour s'assurer que le certbot peut renouveler les certificats sans aucun obstacle.
  10. sudo certbot renouveler --dry-run

Conclusion

La configuration de plusieurs noms de domaine sur un serveur Web Nginx est assez simple car elle fournit une pléthore d'options pour faciliter le processus. Certbot permet d'installer des certificats SSL pour plusieurs domaines pour un serveur Web Nginx. En tant que certificat SSL, ce guide utilise Letsencrypt qui fournit des certificats SSL gratuitement pour un nombre illimité de domaines. Le seul inconvénient de letsencrypt est sa courte durée de vie, mais certbot garantit que ce ne sera pas un problème pour le webmaster avec son processus de renouvellement automatique.

Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...