sábado, 28 de julio de 2012

Instalación completa de Open ERP 6.1 desde cero en Ubuntu Desktop, Server,y Debian 6.x

En esta ocasión traigo la instalación desde cero de Open ERP 6.1 con la ventaja de hacerlo por medio de las fuentes oficiales del mismo, en un post anterior explico las ventajas de utilizar las fuentes.

Esta instalación ha sido probada en Debian 6.x, Ubuntu 10.04 LTS, Ubuntu 11.10 y Ubuntu 12.04 LTS

1. Instalación de todas las dependencias de OpenERP 6.1 necesarias, para esto simplemente ejecutamos en nuestra terminal:

sudo apt-get install bzr bzr-gtk bzrtools python python-egenix-mxdatetime python-dateutil python-pybabel python-openid python-feedparser python-lxml python-libxml2 python-libxslt1 python-psycopg2 python-libxml2 python-libxslt1 python-imaging python-gdata python-ldap python-reportlab python-pyparsing python-simplejson python-pydot python-webdav graphviz python-werkzeug python-matplotlib python-vatnumber python-numpy python-pychart python-egenix-mxdatetime python-vobject python-zsi python-xlwt python-hippocanvas python-profiler python-dev python-setuptools postgresql postgresql-client-common python-yaml python-mako python-passlib xsltproc xmlstarlet python-soappy python-qrencode python-suds python-pip && pip install xlutils

2. Ahora necesitamos configurar los archivos de la base de datos.

2.1 Editaremos el archivo postgresql

Ubuntu 10.04
# sudo nano /etc/postgresql/8.4/main/postgresql.conf

Ubuntu 11.10 / 12.04
# sudo nano /etc/postgresql/9.1/main/postgresql.conf

2.2 Cambiamos la siguiente linea en el archivo: listen_addresses = 'localhost'

Por esta: listen_addresses = '*'

2.3 Ahora modificamos el archivo, pg_hba.conf encontrado en la misma ruta anterior

Ubuntu 10.04
# sudo nano /etc/postgresql/8.4/main/pg_hba.conf

Ubuntu 11.10 / 12.04
# sudo nano /etc/postgresql/9.1/main/pg_hba.conf

2.4 Eliminamos todo el contenido de ese archivo y pegamos esto:


######################################################################################
# "local" is for Unix domain socket connections only
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
local   all         all                               trust
# IPv4 local connections:
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
host    all         all         127.0.0.1/32          trust
# ADD THIS LINE TO ALLOW REMOTE ACCESS; use your own IP address range:
host    all         all         0.0.0.0/0        trust
# IPv6 local connections:
host    all         all         ::1/128               ident
######################################################################################

2.5 Reiniciando postgres

Ubuntu 10.04
# sudo /etc/init.d/postgresql-8.4 restart

Ubuntu 11.10 / 12.04
# sudo /etc/init.d/postgresql restart

3. (Solo para Ubuntu Server) Agregar un usuario para poder ejecutar el OpenERP sin privilegios de root por cuestiones de seguridad, el nombre del usuario para este ejemplo se llama "ubuntu"

# sudo adduser ubuntu

4. Configurar un usuario en Postgres para acceder por medio de él a las bases de datos, por seguridad no es recomendable realizarlo con el usuario postgres que crea la base de datos por default.

41. Primero debemos cambiar el password del usuario de linux creado llamado postgres.

# sudo passwd postgres

4.2 Ahora debemos entrar con ese usuario para poder crear un usuario que pueda acceder a las bases de datos

# su - postgres

4.3 Creamos un usuario llamado "openerp" para acceder a la base de datos de Postgres.

# createuser --createdb --no-createrole --pwprompt openerp

Introducen  un password para el usuario, en este ejemplo utilizaré "openerp" también de pasword y cuando les pregunte si este rol es super usuario deben decir que si.

4.4 Ahora debemos salir del usuario postgres de linux

# exit

Esto nos regresará al prompt de nuestro usuario, root si estamos en Ubuntu Server

5. Descargar las fuentes de OpenERP 6.1

5.1 Debemos de crear una carpeta en donde almacenaremos las fuentes de OpenERP

# mkdir openerp61
# cd openerp61

5.2 Ahora descargaremos el servidor de OpenERP 6.1

# bzr branch lp:openobject-server/6.1 

