Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Wireguard VPN » : différence entre les versions

De EC_Wiki
Page créée avec « # 🧱 WireGuard : fichier wg0.conf déplacé **Contexte :** backend Python plante sur `/wireguard/` **Cause :** fichier `wg0.conf` placé dans `/etc/wireguard/peers/` **Solution :** créer un symlink ```bash sudo ln -s /etc/wireguard/peers/wg0.conf /etc/wireguard/wg0.conf »
 
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
==== Guide complet clé-en-main pour avoir WireTunnel fonctionnel sur Debian/Ubuntu avec venv Python propre, Gunicorn et Nginx, sans conflitsni erreurs. ====
=== 1️⃣ Arrêter et nettoyer l’ancien service ===
sudo systemctl stop wiretunnel
sudo systemctl disable wiretunnel
sudo killall gunicorn
Supprime ou renomme l’ancien venv :
cd /var/www/wiretunnel
mv venv venv_old
=== 2️⃣ Créer un venv Python propre ===
python3.11 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel
=== 3️⃣ Installer les dépendances Python nécessaires ===
Si tu as un requirements.txt fiable :
pip install -r requirements.txt
Sinon, installe directement les paquets essentiels :
pip install flask gunicorn python-dotenv qrcode pillow requests
=== 4️⃣ Vérifier que ton app.py est correct ===
Assure-toi que l’ordre des blueprints et routes est comme ceci :
from flask import Flask, Blueprint, render_template, request, redirect, url_for, session
# Création du blueprint
wireguard_bp = Blueprint("wiretunnel", __name__,
                          template_folder="templates",
                          static_folder="static",
                          static_url_path="/static")
# Toutes les routes ici
@wireguard_bp.route("/")
def index():
    return redirect(url_for("wiretunnel.login"))
@wireguard_bp.route("/login", methods=["GET", "POST"])
def login():
    return "Page login"
# Enregistrer le blueprint seulement à la fin
  app = Flask(__name__,
            template_folder="templates",
            static_folder="static")
  app.secret_key = "change_this_secret"
  app.register_blueprint(wireguard_bp)
  if __name__ == "__main__":
    app.run(host="127.0.0.1", port=5051)
Tout @wiretunnel_bp.route doit être défini avant app.register_blueprint.
=== 5️⃣ Tester Gunicorn manuellement ===
cd /var/www/wiretunnel
source venv/bin/activate
gunicorn app:app --bind 127.0.0.1:5051
Vérifie avec :
curl http://127.0.0.1:5051/wiretunnel/
Tu devrais voir soit la redirection vers /login, soit la page “Interface WireTunnel OK”.
=== 6️⃣ Créer un service systemd propre ===
Crée ou modifie /etc/systemd/system/wiretunnel.service :
sudo nano /etc/systemd/system/wiretunnel.service
[Unit]
Description=WireTunnel Web Interface
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/wiretunnel
Environment="PATH=/var/www/wiretunnel/venv/bin"
ExecStart=/var/www/wiretunnel/venv/bin/gunicorn app:app --bind 127.0.0.1:5051 --workers 3 --timeout 120
Restart=on-failure
[Install]
WantedBy=multi-user.target
=== 7️⃣ Activer et démarrer le service ===
sudo systemctl daemon-reload
sudo systemctl enable wiretunnel
sudo systemctl start wiretunnel
sudo systemctl status wiretunnel --no-pager -l
=== 8️⃣ Configurer Nginx pour le reverse proxy ===
Dans /etc/nginx/sites-available/wiretunnel.conf :
server {
    listen 443 ssl;
    server_name 192.168.30.11;
    ssl_certificate /etc/ssl/certs/euro-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/euro-selfsigned.key;
    location /wiretunnel/ {
        proxy_pass http://127.0.0.1:5051/wiretunnel/;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
        proxy_cookie_path / "/wiretunnel/";
        proxy_read_timeout 900s;
        proxy_send_timeout 900s;
    }
}
Test et recharge Nginx :
sudo nginx -t
sudo systemctl reload nginx
=== 9️⃣ Vérification finale ===
Test Gunicorn :
curl http://127.0.0.1:5051/wiretunnel/
Test Nginx :
https://192.168.30.11/wiretunnel/
On devrait voir la redirection vers /login ou la page WireTunnel.
# 🧱 WireGuard : fichier wg0.conf déplacé
# 🧱 WireGuard : fichier wg0.conf déplacé



