Installation d’Odoo 14 sur Ubuntu 20.04
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
1 2 |
sudo apt update && sudo apt dist-upgrade |
Installation des autres paquets nécessaires
1 2 3 4 5 |
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
1 |
pip3 --version |
La réponse doit être
1 |
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8) |
Création de l’utilisateur odoo14
1 |
sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14 |
Installation du serveur de base de donnée, Postgresql
1 |
sudo apt install postgresql -y |
Nous allons maintenant créer un nouvel utilisateur (odoo14) pour notre base de données
1 |
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
1 2 |
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
1 2 |
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
1 2 |
sudo su - odoo14 cd /opt/odoo14 |
On clone la branche d’Odoo 14 (on l’installe dans /opt/odoo14)
1 2 3 |
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
1 2 |
cd /opt/odoo14 && python3 -m venv odoo14-venv |
Et on l’active
1 |
source odoo14-venv/bin/activate |
Puis on installe les librairies python
1 2 |
pip3 install wheel && pip3 install -r odoo-server/requirements.txt |
Puis on désactive l’environnement
1 |
deactivate |
Configuration d’Odoo
On copie le fichier de configuration par défaut dans la racine du répertoire
1 2 3 |
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
1 |
nano /opt/odoo14/odoo-server/odoo-server.conf |
1 2 3 4 5 6 7 8 |
[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
1 |
exit |
Puis on édite le fichier de configuration systemctl
1 |
sudo nano /etc/systemd/system/odoo14.service |
Éditez le fichier de configuration et changer les lignes comme ci-dessous
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[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
1 2 3 |
sudo systemctl daemon-reload && sudo systemctl start odoo14.service && sudo systemctl enable odoo14 |
On vérifie l’état du système
1 |
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 :
1 2 3 |
● 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
1 |
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 :
1 |
sudo apt install apache2 |
Et on active les modules proxy et proxy_http :
1 |
sudo a2enmod proxy proxy_http |
Puis on insère la configuration d’Apache :
1 |
sudo nano /etc/apache2/sites-available/<strong>example.com.conf</strong> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<VirtualHost *:80> ServerName <strong>example.com.conf</strong> ServerAlias <strong>example.com.conf</strong> Redirect permanent / https://<strong>example.com</strong> LogLevel warn ErrorLog /var/log/apache2/<strong>example.com.</strong>error.log CustomLog /var/log/apache2/<strong>example.com</strong>.access.log combined ProxyPass / http://127.0.0.1:8069/ ProxyPassReverse / http://127.0.0.1:8069/ </VirtualHost> |
On active le nom de domaine
1 |
sudo a2ensite <strong>example.com</strong> |
Et on redémarre Apache2
1 |
sudo systemctl reload apache2 |
0 commentaire