Esto creará una carpeta llamada 6.1 y va a comenzar a descargar todos las fuentes

5.3 Al finalizar debemos de cambiar el nombre de esa carpeta para no confundirla

# mv 6.1 server

5.4 Descargando los addons que son los módulos necesarios para trabajar

# bzr branch lp:openobject-addons/6.1 

Esto creará una carpeta llamada 6.1 y va a comenzar a descargar todos las fuentes

5.5 Al finalizar debemos de cambiar el nombre de esa carpeta para no confundirla

# mv 6.1 addons

5.6 Descargando el módulo WEB

# bzr branch lp:openerp-web/6.1 

Esto creará una carpeta llamada 6.1 y va a comenzar a descargar todos las fuentes

5.7 Al finalizar debemos de cambiar el nombre de esa carpeta para no confundirla

# mv 6.1 web

Listo ahora tenemos todas las fuentes descargadas listas para ser ejecutadas, si siguieron al pie de la letra este tutorial tendrían esta estructura:

/openerp61
/openerp61/server
/openerp61/addons
/openerp61/web

6. (Solo para Ubuntu Server) Otorgando los permisos requeridos al usuario que ejecutará OpenERP en nuestro servidor

6.1. Nos movemos a la carpeta raiz que contiene la primer carpeta creada llamada openerp61 

# cd ..

6.2 Cambiamos de propietario la carpeta openerp61 al usuario "ubuntu"creado en el punto 3

# chown -R ubuntu:ubuntu openerp61

7. Creando el archivo de configuración

7.1 Nos dirigiremos a la carpeta en donde se encuentra el archivo "ejecutable"de openerp server

# cd openerp61/server

7.2 Creamos un archivo de configuración base para poder modificarlo

# python openerp-server -s -c erp.conf

Para ubuntu server lo hacemos así:

# sudo -u ubuntu python openerp-server -s -c erp.conf

Parar para el servidor y volver a salir al "prompt" presionamos CTRL + C dos veces

7.3 Editando el archivo .conf creado

# nano erp.conf

7.3.1 Buscamos las siguientes lineas en el archivo que se abrió y les ponemos el usuario y password creado en el paso 4.3

db_password = openerp
db_user = openerp

7.3.2 Ahora en el mismo archivo buscamos y modificamos la ruta en donde se configuran los addons, aquí también deberemos ingresar la ruta donde esta el  módulo web

addons_path = /ruta_completa_de_openerp_server/openerp61/addons/,
/ruta_completa_de_openerp_server/openerp61/web/addons/

8. Arrancando el Openerp 6.1

8.1 Para arrancar el servidor simplemente tecleamos 

# python openerp-server -c erp.conf

Para ubuntu server debemos realizarlo así:

# sudo -u ubuntu python openerp-server -c erp.conf

Ahora el servidor debe estar corriendo a la perfección

8.2 Para comprobar que el servidor de OpenERP esta funcionando debemos abrir un navegador, de preferencia Google Chrome o Firefox y teclear en la barra de dirección: http://localhost:8069 y nos debe mostrar la pantalla de login.

9. Dejando OpenERP corriendo en segundo plano

9.1 Detenemos el servidor presionando dos veces CTRL + C

9.2 Debemos indicar a OpenErp que el LOG no lo muestre en pantalla si no que lo envíe a un archivo, para ello editamos nuevamente el archivo .conf como lo hicimos en el paso 7.3 buscamos y modificamos la linea:

logfile = openerp61.log

9.3 Arrancamos nuevamente open erp pero de la siguiente manera:

 python openerp-server -c erp.conf &

Para ubuntu server así:

 sudo -u ubuntu python openerp-server -c erp.conf &

De esta forma el servidor se ejecutará en segundo plano y podemos cerrar la terminal o hacer un logout en el sistema y seguirá funcionando

Espero haya sido útil esta información, posteriormente les pondré paso a paso como configurarlo para que arranque al inicio del Servidor.

Saludos.

