English Version

jueves, 16 de diciembre de 2010

Instalación de OpenERP - Primera Parte (Base de datos y Servidor)

Para instalar OpenERP tenemos una documentación en su web oficial sobre cómo instalarlo tanto en Linux como en Windows. Podemos consultarla aquí.

Aún así aquí voy a comentar mi experiencia instalando OpenERP para Linux (OpenSuse) en este y otros post sucesivos:

INSTALACIÓN DE LA BASE DE DATOS

Lo primero que necesitamos para instalar OpenERP es instalar una base de datos PostgreSQL, así que veamos los pasos necesarios para hacerlo:

1.- Instalar PostgreSQL. Podemos hacerlo mediante la instalación desde los paquetes de nuestra distribución, o bien desde el código fuente descargado de la página web de PostgreSQL.

2.- Añadimos un usuario como indica en la documentación oficial de la web de OpenERP


johndoe$ sudo su - postgres
password: XXXXXXXXXX


postgres$ createuser --createdb --username postgres --no-createrole --pwprompt openerp
Enter password for new role: XXXXXXXXXX
Enter it again: XXXXXXXXXX


Shall the new role be a superuser? (y/n) y
CREATE ROLE
postgres$



Para probar que se ha creado correctamente podemos probar a conectarnos con este nuevo usuario desde pgAdmin3 o desde phpPgAdmin. Podemos ver a diferencia del anterior post, que ahora no tenemos ningún problema para identificarnos con este nuevo usuario en phpPgAdmin.

INSTALACIÓN DEL SERVIDOR DE OPENERP

3.- A continuación instalaremos la versión Server de OpenERP. Para poder instalar esta versión nos requerirá la instalación de algunas librerías de python. En concreto estas son las librerías que nos especifican en su web:


You need to install Python (at least version 2.4 for OpenERP 5.0, 2.5 for OpenERP 6.0).
You also need to install the following python libraries:
  • psycopg2
  • reportlab
  • pychart
  • pydot
  • mxdatetime
  • lxml (libxml2 and libxslt are not required anymore since 5.0.7)
  • pytz (timezone library)
  • PIL: Python Imaging Library (required for reportlab)
  • vobject: iCalendar and VCards parsing




Para facilitarnos la instalación de librerías de python lo que haremos será instalar una aplicación llamada easy_install que podemos encontrar en el paquete python-setuptools. Asi que en función de nuestra distribución escribiremos el comando para su instalación ya sea con zypper, yum, apt, etc. Podemos obtener más información de esta aplicación aquí.

Opensuse:
#> zypper install python-setuptools

Ubuntu:
#> sudo aptitude install python-setuptools

4.- Una vez instalada la aplicación easy_install procedemos a instalar las librerías python requeridas de la siguiente forma:

#> su
root#> easy_install psycopg2

Esto debería mostrar una salida similar a esta:

Searching for psycopg2
Best match: psycopg2 2.2.2
Adding psycopg2 2.2.2 to easy-install.pth file

Using /usr/lib64/python2.6/site-packages
Processing dependencies for psycopg2
Finished processing dependencies for psycopg2


Así seguiremos instalando cada una de las librerías que necesitemos listadas anteriormente:


Es posible si trabajamos por ejemplo con OpenSuse que no encuentre alguna de estas librerías, al intentar instalarlas con easy_install , ni tampoco estén en los repositorios de Opensuse como es el caso de pychart así que podría mostrándoles algo similar a esto:

#> easy_install pychart
Searching for pychart
Reading http://pypi.python.org/simple/pychart/
Reading http://www.hpl.hp.com/personal/Yasushi_Saito/pychart
No local packages or download links found for pychart
error: Could not find suitable distribution for Requirement.parse('pychart')


En este caso podemos hacer lo siguiente:

1.- Visitamos la página oficial de la librería http://home.gna.org/pychart/

2.- Descargamos de su área de descarga la versión que queramos, yo en mi caso he descargado la versión 1.39

3.- Descomprimimos el archivo descargado y seguimos las instrucciones del archivo README como indica el punto 4.

4.- Nos identificamos como root en la carpeta descomprimida y tecleamos lo siguiente:

#PyChart-1.39> su
root#PyChart-1.39> python setup.py install

Esto debería instalar correctamente la librería en el sistema.

En mi caso también he encontrado problemas para instalar la siguiente librería:

- mxdatetime:


En cualquier caso el procedimiento para instalar cualquiera que no encontráramos en la aplicación easy_install ni en los repositorios de nuestra distribución sería el misma al que hemos visto para estas dos librerías.



5.- Descargamos la versión Server de OpenERP desde aquí. En nuestro caso bajaremos los sources de la versión estable que actualmente es la 5.0.15. Descomprimimos el archivo openerp-server-5.0.15.tar.gz.

Una vez descomprimido el archivo, como indica en la documentación oficial, si tan sólo queremos probar el servidor sin instalarlo podemos hacer lo siguiente:

#> python openerp-server.py

Y debe mostar algo similar a lo que muestra el siguiente recuadro:


[2010-12-07 15:33:38,069][?] INFO:server:version - 5.0.15
[2010-12-07 15:33:38,069][?] INFO:server:addons_path - /home/user/openerp-server-5.0.15/bin/addons
[2010-12-07 15:33:38,070][?] INFO:server:database hostname - localhost
[2010-12-07 15:33:38,070][?] INFO:server:database port - 5432
[2010-12-07 15:33:38,073][?] INFO:server:database user - user
[2010-12-07 15:33:38,073][?] INFO:objects:initialising distributed objects services
/usr/lib64/python2.6/site-packages/reportlab/pdfbase/pdfutils.py:44: SyntaxWarning: assertion is always true, perhaps remove parentheses?
 assert(len(raw) == imgwidth * imgheight, "Wrong amount of data for image")
/usr/lib64/python2.6/site-packages/reportlab/pdfgen/canvas.py:17: DeprecationWarning: the md5 module is deprecated; use hashlib instead
 import md5
/usr/lib64/python2.6/site-packages/reportlab/pdfbase/pdfdoc.py:1899: SyntaxWarning: assertion is always true, perhaps remove parentheses?
 assert(len(raw) == self.width*self.height, "Wrong amount of data for image")
[2010-12-07 15:33:39,090][?] INFO:web-services:starting XML-RPC services, port 8069
[2010-12-07 15:33:39,091][?] INFO:web-services:starting NET-RPC service, port 8070
[2010-12-07 15:33:39,091][?] INFO:web-services:the server is running, waiting for connections...


6.- Una vez que hemos comprobado el correcto funcionamiento del servidor vamos a instalarlo, para ello ejecutaremos el siguiente comando desde la carpeta raiz donde descomprimimos nuestro archivo del servidor:

#penerp-server-5.0.15> sudo python setup.py install

Si todo ha ido bien ya tendremos nuestro servidor instalado. Para levantar ahora el servidor introduciremos el siguiente comando desde cualquier path:

#> openerp-server

Si se ha levantado correctamente deberá mostrar un mensaje similar al del anterior recuadro.

7.- Ahora seguramente queramos conocer la forma de configurar el servidor para nuestras necesidades. Podemos encontrar información sobre la configuración del cliente y del servidor aquí y una versión traducida al español aquí.

En estas direcciones básicamente nos hablan sobre dos archivos de configuración, uno para configurar el cliente y otro para configurar el servidor. El archivo de configuración del cliente se crea automáticamente la primera vez que se inicia, y sobre el archivo de configuración del servidor nos dice que puede ser generado automáticamente mediante el siguiente comando:

#> openerp-server.py -s



Para solucionar el problema resaltado en negrita más abajo ejecutad el servidor de la siguiente forma para crear el archivo de configuración:

#>openerp-server -s

@linux-opensuse:~> openerp-server
[2010-12-20 23:34:30,737][?] INFO:server:version - 5.0.15
[2010-12-20 23:34:30,737][?] INFO:server:addons_path - /usr/local/lib64/python2.6/site-packages/openerp-server/                            addons
[2010-12-20 23:34:30,737][?] INFO:server:database hostname - localhost
[2010-12-20 23:34:30,737][?] INFO:server:database port - 5432
[2010-12-20 23:34:30,737][?] INFO:server:database user - micmm
[2010-12-20 23:34:30,738][?] INFO:objects:initialising distributed objects services
/usr/lib64/python2.6/site-packages/reportlab/pdfgen/canvas.py:17: DeprecationWarning: the md5 module is depreca                            ted; use hashlib instead
 import md5
[2010-12-20 23:34:31,843][?] INFO:web-services:starting XML-RPC services, port 8069
[2010-12-20 23:34:31,848][?] INFO:web-services:starting NET-RPC service, port 8070
[2010-12-20 23:34:31,848][?] INFO:web-services:the server is running, waiting for connections...
/usr/local/lib64/python2.6/site-packages/openerp-server/tools/misc.py:748: DeprecationWarning: BaseException.me                            ssage has been deprecated as of Python 2.6
 if hasattr(e, 'message'):
/usr/local/lib64/python2.6/site-packages/openerp-server/tools/misc.py:749: DeprecationWarning: BaseException.me                            ssage has been deprecated as of Python 2.6
 return ustr(e.message)


Los archivos de los que hablamos son lo siguientes, y si no se encuentran en el sistema porque no se hayan creado, el cliente y el servidor se iniciaran con la configuración por defecto:

- Para el cliente: ~/.openerprc
- Para el servidor: ~/.openerp_serverrc

Con esto hemos cubierto dos de los pasos necesarios para la instalación de OpenERP.

En el siguiente post veremos la instalción del cliente GTK y Web de OpenERP.

Saludos.

No hay comentarios:

Publicar un comentario