| | | | | | |

Install Nginx Proxy Manager

Pour que Nginx Proxy Manager soit capable de recevoir les requêtes en provenance d’internet et de les rediriger vers notre réseau privé, c’est à dire à partir d’un domaine externe, comme par exemple test.md.lu , il faut ajouter une déviation dans l’éditeur DNS des nom de domaine de notre gestionnaire de nom de domaine. Ceci peut-être ovh.com ou dns.lu …

Si la déviation est faite sur le gestionnaire de nom de domaine, il faut aussi faire la redirection de ports dans le modem/routeur qui nous permet d’avoir internet dans notre réseau privé. Dans notre cas , cette configuration se fait dans une Fritz!Box.

Le plus simple et ce qui consomme le moins de ressources, c’est de faire l’installation de Nginx Proxy Manager dans un conteneur et de le faire tourner dans docker.
Voici un article dans le quel on explique comment faire l’installation de docker https://md.lu/2021/10/10/docker-install-more/


Pourque les commande ci-dessous passe sans problèmes, certaine application doivent être installer. Voici la commandes qui va installer les applications nécessaire si elle ne le sont pas encore:

sudo apt update; sudo apt install nano docker docker-compose -y

Dans le terminal, on va créer un dossier nommer npm avec la commande suivante:

sudo mkdir npm

On entre dans le dossier avec la commande:

cd npm

On va créer un fichier nommer “docker-compose.yml” avec la commande:

sudo nano docker-compose.yml

Dans ce fichier on va coller ce qui suit:

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

On lance le docker qu’on viens de composer avec la commande suivante:

docker-compose up -d

Quelque chose de similaire devrai s’afficher:

root@NginxProxyManager:~/npm# docker-compose up -d
Creating network "npm_default" with the default driver
Pulling app (jc21/nginx-proxy-manager:latest)…
latest: Pulling from jc21/nginx-proxy-manager
3689b8de819b: Pull complete
ac992dd4ece3: Pull complete
d6acdc20cb1e: Pull complete
d43e07f5a58e: Pull complete
55da15d61491: Pull complete
034e796b1498: Pull complete
6d77f5bf20f2: Pull complete
b49f074777f6: Pull complete
825a1f7d68cf: Pull complete
6be11ec3209e: Pull complete
f13abca22944: Pull complete
a4cdff6477cd: Pull complete
57efa35860f5: Pull complete
a089f179c3a4: Pull complete
5187f70b0a00: Pull complete
79daeeaf7dd2: Pull complete
ca259377e240: Pull complete
62487a541565: Pull complete
a4e66528d25e: Pull complete
247f79434616: Pull complete
ea855009b8aa: Pull complete
f49cd6c19e33: Pull complete
2c291f12d219: Pull complete
e89fff2dfa1c: Pull complete
42f4c275ca18: Pull complete
f94059f8249a: Pull complete
8a5e64048b95: Pull complete
84eab550b949: Pull complete
68f1789d0bb0: Pull complete
4f4fb700ef54: Pull complete
b44d7cedcdb2: Pull complete
006edeee0be7: Pull complete
da739a256d1d: Pull complete
Digest: sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Status: Downloaded newer image for jc21/nginx-proxy-manager:latest
Creating npm_app_1 … done

N’ayant pas trouver les fichiers nécessaire, Docker a télécharger tout ce qu’il avait besoin pour pouvoir démarrer le logiciel.

On peut voir que le docker est en cours d’exécution avec la commande:

docker ps

Pour confirmer que Nginx Proxy Manager est fonctionnelle, on peut se connecter avec un explorateur internet tel que Google Chrome ou Firefox à l’adresse IP du serveur. La page suivante devrais s’afficher:

Si on connais plus l’adresse du serveur, on peut écrire la commande suivante dans le terminal pour avoir l’adresse IP:

ip a

Pour accéder à la page d’administration, il faut inscrire l’adresse IP du serveur Nginx Proxy Manager et ajouter le port 81 à la fin.

Sur la page de login, il faut pour la première connexion indiquer l’adresse email
admin@example.com
et le mot de passe
changeme

Après on est rediriger vers une page sur la quel on doit entrée nos nouveau identifiants.

Après avoir entrée les informations demandé, la page suivante devrais s’afficher:

On appui sur le bonhomme en haut à droite, puis sur “Sign out“. La page de connexion devrait s’afficher. On se connecte avec la nouvelle adresse email entrée précédemment et le nouveau mot de passe.


Ajout d’un haut à Nginx Proxy Manager

Sur la page principale on clique sur “Proxy Hosts

En haut à droite on clique sur “Add Proxy Host

Dans la fenêtre suivante, on inscrit le nom de domaine dans la case “Domaine Names*” , dans notre cas test.md.lu

on inscrit dans “Forward Hostname / IP*” , on met l’adresse IP de serveur qu’on veut atteindre avec la page test.md.lu

on met le port sur le quel on faire la déviation, dans notre exemple, la page de configuration de Nginx Proxy Manager est sur le port “81”.

on active le bouton “Block Common Exploits

et on appuis sur “Save“.

Pour rendre le tout plus intéressant et sécuriser, on clique sur le “3 petits points” à droite, puis sur “Edit“,

Puis sur “SSL“,
sur “None“,
sur “Request a new SSL Certificate“,
sur “Force SSL“,
sur “I Afree to the …“,
et puis sur “Save“.

Si tout s’est biens passé et que tout est correctement configurer, on aura pas d’erreur et notre certificat SSL aura été délivrer correctement.

mes sources: https://nginxproxymanager.com/guide/#quick-setup
https://nginxproxymanager.com/setup/#running-the-app
https://www.youtube.com/watch?v=cjJVmAI1Do4&t=1712s

Laisser un commentaire