16 comentarios:

  1. Hola Eric, voy a probarlo y te digo algo,llevo días buscado uno que funcione. Lo que no sé es para que se usa el usuario "ubuntu", saludos.

    ResponderEliminar
  2. El usuario "ubuntu" se utiliza SOLO si estas instalando en Ubuntu Server ya que NO se puede correr OpenERP sobre el usuario "root", si ya tienes otro usuario aparte de "root" puedes usar ese. Saludos.

    ResponderEliminar
  3. Hola Eric,
    En el punto 6, damos permisos al user ubuntu o al openerp?
    Si estamos instalando con ubuntu, ya los tiene.

    ResponderEliminar
  4. En el punto 7.2 no me deja crear el archivo de configuracion, parece logico, ya que el usuario openerp solo existe en la bd.

    (Solo para ubuntu server)
    # sudo -u openerp python openerp-server -s -c erp.conf

    ResponderEliminar
    Respuestas
    1. Que tal Tomás, gracias por las observaciones, así en efecto tienes razón, ya corrijo esa linea, y el error se dio por que antes el usuario que creaba se llamaba "OpenERP" pero era mas confuso por que el usuario de la base de datos se llamaba igual, al hacer el cambio no lo tralicr bien en todo el texto pero después de tu retro ya ha quedado a punto :)

      Eliminar
  5. Me salen los siguientes errores, donde esta mi error?

    WARNING ? openerp.modules.module: module web: module not found
    CRITICAL ? openerp.modules.module: Couldn't load module web
    CRITICAL ? openerp.modules.module: unsupported operand type(s) for +: 'bool' and 'str'
    ERROR ? openerp: Failed to load server-wide module `web`.

    ResponderEliminar
    Respuestas
    1. Hola Carlos,
      En esta dirección hay otra, comparando las dos puedes averiguar que pasa.
      http://www.malagatic.com/blog/item/27-instalaci%C3%B3n-openerp-v6-sobre-ubuntu-1004-lts

      Eliminar
    2. Conseguiste solucionarlo, tengo el mismo problema

      Un saludo

      Eliminar
    3. Eso se debe a que no están direccionando bien los addons en el archivo .conf, yo me dedico a OpenERP y tomo como base esta entrada y siempre funciona al 100%. Verifique de nuevo la ruta de sus ADDONS WEB y verán como todo funciona a la perfección, o por inbox envienme los accesos de su servidor por ssh y con gusto los ayudo. Saludos.

      Eliminar
  6. buenas , al final me sale:
    [2] 24297
    root@fenix-server:~/openerp61/server# 2013-02-05 21:01:46,293 24297 INFO ? openerp: OpenERP version 6.1
    2013-02-05 21:01:46,294 24297 INFO ? openerp: addons paths: /root/openerp61/server/openerp/addons
    2013-02-05 21:01:46,294 24297 INFO ? openerp: database hostname: localhost
    2013-02-05 21:01:46,294 24297 INFO ? openerp: database port: 5432
    2013-02-05 21:01:46,294 24297 INFO ? openerp: database user: ubuntu
    Traceback (most recent call last):
    File "openerp-server", line 248, in
    openerp.service.start_services()
    File "openerp/service/__init__.py", line 65, in start_services
    netrpc_server.init_servers()
    File "openerp/service/netrpc_server.py", line 165, in init_servers
    int(tools.config.get('netrpc_port', 8070)))
    File "openerp/service/netrpc_server.py", line 110, in __init__
    self.socket.bind((self.__interface, self.__port))
    File "", line 1, in bind
    socket.error: [Errno 98] La dirección ya se está usando



    me peudes ayudar

    ResponderEliminar
    Respuestas
    1. Samuel,

      Imagino que ya lo habrás resuelto, pero lo que te sucedía es que ya tenias corriendo otra instancia de OpenERP corriendo y obviamente utilizaba los puertos, la mejor respuesta y más rápida era: Reinicia tu server :)

      Eliminar
  7. Erick Excelente, funciono de maravilla !!!

    ahora como le hago para que inicie de manera automatica ???

    ResponderEliminar
    Respuestas
    1. http://misnotasdelinux.blogspot.mx/2013/03/iniciar-cualquier-aplicacion-como.html

      Eliminar
  8. Muchas gracias por compartir tu conocimiento. Me sirvió a la perfección.

    ResponderEliminar
  9. os dejo un manual probado al 100x100 de como instalar openerp 6.1 en ubuntu 12.0.4

    <a href="http://www.infoacp.es/servicios/desarrollo-openerp/11-documentacion-tecnica/42-instalacion-de-openerp-server-6-1-en-ubuntu-12-0-4>Instalar openerp en ubuntu </a>

    ResponderEliminar