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).