[Update 2023] Installation d’Odoo 8 sur Ubuntu 20.04 ou Debian 11 avec et sans myVesta
Mise à jour du système
sudo apt update && sudo apt dist-upgrade
Création de l’utilisateur odoo8, le domaine et l’arboresence
Avec myVesta
- Créer simplement un utilisateur odoo8. Ceci créera l’arborescence /home/odoo8.
- Créer le nom de domaine associé à l’utilisateur, ici ce sera nom_de_domaine_odoo8.com
- Choisissez PHP-FPM-7.4 pour le nom de domaine
- Créer une certificat SSL Let’s Encrypt ou renseignez le vôtre
- Si vous avez une erreur 400 lors de la création de votre certicat Let’s Encrypt, voici une commande qui fonctionne bien sous myVesta
/usr/local/vesta/bin/v-add-letsencrypt-domain odoo8 nom_de_domaine_odoo8.com
Sans myVesta
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
sudo apt install postgresql -y
Nous allons maintenant créer un nouvel utilisateur (odoo8) pour notre base de données
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
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 :
sudo add-apt-repository universe
On installe les paquets de ce bon vieux Python 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.
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
pip2 --version
La réponse doit être
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
sudo mkdir /var/log/odoo8/ && sudo chown odoo8: -R /var/log/odoo8/
Puis on installe Git
sudo apt install git -y
On change l’utilisateur bash par odoo8
sudo su - odoo8
On installe les librairies Python nécessaire grâce au requirements.txt
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)
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)
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
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
nano odoo-server.conf
[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
exit
Puis on édite le fichier de configuration systemctl
sudo nano /etc/systemd/system/odoo8.service
Éditez le fichier de configuration et changer les lignes comme ci-dessous
[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 --load=web,web_kanban,letsencrypt 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 odoo8.service && sudo systemctl enable odoo8
On vérifie l’état du système
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:
● 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
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/404 peut tout de même de produire ! Dans ce cas-là, il faut modifier le fichier
sudo nano /home/odoo8/conf/web/nom_de_domaine_odoo8.com.nginx.ssl.conf
et insérer cette configuration (ne pas oublier de changer ip_du_serveur et nom_de_domaine_odoo8) :
server { listen ip_du_serveur:443 ssl http2; server_name nom_de_domaine_odoo8.com www.nom_de_domaine_odoo8.com; ssl_certificate /home/odoo8/conf/web/ssl.nom_de_domaine_odoo8.com.pem; ssl_certificate_key /home/odoo8/conf/web/ssl.nom_de_domaine_odoo8.com.key; error_log /var/log/apache2/domains/nom_de_domaine_odoo8.com.error.log error; location / { proxy_pass http://ip_du_serveur:8069; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /error/ { alias /home/odoo8/web/nom_de_domaine_odoo8.com/document_errors/; } location @fallback { proxy_pass http://ip_du_serveur: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/nom_de_domaine_odoo8.com/public_html; include /home/odoo8/conf/web/*nginx.nom_de_domaine_odoo8.com.conf_letsencrypt; include /home/odoo8/conf/web/snginx.nom_de_domaine_odoo8.com.conf*; }
Ainsi que le fichier :
sudo nano /home/odoo8/conf/web/nom_de_domaine_odoo8.com.nginx.conf
server { listen ip_du_serveur:80; server_name nom_de_domaine_odoo8.com www.nom_de_domaine_odoo8.com; location / { rewrite ^(.*) https://nom_de_domaine_odoo8.com$1 permanent; } include /home/odoo8/conf/web/*nginx.nom_de_domaine_odoo8.conf_letsencrypt; }
Ensuite, on redémarre nginx :
sudo service nginx restart
Configuration du serveur Apache2 sans myVesta
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
<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
Erreur possible
Si vous rencontrez l’erreur ImportError: No module named wsgi dans /var/log/syslog :
sudo apt-get install apache2-dev
Source : OdooTricks
0 commentaire