Installation d’Odoo 14 sur Ubuntu 20.04

Publié par David le

Je décide finalement d’abandonner mon cher Odoo 8 pour enfin tester la version 14. J’espère découvrir une application à la hauteur de ce que fut Odoo 8 ! Après cinq ans d’utilisation, je peux dire que l’outil m’a grandement aidé dans la gestion de mes entreprises et de celles des collaborateurs. Cependant, il manque certaine fonctionnalité essentielle à mon sens comme une bonne gestion de la comptabilité française et la gestion des stocks qui est très … Lourde ! En parlant de lourdeur il s’avère que mon instance d’Odoo 8 commençait à très lente (avec 40.000 références et 5000 clients dans la base de données).

Mise à jour du système

sudo apt update &&
sudo apt dist-upgrade

Installation des autres paquets nécessaires

sudo apt install git python3-pip build-essential wget python3-dev python3-venv \
    python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \
    python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev \
    libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev \
    liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev

On vérifie la bonne installation de pip3

pip3 --version

La réponse doit être

pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

Création de l’utilisateur odoo14

sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14

Installation du serveur de base de donnée, Postgresql

sudo apt install postgresql -y

Nous allons maintenant créer un nouvel utilisateur (odoo14) pour notre base de données

sudo su - postgres -c "createuser -s odoo14" 2> /dev/null || true

Choisissez un mot de passe pour cet utilisateur, ce sera le mot de passe d’accès base de donnée d’Odoo.

Installation de WKHTMLTOPDF

Pour pouvoir exporter des PDF, il faut installer un logiciel spécifique : WKHTMLTOPDF

sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb &&
sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb -y

Création du répertoire des logs

On crée le dossier des logs

sudo mkdir /var/log/odoo14 && 
sudo chown odoo14:odoo14 /var/log/odoo14

Installation du serveur Odoo

On passe à l’utilisateur odoo14 pour les prochaines commandes

sudo su - odoo14
cd /opt/odoo14

On clone la branche d’Odoo 14 (on l’installe dans /opt/odoo14)

mkdir /opt/odoo14/odoo-server &&
cd /opt/odoo14/odoo-server &&
git clone https://www.github.com/odoo/odoo --depth 1 --branch master --single-branch .

On crée un nouvel environnement virtuel python pour odoo

cd /opt/odoo14 &&
python3 -m venv odoo14-venv

Et on l’active

source odoo14-venv/bin/activate

Puis on installe les librairies python

pip3 install wheel &&
pip3 install -r odoo-server/requirements.txt

Puis on désactive l’environnement

deactivate

Configuration d’Odoo

On copie le fichier de configuration par défaut dans la racine du répertoire

cp /opt/odoo14/odoo-server/debian/odoo.conf /opt/odoo14/odoo-server/odoo-server.conf &&
chown odoo14: /opt/odoo14/odoo-server/odoo-server.conf &&
chmod 640 /opt/odoo14/odoo-server/odoo-server.conf

Éditez le fichier de configuration et changer les lignes comme ci-dessous

nano /opt/odoo14/odoo-server/odoo-server.conf
[options]
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo14 
db_password = False
addons_path = /opt/odoo14/odoo-server/addons
logfile = /var/log/odoo14/odoo-server.log

admin_passwd est le mot de passe principal (admin) d’Odoo (Pour gérer les bases de donnée)

Installer le script de démarrage

On quitte l’utilisateur odoo14

exit

Puis on édite le fichier de configuration systemctl

sudo nano /etc/systemd/system/odoo14.service

Éditez le fichier de configuration et changer les lignes comme ci-dessous

[Unit]
Description=Odoo 14 startup script
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/home/odoo14/odoo14-venv/bin/python3 /opt/odoo14/odoo-server/odoo-bin -c /opt/odoo14/odoo-server/odoo-server.conf
ExecStop=/bin/kill $MAINPID
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Puis on démarre le service et on l’exécute au démarrage

sudo systemctl daemon-reload &&
sudo systemctl start odoo14.service &&
sudo systemctl enable odoo14

On vérifie l’état du système

sudo systemctl status odoo14

La sortie devrait ressembler à quelque chose comme ci-dessous, montrant que le service Odoo est actif et en cours d’exécution :

● odoo14.service - Odoo 14 startup script
     Loaded: loaded (/etc/systemd/system/odoo14.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-05-15 12:12:11 UTC; 1min 6s ago

Test du serveur Odoo

On regarde les logs

less /var/log/odoo14/odoo-server.log

Et si on ne constate pas d’erreurs alors on accède à l’interface par l’url http://IP_de_votre_serveur:8069

Configuration du serveur Apache2

On installe Apache2 :

sudo apt install apache2

Et on active les modules proxy et proxy_http :

sudo a2enmod proxy proxy_http

Puis on insère la configuration d’Apache :

sudo nano /etc/apache2/sites-available/example.com.conf
Et on ajoute la configuration d’Odoo :
<VirtualHost *:80>

    ServerName example.com.conf
    ServerAlias example.com.conf
    Redirect permanent / https://example.com

    LogLevel warn
    ErrorLog /var/log/apache2/example.com.error.log
    CustomLog /var/log/apache2/example.com.access.log combined

    ProxyPass / http://127.0.0.1:8069/
    ProxyPassReverse / http://127.0.0.1:8069/

</VirtualHost>

On active le nom de domaine

sudo a2ensite example.com

Et on redémarre Apache2

sudo systemctl reload apache2
Catégories : Odoo

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

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