Odoo – Sécurisation SSL grâce au serveur Web Caddy et au certificat Let’s Encypt

Site SSL https odoo ERP

Pour déployer Odoo, des sites webs (ou applications Web) en SSL voici la marche à suivre la plus simple.
Caddy est un server Web intégrant directement les fameux certificats SSL gratuit de let’sencrypt.
Vous n’aurez donc même pas à activer votre certificat pour que cela fonctionne parfaitement.. (enfin cela se fera automatiquement)

Environnement de travail:

OS    Ubuntu 64 bits
Odoo version    V10 Community/enterprise

Instructions à suivre :

Téléchargez la dernière version de Caddy (0.9.5)  pour la plateforme Linux 64 bits  

Soyez sûr que: 

– le nom DNS de votre server correspond à la bonne adresse IP (www.monsite.fr) 

– Aucune application n’utilise actuellement votre port 80 et 443 !

Copiez caddy sur votre serveur grâce à une commande scp du type :

# scp user@serveradress:/path/to/your/local/caddy_linux_amd64_custom.tar    /some/remote/directory

Extraire le fichier téléchargé dans le dossier /usr/local/bin:

# tar -xvf caddy_linux_amd64_custom.tar -C /usr/local/bin

Créez un fichier de conf et personnaliser les valeurs en rouge:

# mkdir /etc/caddy
# vi /etc/caddy/Caddyfile

odoo-example.com { # your Web URL here
proxy / http://127.0.0.1:8069 { # the port your odoo server is listening on
header_upstream Host {host}
}
proxy /longpolling http://127.0.0.1:8072 { # in case you use it
header_upstream Host {host}
}
gzip
}

Cette configuration fera le travail suivant :

  • Ecoute sur les ports 80 and 443
  • Redirige les requêtes sur le port 80 vers 443
  • Utilise HTTP/2
  • Renouvelle le certificat si besoin
  • Agit comme un proxy pour  Odoo sur 127.0.0.1:8069

Créez un utilisateur “caddy”

# adduser –disabled-login caddy
# passwd caddy    (définition du password de l’utilisateur)

Donnez les droits suffisant à l’utilisateur caddy sur l’exécutable caddy.

# chown caddy:caddy /usr/local/bin/caddy

Sur Linux, vous pouvez donner la permission au logiciel caddy la permission de lier les ports 80 et 443 sans avoir besoin d’être root. La commande suivante permettra de rediriger le port 80 vers le 443 :

# setcap cap_net_bind_service=+ep /usr/local/bin/caddy

Faites les réglages suivants pour préparer votre première création de certificat:

# su caddy
$caddy: cd /home/caddy

Voici le requête qui générera votre certificat SSL:

$caddy: /usr/local/bin/caddy -agree -email YOUREMAIL -conf /etc/caddy/Caddyfile

Automatiser le service

Pour Exécuter automatiquement caddy au démarrage
Créer ce fichier de configuration pour que caddy devienne un service :

# vi /etc/systemd/system/caddy.service

[Unit]
Description=Caddy webserver
Documentation=https://caddyserver.com/
After=network.target

[Service]
User=caddy
Group=caddy
WorkingDirectory=/etc/caddy
LimitNOFILE=4096
ExecStart=/usr/local/bin/caddy -agree -email YOUREMAIL -conf /etc/caddy/Caddyfile
Restart=on-failure
StartLimitInterval=600

[Install]
WantedBy=multi-user.target

Une fois ce fichier crée, il faut l’activer : sudo systemctl enable caddy
Faites que systemd soit informé du changement : systemctl daemon-reload
Démarrez le service: systemctl start caddy.service
Vérifiez qu’il fonctionne correctement: systemctl status caddy.service -l

Avec cette configuration, l’accès à votre instance Odoo ne se fera que par un port HTTPS sécurisé. (le port 8069 ne répondra plus et le port 80 sera redirigé sur le 443).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *