Dans ce tutoriel, vous allez apprendre comment installer Odoo 13 avec le serveur proxy inverse Nginx et le connecter avec PostgreSQL
Étape 1: configuration du serveur
Une fois que votre serveur Ubuntu est mis à jour et mis à niveau vers les derniers packages, vous pouvez commencer à installer Odoo.
Étape 2: Installez Wkhtmltopdf
Wkhtmltopdf est un package utilisé pour rendre du HTML au format PDF et dans d’autres formats d’image. Si vous utilisez Odoo pour imprimer des rapports PDF, vous devez installer l’outil wkhtmltopdf.
La version recommandée pour Odoo est la 0.12.5. Cela n’est pas inclus dans le référentiel Ubuntu 18.04 par défaut.
Nous allons donc télécharger le package et l’installer.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
Étape 3: Installez Odoo 13
Vous pouvez maintenant installer Odoo 13 en ajoutant le référentiel à votre serveur Ubuntu.
wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add - echo "deb http://nightly.odoo.com/13.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list
Mettez à jour le cache apt et procédez à l’installation d’Odoo13.
sudo apt update sudo apt install odoo
Une fois l’installation terminée, Odoo démarre automatiquement en tant que service.
Pour vous assurer qu’Odoo est en cours d’exécution, vous pouvez vérifier l’état à l’aide de la commande suivante.
sudo service odoo status
Output ● odoo.service - Odoo Open Source ERP and CRM Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-10-23 10:29:38 UTC; 10min ago Main PID: 8387 (odoo) Tasks: 6 (limit: 4395) CGroup: /system.slice/odoo.service └─8387 /usr/bin/python3 /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log Oct 23 10:29:38 odoo systemd[1]: Started Odoo Open Source ERP and CRM.
Cela indique qu’Odoo est démarré et fonctionne avec succès.
Vous pouvez maintenant activer le service Odoo pour démarrer au démarrage du système.
sudo systemctl enable --now odoo
Étape 4: Configurer PostgreSQL
Tapez la commande qui suit
sudo nano /etc/odoo/odoo.conf
Remplacez les valeurs en surbrillance par les votres.
[options] ; This is the password that allows database operations: ; admin_passwd = admin db_host = CloudSQL_Public_IP db_port = False db_user = CloudSQL_user db_password = CloudSQL_user_password ;addons_path = /usr/lib/python3/dist-packages/odoo/addons
Redémarrez Odoo.
sudo service odoo restart
Étape 5: Installez Nginx
Installez Nginx à l’aide de la commande suivante.
sudo apt install nginx
Supprimez les configurations Nginx par défaut.
sudo rm /etc/nginx/sites-enabled/default sudo rm /etc/nginx/sites-available/default
Étape 6: Configurer le proxy inverse Nginx pour Odoo 13
Créez une nouvelle configuration Nginx pour Odoo dans le répertoire disponible sur les sites.
sudo nano /etc/nginx/sites-available/odoo.conf
Copiez et collez la configuration suivante, assurez-vous de modifier le nom du serveur pour qu’il corresponde à votre nom de domaine.
upstream odooserver { server 127.0.0.1:8069; } server { listen 80; server_name domainname.com; access_log /var/log/nginx/odoo_access.log; error_log /var/log/nginx/odoo_error.log; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; location / { proxy_redirect off; proxy_pass http://odooserver; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odooserver; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Appuyez sur Ctrl + X suivi de Y et Entrée pour enregistrer le fichier et quitter.
Pour activer la configuration du site nouvellement créée, créez un lien symbolique avec le fichier que vous venez de créer dans le répertoire activé pour les sites.
sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/odoo.conf
Vérifiez votre configuration et redémarrez Nginx pour que les modifications prennent effet.
sudo nginx -t sudo service nginx restart
Étape 7: Installez et configurez SSL pour Odoo 13
HTTPS est un protocole de communication sécurisée entre un serveur (instance) et un client (navigateur Web). En raison de l’introduction de Let’s Encrypt, qui fournit des certificats SSL gratuits, HTTPS est adopté par tout le monde et offre également la confiance à votre public.
sudo apt install python3-certbot-nginx -y
Maintenant que nous avons installé Certbot de Let’s Encrypt pour Ubuntu 18.04, exécutez cette commande pour recevoir vos certificats.
sudo certbot --nginx certonly
Entrez votre email et acceptez les termes et conditions, puis vous recevrez la liste des domaines dont vous avez besoin pour générer un certificat SSL.
Pour sélectionner tous les domaines, appuyez simplement sur Entrée
Le client Certbot générera automatiquement le nouveau certificat pour votre domaine.
Nous devons maintenant mettre à jour la configuration Nginx.
Rediriger le trafic HTTP vers HTTPS
Ouvrez le fichier de configuration Nginx de votre site et remplacez tout par ce qui suit. Remplacement du chemin du fichier par celui que vous avez reçu lors de l’obtention du certificat SSL.
La directive ssl_certificate doit pointer vers votre fichier fullchain.pem et la directive ssl_certificate_key doit pointer vers votre fichier privkey.pem.
upstream odooserver { server 127.0.0.1:8069; } server { listen [::]:80; listen 80; server_name domainname.com www.domainname.com; return 301 https://domainname.com$request_uri; } server { listen [::]:443 ssl; listen 443 ssl; server_name www.domainname.com; ssl_certificate /etc/letsencrypt/live/domainname.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domainname.com/privkey.pem; return 301 https://domainname.com$request_uri; } server { listen [::]:443 ssl http2; listen 443 ssl http2; server_name domainname.com; ssl_certificate /etc/letsencrypt/live/domainname.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domainname.com/privkey.pem; access_log /var/log/nginx/odoo_access.log; error_log /var/log/nginx/odoo_error.log; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; location / { proxy_redirect off; proxy_pass http://odooserver; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odooserver; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Appuyez sur CTRL + X suivi de Y pour enregistrer les modifications.
Vérifiez votre configuration et redémarrez Nginx pour que les modifications prennent effet.
sudo nginx -t sudo service nginx restart
Renouveler le certificat SSL
Les certificats fournis par Let’s Encrypt ne sont valables que pendant 90 jours. Vous devez donc les renouveler régulièrement. Maintenant, vous configurez un cronjob pour vérifier le certificat qui doit expirer dans les 30 prochains jours et le renouveler automatiquement.
sudo crontab -e
Ajoutez cette ligne à la fin du fichier
0 0,12 * * * certbot renew >/dev/null 2>&1
Appuyez sur CTRL + X suivi de Y pour enregistrer les modifications.
Ce cronjob tentera de vérifier le renouvellement du certificat deux fois par jour.
Étape 8: Configurer Odoo 13
Vous pouvez maintenant regarder votre nom de domaine sur votre navigateur Web.
Vous verrez une page similaire à celle ci-dessous. Ici, vous pouvez créer la base de données et l’utilisateur administrateur de votre Odoo.
Remplissez toutes les valeurs appropriées et cliquez sur créer une base de données. Désormais, Odoo sera prêt à être utilisé.
3 Comments