lunes, 14 de octubre de 2013

Instalación de OpenERP 7.0 desde cero para Ubuntu y Debian

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

1. Instalación de todas las dependencias de OpenERP 7.0 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-vobject python-zsi python-xlwt python-hippocanvas python-profiler python-dev python-setuptools postgresql postgresql-client-common python-yaml python-mako gcc mc python-babel python-feedparser python-reportlab-accel python-zsi python-openssl python-jinja2 python-unittest2 python-mock  python-docutils lptools make python-psutil python-paramiko poppler-utils python-pdftools antiword python-jinja2

Si están en debian omitan el sudo en todos los comandos si es que lo están haciendo desde root, si están acostumbrados al uso de "sudo" pueden instalar esa funcionalidad en debian así:

# apt-get install sudo

Y una vez creado el usuario extra para levantar Openerp del paso 3 pueden darle a este usuario privilegios administrativos así:

# adduser admin sudo

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

2.1 Editaremos el archivo postgresql

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

Ubuntu 11.10 / 12.04 / 13.04 y Debian 7.0
# 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 y Debian 6.0
# sudo nano /etc/postgresql/8.4/main/pg_hba.conf

Ubuntu 11.10 / 12.04 / 13.04 y Debian 7.0
# 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 y Debian 6.0
# sudo /etc/init.d/postgresql-8.4 restart

Ubuntu 11.10 / 12.04 / 13.04 y Debian 7.0
# sudo /etc/init.d/postgresql restart

3. (Solo para Ubuntu Server o Debian) Agregar un usuario para poder ejecutar el OpenERP sin privilegios de root por cuestiones de seguridad, el nombre del usuario para este ejemplo será "admin"

# sudo adduser admin

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 o Debian

5. Descargar las fuentes de OpenERP 6.1

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

# mkdir openerp7
# cd openerp7

5.2 Ahora descargaremos el servidor de OpenERP 7

# bzr branch lp:openobject-server/7.0 server 

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

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

# bzr branch lp:openobject-addons/7.0 addons 

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

5.6 Descargando el módulo WEB

# bzr branch lp:openerp-web/7.0 web 

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

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

/openerp7/
/openerp7/server
/openerp7/addons
/openerp7/web

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

6.1. Nos movemos a la carpeta raíz que contiene la primer carpeta creada llamada Openerp7 

# cd ..

6.2 Cambiamos de propietario la carpeta Openerp7 al usuario "admin"creado en el punto 3

# chown -R admin:admin openerp7

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 openerp7/server

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

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

Para ubuntu server o debian lo hacemos así:

# sudo -u admin 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 7.0

8.1 Para arrancar el servidor simplemente tecleamos 

# python openerp-server -c erp.conf

Para ubuntu server debemos realizarlo así:

# sudo -u admin 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.

PD. He recibido algunos comentarios por correo solicitando ayuda personalizada, sé que aveces es complicado sobre todo si no se tiene el suficiente conocimiento en Linux por lo tanto me pongo a sus órdenes para instalación de OpenERP o soporte del mismo a un costo razonable, a veces es mejor enfocarse en lo que se requiere hacer y no batallar con cosas que solo se harán una vez.

De igual manera ofrezco servidores muy estables a muy bajo costo para su OpenERP, dedicados y compartidos.