Install Multi Instances Odoo sur NUC

Installer Odoo en local en multi-instances (odoo8, odoo9, odoo10, odoo11) est aussi important sur un serveur que sur mon PC portable, pour pouvoir montrer les sites web et applications Odoo à mes prospects !

Document de réfénce :  \NUC LAN\ Install Multi Instances Odoo.doc

Log in via SSH

ssh user@vps_IP  [-p num-port]
su -   (pour se loguer en root)

Update the system

apt-get update && apt-get upgrade

Install all necessary packages

# apt-get install git virtualenv wkhtmltopdf python-pip python-dev python-virtualenv libevent-dev gcc libjpeg-dev libxml2-dev libssl-dev libsasl2-dev node-less libldap2-dev libxslt-dev

# apt-get install python-dateutil python-docutils python-feedparser python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-psycopg2 python-psutil python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi poppler-utils python-pip python-passlib python-decorator gcc python-dev mc bzr python-setuptools python-markupsafe python-reportlab-accel python-zsi python-yaml libpython2.7-stdlib python-openssl python-egenix-mxdatetime python-usb python-serial lptools make python-pydot python-psutil python-paramiko poppler-utils python-pdftools antiword python-requests python-xlsxwriter python-suds python-ofxparse python-gevent

# apt-get install libxml2-dev libxslt-dev python-dev lib32z1-dev

Install PostgreSQL

Installing PostgreSQL with apt is quick and easy:  9.5 ou 9.6 ???

apt-cache search postgresql-9
apt-get install postgresql-9.6 postgresql-server-dev-9.6
systemctl enable postgresql.service
systemctl start postgresql.service
systemctl status postgresql.service
ps ax|grep postgres  (pour vérifier que PostGres est lancé)

Create Odoo users 
dans les noms : minuscules   ‘-‘ sont interdits, utiliser les ‘_’

sudo adduser --system --group odoo13 --home /opt/odoo13

Create PostgreSQL database users

sudo su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password odoo13"

Install Odoo : 1ere instance

First, we will install Odoo version 10. To switch to Odoo user run:

sudo su - odoo13 -s /bin/bash

Clone the Odoo 13.0 branch from github:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 --single-branch /opt/odoo13

Create python virtual environment and install all requirements:

cd /opt/odoo13
virtualenv ./venv
source ./venv/bin/activate
pip install -r requirements.txt

Switch back your user:

exit

Configure Odoo

Configurons Odoo 13 pour écouter sur le port 8013.
Configurons Odoo 14 pour écouter sur le port 8014 …
Configurons un même  master admin password.
You can also set the ports numbers according to your liking.

sudo nano /etc/odoo13.conf
[options]
admin_passwd = your_strong_admin_password
db_host = False
db_port = False 
db_user = odoo13
db_password = False 
addons_path = /opt/odoo13/addons 
logfile = /var/log/odoo13.log 
xmlrpc_port = 8013

Change owner pour les dossiers Odoo :

touch /var/log/odoo13.log
chown odoo13:odoo13 /var/log/odoo13.log 
chown odoo13:odoo13 /opt/odoo13/
chown odoo13:odoo13 /opt/odoo13/* -R

Create SystemD scripts:

nano /lib/systemd/system/odoo13.service
[Unit]
 Description=odoo13
 Requires=postgresql.service
 After=postgresql.service

[Service]
 Type=simple
 PermissionsStartOnly=true
 User=odoo13
 Group=odoo13
 SyslogIdentifier=odoo13
 ExecStart=/opt/odoo13/odoo-bin -c /etc/odoo13.conf (pour Odoo10 et suivants)
 ExecStart=/opt/odoo9/venv/bin/python2 /opt/odoo9/openerp-server -c /etc/odoo9.conf (pour Odoo9)
[Install]
 WantedBy=multi-user.target

Etape finale : Enable & Start Odoo instances on boot:

sudo systemctl enable odoo13.service
sudo systemctl start odoo13.service
ps ax|grep odoo   (pour vérifier le nombre d'instances Odoo lancées)
sudo systemctl status odoo_pjm.service  (pour voir si erreurs ?)

se connecter sur navig : IP-NUC:8013  ?

Si ça ne marche pas ... $ more /var/log/odoo13.log 

Ajout d’autres instances Odoo :    >>>   clonage auto :  clodoo.sh    <<<

1) Créer le User Odoo odoo9
sudo adduser –system –group odoo9 –home /opt/odoo9

( Si on s’est trompé dans le dossier HOME : verifier: more /etc/passwd
reparer : usermod -m -d /opt/odoo9 odoo9 )

2) Créer le User PostGres : odoo9
sudo su – postgres -c « createuser –createdb –username postgres –no-createrole –no-superuser –no-password odoo9 »

3) Cloner de la 1ere instance Odoo :
cp -Rupv /opt/odoo9/ /opt/odoo9/
chown odoo9:odoo9 -R /opt/odoo9/

4) Clôner le fichier CONF Odoo
cp /etc/odoo8.conf /etc/odoo9.conf
sed -i -e « s/odoo8/odoo9/g » /etc/odoo9.conf
sed -i -e « s/8008/8009/g » /etc/odoo9.conf  (change port 8008 en 8009..)

5) Clôner le fichier SERVICE Odoo
cp /lib/systemd/system/odoo8.service /lib/systemd/system/odoo9.service
sed -i -e « s/odoo8/odoo9/g » /lib/systemd/system/odoo9.service

6) Mettre en place le service de la 2e instance : 
sudo systemctl enable odoo9.service
sudo systemctl start odoo9.service
ps ax|grep odoo (pour vérifier le nombre d’instances Odoo lancées)
sudo systemctl status odoo9.service (pour voir si erreurs ?)

7) Tester : Se connecter sur navig : IP-NUC:8009 ?  OK !

8) Gérer (stop/start/status) le service(s) Odoo avec « systemctl » et « systemd »

$ sudo systemctl status    (montre tous les services actifs)

$ sudo systemctl status odoo8.service  (montre l’état du service Odoo : On / Off?)
$ sudo systemctl stop odoo8.service
$ sudo systemctl start odoo8.service

 
python3.7 -m pip install . python3.7 -m pip install -r requirements.txt <<<<---- en SU 478 nano /lib/systemd/system/odoo13.service 479 sudo systemctl start odoo13.service 480 systemctl daemon-reload 481 sudo systemctl start odoo13.service 482 sudo systemctl status odoo13.service 486 chown odoo13:odoo13 odoo13/ -R 498 ifconfig -----> IP = 51.75.255.146 499 nano /etc/rc.local 500 reboot 505 more /etc/odoo13.conf —> Port = 8013 507 more /var/log/odoo13.log 509 df -h 510 history Acces Web : http://51.75.255.146:8013

python3.7 -m pip install .
python3.7 -m pip install -r requirements.txt <<<<—- en SU

478 nano /lib/systemd/system/odoo13.service

479 sudo systemctl start odoo13.service
480 systemctl daemon-reload
481 sudo systemctl start odoo13.service
482 sudo systemctl status odoo13.service

486 chown odoo13:odoo13 odoo13/ -R

498 ifconfig —–> IP = 51.75.255.146
499 nano /etc/rc.local
500 reboot

505 more /etc/odoo13.conf —> Port = 8013

507 more /var/log/odoo13.log
509 df -h
510 history

Acces Web : http://51.75.255.146:8013

Retour en haut