Aujourd'hui, nous allons voir comment installer Nginx Proxy Manager sur un Raspberry Pi !
Si vous exposez des services sur votre réseau, l'utilisation d'un proxy inverse est un excellent moyen d'augmenter la sécurité et les performances. Un proxy inverse est un serveur qui se trouve devant vos serveurs Web et transmet les demandes des clients aux serveurs Web. En termes simples, vous n'avez qu'à exposer un serveur (en utilisant les ports 80/443) et vous pourrez exposer autant de services Web que vous le souhaitez.
Voici un exemple de flux réseau d'un reverse proxy (simplifié) :
Ce didacticiel utilisera un Raspberry Pi, ce qui est idéal pour un usage domestique, mais si vous hébergez quelque chose avec beaucoup de trafic, vous feriez probablement mieux d'utiliser un serveur plus performant. Nous vérifierons l'état de l'application une fois l'installation terminée à l'aide de Portainer, mais ce n'est pas obligatoire.
Instructions – Gestionnaire de proxy Nginx Raspberry Pi
Assurez-vous que Docker est installé. S'il n'est pas installé, vous pouvez apprendre à l'installer ici.
1. Nous devons utiliser docker compose pour créer le conteneur Nginx Proxy Manager. Cela nous oblige à installer quelques dépendances - exécutez les commandes d'installation ci-dessous dans l'ordre.
sudo apt-get install -y libffi-dev libssl-dev sudo apt-get install -y python3 python3-pip sudo pip3 -v install docker-compose
2. Une fois l'installation des commandes terminée, nous devons créer un dossier dans lequel nos fichiers de configuration et docker-compose existeront. Nous allons ensuite accéder à ce dossier et créer un fichier nommé config.json.
mkdir nginx cd nginx nano config.json
3. Collez ce contenu dans le fichier de configuration.
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}
4. Enregistrez le fichier et quittez-le. Créez un nouveau fichier nommé docker-compose.yml
nano docker-compose.yml
5. Collez le contenu ci-dessous dans le fichier docker-compose.
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'yobasystems/alpine-mariadb:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
Si vous recevez une erreur et que le conteneur ne démarre pas et s'exécute comme "malsain", veuillez suivre les instructions ci-dessous :
Un merci spécial à Plan945 pour ses commentaires sur la solution.
Remplacez ceci dans le docker-compose.yml :
image: 'yobasystems/alpine-mariadb:latest'
Avec ceci :
image: 'yobasystems/alpine-mariadb:10.4.17-arm32v7'
6. Enregistrez le fichier et quittez. Vous devriez avoir deux fichiers qui existent dans le dossier nginx. Exécutez la commande ci-dessous pour démarrer le conteneur docker.
sudo docker-compose up -d
7. Le conteneur téléchargera et installera tous les fichiers nécessaires.
8. Nous allons maintenant ajuster les deux conteneurs que Nginx Proxy Manager utilise pour démarrer automatiquement lorsque votre Raspberry Pi est redémarré.
sudo docker update --restart always nginx_app_1 sudo docker update --restart always nginx_db_1
9. Redémarrez votre Raspberry Pi - très important !
sudo reboot now
10. Une fois le redémarrage terminé, l'installation complète du conteneur prendra quelques minutes. Vous pouvez exécuter la commande ci-dessous pour vérifier l'état du conteneur. Lorsqu'il signale "sain", vous pourrez accéder au site Web Nginx Proxy Manager. Alternativement, si vous configurez Portainer, vous pouvez ouvrir Portainer et vérifier l'état du conteneur.
sudo docker ps
11. Attendez que l'état passe à sain .
12. Accédez à l'adresse IP de votre Raspberry Pi et au port 81.
http://[RASPBERRY_PI_IP]:81
13. L'adresse e-mail par défaut est [email protected] et le mot de passe est changeme. Lors de votre connexion, il vous sera demandé de modifier ces informations.
14. À ce stade, Nginx Proxy Manager est entièrement installé. Vous devrez ouvrir les ports 80/443 sur votre routeur pour pointer vers votre Raspberry Pi. À partir de là, vous devrez configurer Nginx Proxy Manager. La majorité des gens utiliseront Nginx Proxy Manager comme rien de plus qu'un gestionnaire de proxy. Je ne vais pas passer par le processus de configuration d'un service car cela sera différent pour tout le monde, mais regardez la vidéo si vous souhaitez voir comment il peut être utilisé car j'ai vu un exemple là-bas !
Conclusion
Si vous exposez des services sur votre réseau, l'utilisation d'un proxy inverse est une excellente idée. Beaucoup de gens n'ont pas besoin d'un serveur complet exécutant Nginx Proxy Manager, donc un Raspberry Pi est une excellente option dans ce cas. Il fonctionne bien et est assez simple à configurer.
Merci d'avoir lu le tutoriel. Si vous avez des questions, laissez-les dans les commentaires !