Nginx est un serveur Web gratuit et open source, il peut également être utilisé comme reverse proxy , équilibreur de charge HTTP , Cache HTTP et proxy de messagerie . Nginx est disponible pour tous les systèmes d'exploitation de type Unix et publié sous une licence de type BSD.
Dans le didacticiel, nous apprendrons comment installer la dernière version de Ngnix sur Ubuntu 18.04 LTS et Debian 9 Server,
Installation de Nginx sur Ubuntu 18.04 LTS / Debian 9
Les étapes d'installation de Nginx sur les OS Ubuntu 18.04 et Debian 9 sont identiques, exécutez les commandes ci-dessous l'une après l'autre depuis le terminal,
[email protected]:~$ sudo apt update [email protected]:~$ sudo apt install nginx -y
Démarrer et activer le service Nginx
Exécutez les commandes ci-dessous pour démarrer et activer le service nginx,
[email protected]:~$ sudo systemctl start nginx [email protected]:~$ sudo systemctl enable nginx Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable nginx [email protected]:~$
Utilisez les commandes ci-dessous pour vérifier l'état du service ngnix,
[email protected]:~$ sudo systemctl status nginx [email protected]:~$ sudo systemctl is-active nginx
La sortie des commandes ci-dessus serait quelque chose comme ci-dessous,
Autoriser les ports Nginx (80 et 443) dans le pare-feu du système d'exploitation
Si le pare-feu du système d'exploitation est activé et configuré sur votre serveur Ubuntu 18.04 et Debian 9, exécutez les commandes ufw ci-dessous pour autoriser les ports 80 et 443,
[email protected]:~$ sudo ufw allow 80/tcp Rules updated Rules updated (v6) [email protected]:~$ sudo ufw allow 443/tcp Rules updated Rules updated (v6) [email protected]:~$
Maintenant, vérifiez les règles à l'aide de la commande ci-dessous,
[email protected]:~$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 80/tcp ALLOW IN Anywhere [ 2] 443/tcp ALLOW IN Anywhere [ 3] 22/tcp ALLOW IN Anywhere [ 4] 80/tcp (v6) ALLOW IN Anywhere (v6) [ 5] 443/tcp (v6) ALLOW IN Anywhere (v6) [ 6] 22/tcp (v6) ALLOW IN Anywhere (v6) [email protected]:~$
Une fois que vous avez terminé avec les modifications ci-dessus, vérifions la page d'accueil de Nginx !!!
Ouvrez votre navigateur Web, tapez :http://{Your-Server-IP-Address}
Bloquer le serveur/Hôte virtuel dans Nginx
Dans Apache Web Server, nous avons un concept d'hôtes virtuels où nous pouvons définir les détails de plusieurs sites Web, de même dans Nginx, nous avons des blocs de serveur signifie bloc pour chaque site Web, examinons le bloc de serveur par défaut (/etc/nginx/sites -disponible/par défaut ) puis nous créerons le bloc serveur de notre propre site,
[email protected]:~$ sudo vi /etc/nginx/sites-available/default
Définissez votre bloc de serveur personnalisé
Supposons que je veuille créer un bloc de serveur personnalisé pour le serveur Web www.linuxtechi.lan,
Créez une racine de document en utilisant la commande ci-dessous,
[email protected]:~$ sudo mkdir /var/www/linuxtechi
Créez un index.html sous la racine du document du serveur Web,
[email protected]:~$ sudo vi /var/www/linuxtechi/index.html <!DOCTYPE html> <html> <head> <title>Welcome to LinuxTechi</title> </head> <body> <h1>Welcome to LinuxTechi</h1> <p>LinuxTechi Test Page running on NGINX Web Server - Ubuntu 18.04</p> </body> </html>
Créez maintenant votre bloc serveur en créant un fichier « linuxtechi.lan ” avec le contenu suivant sous le dossier /etc/nginx/sites-available
[email protected]:~$ sudo vi /etc/nginx/sites-available/linuxtechi.lan server { listen 80; root /var/www/linuxtechi; index index.html; server_name www.linuxtechi.lan; }
Pour activer le bloc de serveur créé ci-dessus, créez un lien symbolique à partir de "/etc/nginx/sites-available/linuxtechi.lan " à " /etc/nginx/sites-enabled ”
[email protected]:~$ sudo ln -s /etc/nginx/sites-available/linuxtechi.lan /etc/nginx/sites-enabled
Maintenant, redémarrez votre service nginx en utilisant la commande ci-dessous,
[email protected]:~$ sudo systemctl restart nginx
Remarque : Si vous n'avez pas de serveur DNS, vous devez ajouter ci-dessous les entrées dans le fichier hosts de votre ordinateur client,
192.168.0.107 www.linuxtechi.lan
Accédez maintenant à votre serveur web via l'url :http://{Web-Server-Name}
Dans mon cas, l'url est http://www.linuxtechi.lan
Activer les certificats SSL pour votre serveur NGINX
À partir de maintenant, notre serveur Web nginx fonctionne sur le port 80 non sécurisé. Pour sécuriser le serveur Web, nous devons installer des certificats SSL. Vous pouvez obtenir les certificats SSL à partir de sources fiables ou vous pouvez également utiliser des certificats auto-signés générés via la commande openssl.
Dans ce tutoriel, je génère les certificats pour mon serveur Web à l'aide de la commande openssl,
[email protected]:~$ sudo openssl req -x509 -days 703 -sha256 -newkey rsa:2048 -nodes -keyout /etc/ssl/private/linuxtechi.key -out /etc/ssl/certs/linuxtechi-cert.pem [sudo] password for pkumar: Generating a 2048 bit RSA private key ........................................................................ writing new private key to '/etc/ssl/private/linuxtechi.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:IN State or Province Name (full name) [Some-State]:Delhi Locality Name (eg, city) []:Delhi Organization Name (eg, company) [Internet Widgits Pty Ltd]:LinuxTechi Organizational Unit Name (eg, section) []:IT Common Name (e.g. server FQDN or YOUR name) []:www.linuxtechi.lan Email Address []:[email protected] [email protected]:~$
La commande ci-dessus a généré la clé privée avec "linuxtechi.key " et les certificats avec le nom "linuxtechi-cert.pem ", ces certificats seront applicables pour les deux prochaines années.
Maintenant, mettez à jour votre bloc de serveur, ajoutez la clé et l'emplacement du certificat et changez le port du serveur Web de 80 à 443,
[email protected]:~$ sudo vi /etc/nginx/sites-available/linuxtechi.lan server { listen 443 ssl; root /var/www/linuxtechi; index index.html; server_name www.linuxtechi.lan; ssl_certificate /etc/ssl/certs/linuxtechi-cert.pem; ssl_certificate_key /etc/ssl/private/linuxtechi.key; }
Redémarrez le service nginx en utilisant la commande suivante,
[email protected]:~$ sudo systemctl restart nginx [email protected]:~$
Accédez à votre serveur Web sur le protocole https comme,
https://www.linuxtechi.lan
Remarque : Comme nous avons installé nos certificats auto-signés, nous devons d'abord vérifier/cliquer sur "Ajouter une exception", puis sur "Confirmer l'exception de sécurité" lors de l'accès au serveur Web sur https.
Cela confirme que nous avons activé avec succès les certificats auto-signés sur notre serveur Web Nginx et conclut l'article, si vous aimez l'article, veuillez partager vos commentaires et commentaires dans la section des commentaires ci-dessous.