Installare OpenERP v. 7.0 su un server CentOS

openerp-centos

Abbiamo provato l’installazione della nuova versione di OpenERP su unpiù precisamente un server dedicato “Basic” di Aruba, in configurazione minima. Riporto quanto fatto in questo blog, rivolto anche a chi non ha molta esperienza di sistemi operativi. Il prerequisito fondamentale è poter accedere al server con l’interfaccia a riga di comando; io ho usato putty dal mio portatile windows.

La nostra versione di sistema operativo (visibile con il comando cat /etc/*release) è la 6.2. Per la procedura di installazione ci siamo basati su http://intellectseed.wordpress.com/2012/11/06/how-to-install-openerp-on-centos/ con qualche modifica, legata a piccoli punti critici. Rivediamo i passaggi uno per uno.

Prima di tutto creiamo l’utente per OpenERP con il comando:

adduser openerp

Poi installiamo postgres:

yum install postgresql postgresql-server

Il nostro sistema ha installato la versione 8.4, che non è l’ultima. Abbiamo quindi cercato nel sito http://yum.postgresql.org/repopackages.php per controllare le versioni di database disponibili per il nostro sistema e abbiamo deciso di scaricare la 9.1. Scarichiamo quindi manualmente e installiamo con i comandi:

wget http://yum.pgrpms.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm

rpm -i pgdg-centos91-9.1-4.noarch.rpm

yum install postgresql91 postgresql91-server

Ora escludiamo postgresql dall’elenco di packages di cui yum esegue l’aggiornamento. Io ho usato l’editor vi, ma ovviamente se preferite potete usare qualsiasi altro:

cd /etc/yum.repos.d

vi CentOS-Base.repo

Cercare la sezione [base] e aggiungere la riga:

exclude=postgresql*

Fare lo stesso nella sezione [update]

Ora lanciamo il servizio postgres:

service postgresql-9.1 initdb

service postgresql-9.1 start

Ora creiamo l’utente postgres per openerp. su – postgres per entrare in postgres e poi

psql postgres postgres

A questo punto psql ci avvisa che il server è 9.1 ma psql è 8.4

Per lanciare il psql della release 9.1: /usr/pgsql-9.1/bin/psql ma per quello che dobbiamo fare ora non fa differenza. Modifichiamo lo user di default postgres dandogli password postgres:

alter user postgres with password ’postgres’;

A questo punto creiamo lo user openerp con privilegi di superuser (come da procedura di installazione generale OpenERP); si può fare tutto con un solo comando, io li ho divisi per chiarezza:

create user openerp;

alter user openerp with SUPERUSER;

alter user openerp with password ‘postgres’;

Controlliamo ora l’indirizzo su cui postgres è “in ascolto” con il comando

show listen_addresses;

dovrebbe rispondere solo localhost. Controlliamo anche la porta su cui risponde con il comando:

show port;

e se non è già abilitata, apriamo la porta 5432: usciamo da psql con il comando \q ed editiamo il file di configurazione di postgres:

cd /var/lib/pgsql/9.1/data/

vi postgresql.conf

cerchiamo la sezione connections and authentications e togliamo il # all’istruzione #port = 5432.  A questo punto facciamo ripartire il servizio:

service postgresql-9.1 restart

Ora bisogna installare i packages di python. In questa fase ho trovato qualche discrepanza fra i nomi dei packages indicati in vari tutorial disponibili in rete, quindi vi copio l’elenco di quelli che hanno funzionato; tenete presente che nel tempo potrebbero esserci delle variazioni:

yum install python-dateutil python-feedparser python-gdata python-ldap 

yum install python-libxslt1 python-lxml python-mako python-openid python-psycopg2 

yum install python-babel pychart pydot pyparsing python-reportlab 

yum install python-simplejson python-tz python-vatnumber python-vobject python-webdav 

yum install python-werkzeug python-xlwt python-yaml python-ZSI

Si potrebbe installare tutto con un solo comando yum, io prferisco avere elenchi non troppo lunghi per tenere meglio la situazione sotto controllo. Eccezioni che si sono presentate: openid non è stato installato, ho risolto con il comando

easy_install python-openid

ho sostituito python-babel, pychart, pydot, pyparsing a python-pybabel, python-pychart, python-pydot e python-pyparsing della lista originale. Inoltre, per problemi riscontrati nelle fasi successive, ho installato anche:

yum install python-psutil

yum install python-imaging

yum install python-mock

Finiti i prerequisiti, passiamo all’installazione di OpenERP da launchpad, cominciamo a procurarci bazaar, l’utility che ci permetterà di collegarci a launchpad:

yum install bzr

Creiamo ora una cartella per OpenERP, ad esempio /var/openerp, e dopo esserci posizionati in essa eseguiamo:

bzr branch lp:openobject-server/7.0

che scarica il server creando la cartella openerp/7.0

bzr branch lp:openobject-addons/7.0 addons

bzr branch lp:openerp-web/7.0 web

che scaricano gli addons (in pratica in moduli di OpenERP) e l’interfaccia web. Per qualche altra informazione su queste fasi potete anche consultare il link http://www.vionblog.com/install-openerp-7-0-from-trunk/, anche se non riguarda il sistema CentOS. Anche se non strettamente necessario, ho quindi lanciato l’installazione OpenERP, che esegue una serie di copie e precompilazioni di moduli. Bisogna posizionarsi nella cartella in cui è stato scaricato il server (openerp/7.0 nel mio caso) e lanciare il comando:

sudo python setup.py install

Per comodità, nella cartella openerp creiamo un piccolo file di comandi:

vi start

e inseriamo le due righe:

#!/bin/bash

./7.0/openerp-server –xmlrpc-port=8071 –netrpc-port=8072 –addons-path=/var/openerp/addons,/var/openerp/web/addons $1 $2 $3 $4 $5&

Ovviamente i path degli addons devono essere quelli che avete utilizzato durante lo scarico con bazaar; i vari $1, $2 ecc. prevedono la possibilità di passare dei parametri al server attraverso lo script. Ora occorre renderlo eseguibile:

chmod +x start

e lanciarlo:

./start &

La & alla fine del comando fa in modo che il server parta in background, liberando quindi il terminale, da cui potete anche uscire. Potete collegarvi al vostro nuovo OpenERP digitando nella barra degli indirizzi del browser:

<indirizzo server>:8071

Nel caso voleste fermare il server di OpenERP, (vedi http://doc.openerp.com/v6.0/developer/1_1_Introduction/6_shutdown_server.html) potete ricollegarvi con putty e digitare:

ps ax | grep openerp-server

in questo modo il sistema vi fornirà il <pid> del processo di OpenERP, quindi lo potrete fermare con:

kill -2 pid

Nei prossimi post cominceremo a vedere le funzionalità della release 7.0 e i principali miglioramenti rispetto alle precedenti versioni.

Stefano Siccardi

facebooktwittergoogle plus

Ho svolto attività diversificate, a partire dalla laurea in matematica e dall'esperienza di programmatore di software di base, per arrivare alla consulenza organizzativa


Comments are closed.