Comment installer Odoo 13 sur Ubuntu 18.04 avec Nginx

Partagez sur:

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

 


Partagez sur: