viernes, 9 de octubre de 2015

Instalar Odoo 9 en Debian 8.x desde cero

Instalar Odoo 9 en Debian 8.1 desde cero.

(Sin el error: "No se puede ejecutar lessc" o "Could not execute command 'lessc'")

Como sabemos, hace unos días se liberó la nueva versión de Odoo, la versión 9, tiene algunas mejoras importantes sobre todo en diseño.

A continuación muestro paso a paso la instalación de Odoo 9 sobre debian 8.1


1. Instalación de todas las dependencias de Odoo necesarias y otros paquetes requeridos, suponemos que estamos firmados a nuestro servidor con el usuario "root", para instalar los paquetes simplemente copiamos y pegamos en nuestra terminal todo lo siguiente:

# apt-get -y update && apt-get -y upgrade && apt-get -y install 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 python-requests git-core sudo python-decorator python-pypdf python-passlib xsltproc xmlstarlet python-soappy python-qrencode curl npm && curl -sL https://deb.nodesource.com/setup | bash - && apt-get -y install nodejs && npm install -g npm && npm install -g less less-plugin-clean-css

2. Creación de un usuario para ejecutar Odoo satisfactoriamente. Creamos un usuario para correr Odoo desde él, por seguridad Odoo no corre sobre el usuario "root".

# adduser admin
# adduser admin sudo


3. Ahora necesitamos configurar los archivos de la base de datos. Configuramos el acceso a la base de datos desde cualquier IP y los permisos necesarios para hacerlo.

2.1 Editaremos el archivo postgresql

 Debian 8.1 # nano /etc/postgresql/9.4/main/postgresql.conf

Dependiendo de la versión de postgres solo cambiará esta en la ruta como pueden ver: 8.4, 9.1, 9.3, 9.4 etc.

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

Debian 8.1 # nano /etc/postgresql/9.4/main/pg_hba.conf


Dependiendo de la versión de postgres solo cambiará esta en la ruta como pueden ver: 8.4, 9.1, 9.3, 9.4 etc.

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

####################################################################
# "local" is for Unix domain socket connections only
local   all         all                               trust
host    all         all         127.0.0.1/32          trust
# IPv4 remote connections:
host    all         all         0.0.0.0/0        md5
# IPv6 remote connections:
host    all         all         ::1/128               reject
####################################################################

2.5 Reiniciando postgres

# service postgresql restart

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.

4.1 Entraremos con el usuario postgresq para poder crear un usuario que pueda acceder a las bases de datos

# su - postgres

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

# createuser --createdb --no-createrole --pwprompt odoo9

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

4.3 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 Odoo de git.

5.1 Primero nos firmamos con el usuario que correrá Odoo para que las carpetas que se creen al descargar las fuentes tengan los permisos correctos.

# su - admin

5.2 Descargamos las fuentes con el siguiente comando.

git clone -b 9.0 https://github.com/odoo/odoo.git odoo9

Lo anterior nos descargará el servidor, los addons y la parte web creando una carpeta llamada: odoo en la carpeta home del usuario admin. Mucho más fácil que con Launchpad :)

6. Creando el archivo de configuración

6.1 Entramos a la carpeta de odoo.

# cd odoo9

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

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

6.2 Lo anterior nos levanta Odoo creando un archivo erp.conf, para salir de Odoo tecleamos dos veces CTRL+C.

6.3 Editando el archivo .conf creado

# nano erp.conf

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

db_password = odoo9
db_user = odoo9

7. Arrancando Odoo

7.1 Para arrancar el servidor simplemente tecleamos 

# python openerp-server -c erp.conf

Ahora el servidor debe estar corriendo a la perfección

7.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://ip_de_su_servidor:8069 o la dirección IP que tengamos en nuestro servidor y nos debe mostrar la pantalla de login de Odoo.

8. Si desean dejar odoo como servicio deben ver otra entrada de este tutorial donde se explica a detalle como realizarlo.

Saludos

9 comentarios:

  1. Muchas Gracias, la verdad es que uno se sorprende con las opciones que tiene Linux. Tal vez es mejor contratar un Hosting Linux antes que otros, parece más seguro.

    ResponderEliminar
  2. Perfecto Muchas gracias , ahora cuando creo un modulo donde lo coloco ? y que ruta pongo en la consola ?

    ResponderEliminar
    Respuestas
    1. Deberías crear una carpeta para guardar allí tus módulos y en el archivo .conf agregar en el parámetro addons_path esa ruta completa:

      Ej: addons_path = /home/ubuntu/odoo8/server/openerp/addons,/home/ubuntu/odoo8/server/addons,/home/ubuntu/odoo8/addons/custom,/home/ubuntu/odoo8/addons/experts_addons

      Y arrancas el servidor normalmente y listo.

      Eliminar
  3. Hola,
    Gracias por el aporte funcionó genial, lo único es que no me ha preguntado por el rol.
    En cuanto a crear la carpeta para guardar los módulos supongo que hay que hacerlo en el fichero erp.cof ?

    Un saludo Eric y gracias.

    ResponderEliminar
    Respuestas
    1. Si te refieres al rol de postgres, en efecto conforme pasa el tiempo los paquetes cambian su comportamiento y hoy la verión de Postgres no te pregunta el rol al crear el usuario, si requieres que el usuario sea "super usuario" en Postgres debes hacerlo desde la consola: psql y hacerle un ALTER ROLE.

      Saludos

      Eliminar
  4. Fantástica entrada. Todo funcionó a la perfección. Gracias

    ResponderEliminar
  5. espectacular!, deberías enseñar a la gente de ODOO a hacer manuales de instalación!!!, lo de odoo oficial nunca me funcionó pero lo tuyo si, gracias!

    ResponderEliminar
    Respuestas
    1. Jaja no, la gente Odoo son unos masters, aunque si debo confesar que aveces he tenido el mismo sentimiento que los tutoriales que hacen no son del todo claros, mas bien tienes que conocer mucho de Linux en general para aprovecharlos y pudieran hacerlos mas sencillos :)

      Eliminar