Dernière version du 29 octobre 2025 à 18:48

Guide complet clé-en-main pour avoir WireTunnel fonctionnel sur Debian/Ubuntu avec venv Python propre, Gunicorn et Nginx, sans conflitsni erreurs. modifier le wikicode

1️⃣ Arrêter et nettoyer l’ancien service modifier le wikicode

sudo systemctl stop wiretunnel
sudo systemctl disable wiretunnel
sudo killall gunicorn

Supprime ou renomme l’ancien venv :

cd /var/www/wiretunnel
mv venv venv_old

2️⃣ Créer un venv Python propre modifier le wikicode

python3.11 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel

3️⃣ Installer les dépendances Python nécessaires modifier le wikicode

Si tu as un requirements.txt fiable :

pip install -r requirements.txt

Sinon, installe directement les paquets essentiels :

pip install flask gunicorn python-dotenv qrcode pillow requests

4️⃣ Vérifier que ton app.py est correct modifier le wikicode

Assure-toi que l’ordre des blueprints et routes est comme ceci :

from flask import Flask, Blueprint, render_template, request, redirect, url_for, session

# Création du blueprint
wireguard_bp = Blueprint("wiretunnel", __name__,
                         template_folder="templates",
                         static_folder="static",
                         static_url_path="/static")

# Toutes les routes ici
@wireguard_bp.route("/")
def index():
    return redirect(url_for("wiretunnel.login"))

@wireguard_bp.route("/login", methods=["GET", "POST"])
def login():
   return "Page login"

# Enregistrer le blueprint seulement à la fin
 app = Flask(__name__,
           template_folder="templates",
           static_folder="static")
 app.secret_key = "change_this_secret"
 app.register_blueprint(wireguard_bp)

 if __name__ == "__main__":
   app.run(host="127.0.0.1", port=5051)

Tout @wiretunnel_bp.route doit être défini avant app.register_blueprint.

5️⃣ Tester Gunicorn manuellement modifier le wikicode

cd /var/www/wiretunnel
source venv/bin/activate
gunicorn app:app --bind 127.0.0.1:5051

Vérifie avec :

curl http://127.0.0.1:5051/wiretunnel/

Tu devrais voir soit la redirection vers /login, soit la page “Interface WireTunnel OK”.

6️⃣ Créer un service systemd propre modifier le wikicode

Crée ou modifie /etc/systemd/system/wiretunnel.service :

sudo nano /etc/systemd/system/wiretunnel.service
[Unit]
Description=WireTunnel Web Interface
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/wiretunnel
Environment="PATH=/var/www/wiretunnel/venv/bin"
ExecStart=/var/www/wiretunnel/venv/bin/gunicorn app:app --bind 127.0.0.1:5051 --workers 3 --timeout 120
Restart=on-failure

[Install]
WantedBy=multi-user.target

7️⃣ Activer et démarrer le service modifier le wikicode

sudo systemctl daemon-reload
sudo systemctl enable wiretunnel
sudo systemctl start wiretunnel
sudo systemctl status wiretunnel --no-pager -l

8️⃣ Configurer Nginx pour le reverse proxy modifier le wikicode

Dans /etc/nginx/sites-available/wiretunnel.conf :

server {
   listen 443 ssl;
   server_name 192.168.30.11;

   ssl_certificate /etc/ssl/certs/euro-selfsigned.crt;
   ssl_certificate_key /etc/ssl/private/euro-selfsigned.key;

   location /wiretunnel/ {
       proxy_pass http://127.0.0.1:5051/wiretunnel/;
       proxy_http_version 1.1;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       proxy_redirect off;
       proxy_cookie_path / "/wiretunnel/";
       proxy_read_timeout 900s;
       proxy_send_timeout 900s;
   }
}

Test et recharge Nginx :

sudo nginx -t
sudo systemctl reload nginx

9️⃣ Vérification finale modifier le wikicode

Test Gunicorn :

curl http://127.0.0.1:5051/wiretunnel/

Test Nginx :

https://192.168.30.11/wiretunnel/

On devrait voir la redirection vers /login ou la page WireTunnel.


  1. 🧱 WireGuard : fichier wg0.conf déplacé
    • Contexte :** backend Python plante sur `/wireguard/`
    • Cause :** fichier `wg0.conf` placé dans `/etc/wireguard/peers/`
    • Solution :** créer un symlink

```bash sudo ln -s /etc/wireguard/peers/wg0.conf /etc/wireguard/wg0.conf