From d38a1c36c7ff9a77ec9acf653d29b5029060be7d Mon Sep 17 00:00:00 2001 From: robinkeunen Date: Thu, 8 Mar 2018 14:13:55 +0100 Subject: [PATCH 1/2] obeesdoo installation guides --- README.md | 97 +++++++++++++++- install-odoo-linux.md | 257 ++++++++++++++++++++++++++++++++++++++++++ install-odoo-mac.md | 72 ++++++++++++ 3 files changed, 425 insertions(+), 1 deletion(-) create mode 100644 install-odoo-linux.md create mode 100644 install-odoo-mac.md diff --git a/README.md b/README.md index d28b816..136257a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,103 @@ # Obeesdoo Specific module for the Beescoop +## Install odoo -# Migrate barcode +- cf. [install-odoo-linux.md](install-odoo-linux.md) (review) +- cf. [install-odoo-mac.md] (install-odoo-mac.md) + +## Setup obeesdoo + +##### 1) clone repos + +``` +$ cd projects +$ git clone https://github.com/beescoop/Obeesdoo.git obeesdoo -b 9.0 --depth 1 +$ git clone https://github.com/houssine78/vertical-cooperative.git vertical-cooperative -b 9.0 --depth 1 +$ git clone https://github.com/houssine78/addons.git houssine-addons -b 9.0 --depth 1 +$ git clone https://github.com/coopiteasy/procurement-addons procurement-addons -b 9.0 --depth 1 +$ git clone https://www.github.com/OCA/l10n-belgium -b 9.0 --depth 1 +$ git clone https://www.github.com/OCA/mis-builder -b 9.0 --depth 1 +$ git clone https://www.github.com/OCA/web -b 9.0 --depth 1 +$ git clone https://github.com/OCA/server-tools -b 9.0 --depth 1 +$ git clone https://github.com/OCA/reporting-engine -b 9.0 --depth 1 +``` + +todo: setup git submodules + +##### 2) install wkhtmltopdf + +Download and install [wkhtmltopdf version 0.12.1](https://github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.1) + +##### 3) install less compiler + +``` +$ brew install npm +$ npm install -g less +``` + +##### 4) set up the database and import production data. + + +``` +$ createuser -d odoo +$ createdb beescoop -o odoo +$ gunzip .sql.gz +$ psql beescoop .sql +``` + +##### 5) deactivate cron jobs and mails + +``` +$ psql -d beescoop -c "UPDATE ir_cron SET active='f' WHERE active='t';" +$ psql -d beescoop -c "update ir_mail_server set smtp_encryption='none', smtp_port=1025, smtp_host='localhost',smtp_user='', smtp_pass='';" +$ psql -d beescoop -c "UPDATE fetchmail_server SET active='f', password='', server='localhost';" +``` + +##### 6) create odoo.conf + +``` +$ export ODOO_HOME='~/projects' +$ vi $ODOO_HOME/odoo.conf +``` + +``` +[options] +; This is the password that allows database operations: +; admin_passwd = admin +debug=True +dev=True +db_host=False +db_port=False +db_user=odoo +db_password=False +addons_path=addons,openerp/addons,$ODOO_HOME/obeesdoo,$ODOO_HOME/vertical-cooperative,$ODOO_HOME/houssine-addons,$ODOO_HOME/procurement-addons,$ODOO_HOME/l10n-belgium,$ODOO_HOME/mis-builder,$ODOO_HOME/web,$ODOO_HOME/server-tools,$ODOO_HOME/reporting-engine +``` + +##### 7) update database structure + +``` +$ cd ~/projects/odoo +$ psql -d tmp_march_beescoop -c "truncate product_scale_log" +$ python odoo.py -c $ODOO_HOME/odoo.conf -u all -d odoo-test --stop-after-init +``` + +### Troubleshoot + + Missing libraries + + ``` + pip install pycoda + pip install xlsxwriter + ``` + + Can't update `product_scale_log` table (I did not write down the exact error) + + ``` + truncate table product_scale_log + ``` + +## Migrate barcode ```sql insert into member_card (active, barcode, partner_id, responsible_id, activation_date) select 't', barcode, id, 1, '2016-01-01' from res_partner where barcode is not null; diff --git a/install-odoo-linux.md b/install-odoo-linux.md new file mode 100644 index 0000000..78b7583 --- /dev/null +++ b/install-odoo-linux.md @@ -0,0 +1,257 @@ +1) ajouter un utilisateur odoo + + # adduser odoo + +2) Installation de postgresql (DBMS) + + # apt-get install postgresql + +3) install git + + # apt-get install git + +4) installer pip : python package manager + + # apt-get install python-pip + +5) installation des paquets devel pour compilation des bibliothèques python + + # apt-get install python-dev postgresql-server-dev-all libjpeg-dev zlib1g-dev libpng12-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev + +6) installation de node-less + + # apt-get install node-less + +7) clone odoo + + # su odoo + $ cd /home/odoo + $ git clone https://github.com/odoo/odoo.git + +8) installer bibliothèque python + + $ exit + # cd /home/odoo/odoo + # pip install -r requirements.txt + +9) créer odoo user pour postgresql avec les droits de création de base de donnée + + # su postgres + $ createuser -d odoo + $ exit + + +10) Installer wkhtml to pdf 0.12.1 !! (pas une autre) (sur une machine 64 bit avec un ubuntu 64bit 14.04) + + # apt-get install fontconfig libfontconfig1 libxrender1 fontconfig-config + # wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb + # dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb + # cd /usr/local/bin/ + # cp wkhtmltoimage /usr/bin/wkhtmltoimage + # cp wkhtmltopdf /usr/bin/wkhtmltopdf + +11) Tester l'installation de odoo + + # su odoo + $ cd /home/odoo/odoo + $ ./odoo.py + +lancer le navigateur http://localhost:8069 la page de création de base de donnée d'odoo devrait s'ouvrir, essayé de créer une base de donnée + +ctrl + c pour tuer le processus odoo depuis la console + +12) Pour aller plus loin: init.d script + +a) créer un répertoire de log + + # su odoo + $ mkdir /home/odoo/log + +b) créer fichier de config odoo + + $ cd /home/odoo/odoo + $ ./odoo.py -s -c /home/odoo/odoo.conf --stop-after-init --logfile=/home/odoo/log/odoo.log + +c) Créer le fichier init.d + + $ exit + $ vim /etc/init.d/odoo + +copier le contenu dans le fichier (gedit va aussi bien que vim) + + + #!/bin/sh + + ### BEGIN INIT INFO + # Provides: openerp-server + # Required-Start: $remote_fs $syslog + # Required-Stop: $remote_fs $syslog + # Should-Start: $network + # Should-Stop: $network + # Default-Start: 2 3 4 5 + # Default-Stop: 0 1 6 + # Short-Description: Enterprise Resource Management software + # Description: Open ERP is a complete ERP and CRM software. + ### END INIT INFO + + PATH=/bin:/sbin:/usr/bin + DAEMON=/home/odoo/odoo/odoo.py + NAME=odoo + DESC=odoo + + # Specify the user name (Default: openerp). + USER=odoo + + # Specify an alternate config file (Default: /etc/openerp-server.conf). + CONFIGFILE="/home/odoo/odoo.conf" + + # pidfile + PIDFILE=/var/run/$NAME.pid + + # Additional options that are passed to the Daemon. + DAEMON_OPTS="-c $CONFIGFILE" + + [ -x $DAEMON ] || exit 0 + [ -f $CONFIGFILE ] || exit 0 + + checkpid() { + [ -f $PIDFILE ] || return 1 + pid=`cat $PIDFILE` + [ -d /proc/$pid ] && return 0 + pid=`cat $PIDFILE` + [ -d /proc/$pid ] && return 0 + return 1 + } + + case "${1}" in + start) + echo -n "Starting ${DESC}: " + + start-stop-daemon --start --quiet --pidfile ${PIDFILE} \ + --chuid ${USER} --background --make-pidfile \ + --exec ${DAEMON} -- ${DAEMON_OPTS} + + echo "${NAME}." + ;; + + stop) + echo -n "Stopping ${DESC}: " + + start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \ + --oknodo + + echo "${NAME}." + ;; + + restart|force-reload) + echo -n "Restarting ${DESC}: " + + start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \ + --oknodo + + sleep 1 + + start-stop-daemon --start --quiet --pidfile ${PIDFILE} \ + --chuid ${USER} --background --make-pidfile \ + --exec ${DAEMON} -- ${DAEMON_OPTS} + + echo "${NAME}." + + echo "${NAME}." + ;; + + *) + N=/etc/init.d/${NAME} + echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2 + exit 1 + ;; + esac + + exit 0 + +d) donner les bons droits au fichier + + # chmod 755 /etc/init.d/odoo + +e) tester le script + + # /etc/init.d/odoo start + +tester à nouveau sur localhost:8069 + +f) faire en sorte que le script s'exécute au démarrage + + # update-rc.d odoo defaults + + +13) pour aller plus loin: proxy nginx + +a) installer nginx + + # apt-get install nginx + +vous pouvez tester l'installation réussie sur http://localhost + +b) configurer nginx pour odoo : editer le fichier de conf + + # vim /etc/nginx/sites-enabled/default + +supprimer le contenu et le remplacer par + + upstream odoo { + server 127.0.0.1:8069 weight=1 fail_timeout=300s; + } + + server { + # server port and name + listen 80; + server_name localhost; + + + location / { + proxy_pass http://odoo; + # force timeouts if the backend dies + proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; + + # set headers + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; + + } + } + +c) tester la config et relancer nginx + + # nginx -t + # nginx -s reload + +tester http://localhost + +devrait conduire à odoo (ne pas oublier de vider le cache de son navigateur au cas ou ca ne marche pas tout de suite) + +14) un peu de sécurité: odoo plus accessible sur le port et changer le master password + +a) editer fichier de conf de odoo + + # vim /home/odoo/odoo.conf + +changer + + admin_passwd = admin + xmlrpc_interface = + +pour + + admin_passwd = secret_password + xmlrpc_interface = 127.0.0.1 + +b) redémarrer odoo + + # /etc/init.d/odoo restart + + + +-- +Thibault François + diff --git a/install-odoo-mac.md b/install-odoo-mac.md new file mode 100644 index 0000000..db047a3 --- /dev/null +++ b/install-odoo-mac.md @@ -0,0 +1,72 @@ +# Install odoo on macos + +> Tested on macos High Sierra (10.13.3) + +##### 1) install Homebrew + +``` +$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +``` + +##### 2) Install Python, postgresql and needed modules + +``` +$ brew update +$ brew install python +$ brew install postgresql +$ brew install freetype jpeg libpng libtiff webp xz +``` + +##### 3) Add postgresql to system startup + +``` +$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents +$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist +``` + +##### 4) setup odoo environment + +I recommend using [virtualenvwrapper](http://virtualenvwrapper.readthedocs.io/en/latest/index.html) + +``` +$ mkvirtualenv odoo -p /path/to/python2.7 +$ which python +$ /Users//.virtualenvs/odoo/bin/python +``` +Use `deactivate` to get out of odoo environment, use `workon odoo` to activate the environment. + +##### 5) clone odoo + +``` +$ cd ~/projects +$ git clone https://github.com/odoo/odoo.git odoo +``` + +##### 6) Install odoo requirements + +``` +$ cd odoo +$ git checkout 9.0 +$ pip install -r requirements.txt +``` + +You should now be able to start a simple odoo instance with `python odoo.py` + +## Configuring pycharm + +## Troubleshoot + +Missing codaparserexception + +``` +pip install pycoda +``` + +Can't update `product_scale_log` table (I did not write down the exact error) + +``` +truncate table product_scale_log +``` + +## Source +source: [setup-odoo-development-on-os-x-with-pycharm](http://bloopark.de/en_US/blog/the-bloopark-times-english-2/post/setup-odoo-development-on-os-x-with-pycharm-109) From 96e5f5f375af0583178a97f5c86df7eddb3f6bd5 Mon Sep 17 00:00:00 2001 From: robinkeunen Date: Wed, 21 Mar 2018 13:56:49 +0100 Subject: [PATCH 2/2] marcdown linux conf and move brew commands to mac conf` --- README.md | 17 ++---- ...o-linux.md => install-odoo-linux-server.md | 60 ++++++++++--------- install-odoo-mac.md | 12 +++- 3 files changed, 45 insertions(+), 44 deletions(-) rename install-odoo-linux.md => install-odoo-linux-server.md (78%) diff --git a/README.md b/README.md index 136257a..b883ca8 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Specific module for the Beescoop ## Install odoo -- cf. [install-odoo-linux.md](install-odoo-linux.md) (review) +- cf. [install-odoo-linux-server.md](install-odoo-linux-server.md) (review) - cf. [install-odoo-mac.md] (install-odoo-mac.md) ## Setup obeesdoo @@ -29,14 +29,7 @@ todo: setup git submodules Download and install [wkhtmltopdf version 0.12.1](https://github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.1) -##### 3) install less compiler - -``` -$ brew install npm -$ npm install -g less -``` - -##### 4) set up the database and import production data. +##### 3) set up the database and import production data. ``` @@ -46,7 +39,7 @@ $ gunzip .sql.gz $ psql beescoop .sql ``` -##### 5) deactivate cron jobs and mails +##### 4) deactivate cron jobs and mails ``` $ psql -d beescoop -c "UPDATE ir_cron SET active='f' WHERE active='t';" @@ -54,7 +47,7 @@ $ psql -d beescoop -c "update ir_mail_server set smtp_encryption='none', smtp_po $ psql -d beescoop -c "UPDATE fetchmail_server SET active='f', password='', server='localhost';" ``` -##### 6) create odoo.conf +##### 5) create odoo.conf ``` $ export ODOO_HOME='~/projects' @@ -74,7 +67,7 @@ db_password=False addons_path=addons,openerp/addons,$ODOO_HOME/obeesdoo,$ODOO_HOME/vertical-cooperative,$ODOO_HOME/houssine-addons,$ODOO_HOME/procurement-addons,$ODOO_HOME/l10n-belgium,$ODOO_HOME/mis-builder,$ODOO_HOME/web,$ODOO_HOME/server-tools,$ODOO_HOME/reporting-engine ``` -##### 7) update database structure +##### 6) update database structure ``` $ cd ~/projects/odoo diff --git a/install-odoo-linux.md b/install-odoo-linux-server.md similarity index 78% rename from install-odoo-linux.md rename to install-odoo-linux-server.md index 78b7583..3831591 100644 --- a/install-odoo-linux.md +++ b/install-odoo-linux-server.md @@ -1,47 +1,52 @@ -1) ajouter un utilisateur odoo +# Install odoo on a linux server + +> by Thibault François + +## Installation basique + +##### 1) ajouter un utilisateur odoo # adduser odoo -2) Installation de postgresql (DBMS) +##### 2) installation de postgresql (DBMS) # apt-get install postgresql -3) install git +##### 3) install git # apt-get install git -4) installer pip : python package manager +##### 4) installer pip : python package manager # apt-get install python-pip -5) installation des paquets devel pour compilation des bibliothèques python +##### 5) installation des paquets devel pour compilation des bibliothèques python # apt-get install python-dev postgresql-server-dev-all libjpeg-dev zlib1g-dev libpng12-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev -6) installation de node-less +##### 6) installation de node-less # apt-get install node-less -7) clone odoo +##### 7) clone odoo # su odoo $ cd /home/odoo $ git clone https://github.com/odoo/odoo.git -8) installer bibliothèque python +##### 8) installer bibliothèque python $ exit # cd /home/odoo/odoo # pip install -r requirements.txt -9) créer odoo user pour postgresql avec les droits de création de base de donnée +##### 9) créer odoo user pour postgresql avec les droits de création de base de donnée # su postgres $ createuser -d odoo $ exit - -10) Installer wkhtml to pdf 0.12.1 !! (pas une autre) (sur une machine 64 bit avec un ubuntu 64bit 14.04) +##### 10) Installer wkhtml to pdf 0.12.1 !! (pas une autre) (sur une machine 64 bit avec un ubuntu 64bit 14.04) # apt-get install fontconfig libfontconfig1 libxrender1 fontconfig-config # wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb @@ -50,7 +55,7 @@ # cp wkhtmltoimage /usr/bin/wkhtmltoimage # cp wkhtmltopdf /usr/bin/wkhtmltopdf -11) Tester l'installation de odoo +##### 11) Tester l'installation de odoo # su odoo $ cd /home/odoo/odoo @@ -60,19 +65,19 @@ lancer le navigateur http://localhost:8069 la page de création de base de donn ctrl + c pour tuer le processus odoo depuis la console -12) Pour aller plus loin: init.d script +## Pour aller plus loin: init.d script -a) créer un répertoire de log + ##### 1) créer un répertoire de log # su odoo $ mkdir /home/odoo/log -b) créer fichier de config odoo + ##### 2) créer fichier de config odoo $ cd /home/odoo/odoo $ ./odoo.py -s -c /home/odoo/odoo.conf --stop-after-init --logfile=/home/odoo/log/odoo.log -c) Créer le fichier init.d + ##### 3) Créer le fichier init.d $ exit $ vim /etc/init.d/odoo @@ -169,30 +174,30 @@ copier le contenu dans le fichier (gedit va aussi bien que vim) exit 0 -d) donner les bons droits au fichier + ##### 4) donner les bons droits au fichier # chmod 755 /etc/init.d/odoo -e) tester le script + ##### 5) tester le script # /etc/init.d/odoo start tester à nouveau sur localhost:8069 -f) faire en sorte que le script s'exécute au démarrage + ##### 6) faire en sorte que le script s'exécute au démarrage # update-rc.d odoo defaults -13) pour aller plus loin: proxy nginx +## Pour aller plus loin: proxy nginx -a) installer nginx + ##### 1) installer nginx # apt-get install nginx vous pouvez tester l'installation réussie sur http://localhost -b) configurer nginx pour odoo : editer le fichier de conf + ##### 2) configurer nginx pour odoo : editer le fichier de conf # vim /etc/nginx/sites-enabled/default @@ -221,7 +226,7 @@ supprimer le contenu et le remplacer par } } -c) tester la config et relancer nginx + ##### 3) tester la config et relancer nginx # nginx -t # nginx -s reload @@ -230,7 +235,9 @@ tester http://localhost devrait conduire à odoo (ne pas oublier de vider le cache de son navigateur au cas ou ca ne marche pas tout de suite) -14) un peu de sécurité: odoo plus accessible sur le port et changer le master password +## Sécurité + +> odoo plus accessible sur le port et changer le master password a) editer fichier de conf de odoo @@ -250,8 +257,3 @@ b) redémarrer odoo # /etc/init.d/odoo restart - - --- -Thibault François - diff --git a/install-odoo-mac.md b/install-odoo-mac.md index db047a3..b631053 100644 --- a/install-odoo-mac.md +++ b/install-odoo-mac.md @@ -23,8 +23,14 @@ $ brew install freetype jpeg libpng libtiff webp xz $ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist ``` +##### 4) install less compiler -##### 4) setup odoo environment +``` +$ brew install npm +$ npm install -g less +``` + +##### 5) setup odoo environment I recommend using [virtualenvwrapper](http://virtualenvwrapper.readthedocs.io/en/latest/index.html) @@ -35,14 +41,14 @@ $ /Users//.virtualenvs/odoo/bin/python ``` Use `deactivate` to get out of odoo environment, use `workon odoo` to activate the environment. -##### 5) clone odoo +##### 6) clone odoo ``` $ cd ~/projects $ git clone https://github.com/odoo/odoo.git odoo ``` -##### 6) Install odoo requirements +##### 7) Install odoo requirements ``` $ cd odoo