[Update 2023] Installation d’Odoo 8 sur Ubuntu 20.04 ou Debian 11 avec et sans myVesta
Mise à jour du système
1 2 |
sudo apt update && sudo apt dist-upgrade |
Création de l’utilisateur odoo8
1 |
sudo useradd -m -d /opt/odoo8 -U -r -s /bin/bash odoo8 |
Installation du serveur de base de donnée, Postgresql
Installer Postgresql avec myVesta
Suivre le tutoriel : https://bobcares.com/blog/setup-postgresql-on-linux-in-vesta/
Installer Postgresql sans myVesta
1 |
sudo apt install postgresql -y |
Nous allons maintenant créer un nouvel utilisateur (odoo8) pour notre base de données
1 |
sudo su - postgres -c "createuser -s odoo8" 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 3 4 5 |
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz sudo cp ./wkhtmltox/bin/wkhtmltoimage /usr/bin/ sudo cp ./wkhtmltox/bin/wkhtmltopdf /usr/bin/ sudo sudo /opt/bitnami/ctlscript.sh restart |
Vous pouvez avoir un problème lors de la génération des devis, des factures ou des bons de livraison. En effet, il peut manquer le logo ou le footer. Pour régler ce problème, dans Odoo 8 :
- Settings > Technical > Parameters > System Parameters
- web.base.url > Votre URL
- report.url > http://127.0.0.1:8069 (ou votre port)
Installation de Python 2.7 et de pip2 sous Ubuntu 20.04 ou Debian 11
Seulement pour Ubuntu 20.04 :
1 |
sudo add-apt-repository universe |
On installe les paquets de ce bon vieux Python 2
1 2 |
sudo apt update && sudo apt install python2 -y |
Puis, on utilise curl pour télécharger le script get-pip.py et l’on installe pip2 pour récupérer les librairies nécessaires pour Odoo.
1 2 |
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py && sudo python2 get-pip.py |
On vérifie la bonne installation de pip2
1 |
pip2 --version |
La réponse doit être
1 |
pip 20.3.4 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7) |
Source :
https://linuxize.com/post/how-to-install-pip-on-ubuntu-20.04/
Installation du serveur Odoo
On crée le dossier des logs
1 2 |
sudo mkdir /var/log/odoo8/ && sudo chown odoo8: -R /var/log/odoo8/ |
Puis on installe Git
1 |
sudo apt install git -y |
On change l’utilisateur bash par odoo8
1 |
sudo su - odoo8 |
On installe les librairies Python nécessaire grâce au requirements.txt
1 |
pip2 install -r https://raw.githubusercontent.com/odoo/odoo/8.0/requirements.txt |
Si vous rencontrez des problèmes essayer d’installer la liste des librairies nécessaire manuellement (une à une)
1 2 3 4 5 6 7 8 |
pip2 install cups dateutils decorator feedparser gdata jinja2 \ mako mock passlib gevent pydot pyparsing reportlab requests \ simplejson unicodecsv unittest2 vatnumber vobject werkzeug xlwt babel \ decorator netplan image unittest2 reportlab mako Python-Chart pytz \ lxml psycopg2-binary pyyaml unittest2 python-chart psutil \ requests simplejson docutils python-openid pyPdf psycogreen html2text && pip2 install passlib==1.6.5 && pip2 install werkzeug==0.9.6 |
Source : https://github.com/odoo/odoo/issues/63802
On clone la branche d’Odoo 8 (on l’installe dans /opt/odoo8)
1 2 3 |
mkdir /opt/odoo8/odoo-server && cd /opt/odoo8/odoo-server && git clone https://www.github.com/odoo/odoo --depth 1 --branch 8.0 --single-branch . |
Configuration d’Odoo
On copie le fichier de configuration par défaut dans la racine du répertoire
1 2 3 |
cp debian/openerp-server.conf odoo-server.conf && chown odoo8: odoo-server.conf && chmod 640 odoo-server.conf |
Éditez le fichier de configuration et changer les lignes comme ci-dessous
1 |
nano odoo-server.conf |
1 2 3 4 5 6 7 8 |
[options] admin_passwd = admin db_host = False db_port = False db_user = odoo8 db_password = False addons_path = /opt/odoo8/odoo-server/addons logfile = /var/log/odoo8/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 odoo8
1 |
exit |
Puis on édite le fichier de configuration systemctl
1 |
sudo nano /etc/systemd/system/odoo8.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 8 startup script Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo8 PermissionsStartOnly=true User=odoo8 Group=odoo8 ExecStart=python2 /opt/odoo8/odoo-server/openerp-server -c /opt/odoo8/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 odoo8.service && sudo systemctl enable odoo8 |
On vérifie l’état du système
1 |
sudo systemctl status odoo8 |
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 |
● odoo8.service - Odoo 8 startup script Loaded: loaded (/etc/systemd/system/odoo8.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-05-15 12:12:12 UTC; 1min 33s ago |
Test du serveur Odoo
On regarde les logs
1 |
less /var/log/odoo8/odoo8-server.log |
Et, si l’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
Configuration du serveur Apache2 avec myVesta
Tout est fait automatiquement par le panel myVestaCP.
Il faut juste forcer le SSL en choisissant le template force-https-legacy pour le nom de domaine d’Odoo 8.
Une erreur 403 peut tout de même de produire ! Dans ce cas-là, il faut modifier le fichier
1 |
sudo nano /home/odoo8/conf/web/odoo8.mcdtoolbox.com.nginx.ssl.conf |
et insérer cette configuration (ne pas oublier de changer ip_du_serveur) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
server { listen <strong>ip_du_serveur</strong>:443 ssl http2; server_name odoo8.mcdtoolbox.com www.odoo8.mcdtoolbox.com; ssl_certificate /home/odoo8/conf/web/ssl.odoo8.mcdtoolbox.com.pem; ssl_certificate_key /home/odoo8/conf/web/ssl.odoo8.mcdtoolbox.com.key; error_log /var/log/apache2/domains/odoo8.mcdtoolbox.com.error.log error; location / { proxy_pass http://54.36.51.208:8069; } location /error/ { alias /home/odoo8/web/odoo8.mcdtoolbox.com/document_errors/; } location @fallback { proxy_pass http://<strong>ip_du_serveur</strong>:8069; } location ~ /\.ht {return 404;} location ~ /\.env {return 404;} location ~ /\.svn/ {return 404;} location ~ /\.git/ {return 404;} location ~ /\.hg/ {return 404;} location ~ /\.bzr/ {return 404;} disable_symlinks if_not_owner from=/home/odoo8/web/odoo8.mcdtoolbox.com/public_html; include /home/odoo8/conf/web/*nginx.odoo8.mcdtoolbox.com.conf_letsencrypt; include /home/odoo8/conf/web/snginx.odoo8.mcdtoolbox.com.conf*; } |
Ensuite, on redémarre nginx :
1 |
sudo service nginx restart |
Configuration du serveur Apache2 sans myVesta
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/example.com.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<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
1 |
sudo a2ensite example.com |
Et on redémarre Apache2
1 |
sudo systemctl reload apache2 |
Erreur possible
Si vous rencontrez l’erreur ImportError: No module named wsgi dans /var/log/syslog :
1 |
sudo apt-get install apache2-dev |
Source : OdooTricks
0 commentaire