domingo, 13 de abril de 2014

Instalación OpenERP 7 en Ubuntu y localización mexicana

Instalación OpenERP 7 en Ubuntu y localización mexicana

On October 14, 2013
Esta es una guía para instalar OpenERP 7, dentro de las ventajas de este método de instalación se encuentra:
  • Permite actualizar OpenERP 7 cuando salen nuevas mejoras
  • Permite tener múltiples instancias de OpenERP en un mismo servidor
  • Mejora la productividad del desarrollo de nuevos módulos

Se espera que el usuario tenga conocimientos básicos de comandos Linux y administración de permisos y usuarios así como una cuenta con permisos de administración para la parte de actualización de dependencias y creación de script de arranque automático con el arranque del servidor.
Para comenzar debemos tener presentes los siguientes datos:
  • Nombre de la Instancia (palabra o nombre del usuario que ejecutará openerp, para efectos de la creación de los scripts de arranque y de administración de instalaciones en el server): openerp7
  • Usuario que ejecutará OpenERP: openerp7
  • Usuario de conexión a BD: openerp7
  • Password del Usuario de conexión a BD: openerp7
  • Puerto de conexión a BD: 5432
  • Servidor de BD: 127.0.0.1
  • Puerto XMLRPC de OpenERP: 8069
  • Puerto NETRPC de OpenERP: 8070
  • Puerto XMLRPCS de OpenERP: 8071

1. Creamos el usuario que ejecutará OpenERP 7

Todos los pasos pueden ser ejecutados vía terminal remotamente mediante ssh para ello basta conectarnos con un usuario con características de ejecución del comando sudo mediante la instrucción:
ssh usuario_administrador@direccionservidor
o bien si se encuentra en el equipo con linux mediante la apertura de una terminal.
Creamos el usuario que ejecutará el openerp y al final este usuario no será necesario que tenga permisos administrativos sobre el server:
1
2
3
useradd -m -s /bin/bash openerp7
usermod -aG sudo openerp7
sudo passwd openerp7
Password: openerp7  (se sugiere elegir otro con mejor seguridad)
nos conectamos como el usuario que acabamos de crear:
1
sudo su - openerp7

2. Crear estructura de directorios

Conectados como openerp7 creamos la estructura de carpetas donde estará OpenERP 7:
1
2
3
4
5
6
7
mkdir -p ~/start/conf
mkdir -p ~/start/log
mkdir -p ~/start/run
mkdir -p ~/addons
mkdir -p ~/addons_linked
mkdir -p ~/tmp
mkdir -p ~/sources
Donde:
~/start/conf – Archivo de configuración de openerp
~/start/log – Archivos de log de errores y mensajes de ejecución de openerp
~/start/run – Archivo de Proccess ID del sistema sobre el cual corre actualmente openerp (si openerp no está corriendo esta carpeta estará vacía)
~/addons – Addons que desarrollamos o Addons de otras localizaciones o para hacer pruebas
~/addons_linked – Todos los addons disponibles en tiempo de ejecución para OpenERP (ligas simbólicas a los módulos)
~/sources – Códigos fuente de OpenERP 7, Addons OpenERP oficiales y Addons WEB
Adicionalmente se creará más adelante una liga simbólica ~/openerp que apuntará a nuestra versión actual de OpenERP 7 descargada.

3. Instalar Dependencias en el servidor/equipo Linux

Actualizamos repositorios de descarga de Ubuntu

1
sudo apt-get update

Configurar el servidor/equipo para español México

Configuración de lenguaje español agregar las siguientes líneas a los archivos /etc/environment y /etc/default/locale:
1
2
3
export LANG=es_MX.UTF-8
export LANGUAGE=es_MX.UTF-8
export LC_ALL=es_MX.UTF-8
Mediante los siguientes comandos
1
2
sudo vi /etc/environment
sudo vi /etc/default/locale
Para saber más del editor vi puede ir al tema: Cómo usar el editor vi
Reconfigurar locales para el lenguaje español México
1
2
3
4
sudo locale-gen es_MX.UTF-8
sudo dpkg-reconfigure locales
sudo apt-get install language-pack-es
sudo apt-get install language-pack-es-base

Instalar software

Bazaar (para descarga de openerp y módulos extra desde el repositorio oficial launchpad)

1
sudo apt-get install bzr

Manejador de base de datos PostgreSQL para alojar los datos de OpenERP

1
sudo apt-get install postgresql

Dependencias de python y librerías (indique S cuando se lo soliciten para aceptar su instalación)

1
2
3
4
5
6
7
sudo apt-get install python-dateutil python-feedparser python-gdata python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi
sudo apt-get install python-unittest2 python-mock python-docutils python-jinja2
cd ~/sources
wget http://gdata-python-client.googlecode.com/files/gdata-2.0.17.tar.gz
tar zxvf gdata-2.0.17.tar.gz
cd ~sources/gdata-2.0.17/
sudo python setup.py install

Crear usuario de conexión PostgreSQL

1
2
3
4
5
6
sudo su - postgres
createuser openerp7
psql
 postgres=# alter role openerp7 with password 'openerp7';
q
exit
* El usuario y passwords pueden y deben ser elegidos diferentes por seguridad.

4. Descargar la última versión de OpenERP 7 addons y WEB

Descargar la versión de OpenERP Server 7.0

1
2
3
4
cd ~/sources
bzr init openobject-server
cd openobject-server
bzr branch lp:openobject-server/7.0 openobject-server

Descargar la versión de OpenERP WEB 7.0

1
2
3
4
cd ~/sources
bzr init openerp-web
cd openerp-web
bzr branch lp:openerp-web/7.0 openerp-web

Descargar la versión de OpenERP Addons 7.0

1
2
3
4
cd ~/sources
bzr init openobject-addons
cd openobject-addons
bzr branch lp:openobject-addons/7.0

Creamos la estructura de openerp7 mediante ligas simbólicas (esto nos permite un mayor control al momento de instalar actualizaciones)

1
2
3
ln -sf ~/sources/openerp-web/addons/?* ~/addons_linked/
ln -sf ~/sources/openobject-addons/?* ~/addons_linked/
ln -sf ~/sources/openobject-server/ ~/openerp

Descargar la última versión de localización mexicana desde launchpad para OpenERP7

1
2
3
cd ~/addons
bzr branch lp:openerp-mexico-localization/7.0 mexico-localizacion-7.0
ln -sf ~/addons/mexico-localizacion-7.0/* ~/addons_linked/

5. Crear archivo de configuración de OpenERP 7

Una vez ejecutado por primera vez, este comando crea un archivo en el home directory del usuario .openerp_serverrc
Este archivo de configuracion debe ser colocado en el directorio de configuración: ~/start/conf
Para nuestro ejemplo:
1
python ~/openerp/openerp-server --db_host=127.0.0.1 --db_port=5432 -r openerp7 -w openerp7 --addons-path=~/addons_linked --xmlrpc-port=8069 --netrpc-port=8070 --xmlrpcs-port=8071 --pidfile=$HOME/start/run/openerp-server-openerp7.pid --logfile=$HOME/start/log/openerp-server-openerp7.log -s --stop-after-init
Copiamos el archivo generado:
1
cp ~/.openerp_serverrc ~/start/conf/openerp-server-openerp7.conf
Los parámetros que acabamos de usar en general son:
1
2
python ~/openerp/openerp-server --db_host=DB_HOST --db_port=DB_HOST_PORT -r USER_PSQL -w PWD_USER_PSQL --addons-path=$HOME/addons_linked --xmlrpc-port=XMLRPC_PORT --netrpc-port=NETRPC_PORT --xmlrpcs-port=XMLRPCS_PORT --pidfile=$HOME/start/run/openerp-server-INSTANCIA.pid --logfile=$HOME/start/log/openerp-server-INSTANCIA.log -s --stop-after-init
cp ~/.openerp_serverrc ~/start/conf/openerp-server-INSTANCIA.conf
Donde:
DB_HOST = Direccion IP donde se alojarán los datos de OpenERP (Servidor PostgreSQL)
DB_HOST_PORT = Puerto de acceso al servidor PostgreSQL
USER_PSQL = Usuario que usará OpenERP para conectarse al servidor PostgreSQL
PWD_USER_PSQL = Password para conectarse con el usuario PostgreSQL
XMLRPC_PORT = Puerto para transacciones con el protocolo XMLRPC
NETRPC_PORT = Puerto para transacciones con el protocolo NETRPC
XMLRPCS_PORT = Puerto para transacciones con el protocolo XMLRPC seguras
INSTANCIA = nombre de la instancia a ejecutar
Crear scripts de arranque y paro de OpenERP
Con su editor favorito crear el archivo: ~/start/start-openerp7-server.sh
1
vi ~/start/start-openerp-server-openerp7
Agregar las siguientes líneas al archivo:
1
2
3
4
5
6
7
#Ejecutar normalmente con los parámetros indicados en el archivo de configuración</pre>
export OPENERP_PATH=/home/openerp7
export OPENERP_START_PATH=/home/openerp7/start
export OPENERP_SERVER_PATH=/home/openerp7/openerp
export ADDONS_PATH=/home/openerp7/addons_linked
<pre>
$OPENERP_SERVER_PATH/openerp-server -c $OPENERP_START_PATH/conf/openerp-server-openerp7.conf &
Posteriormente cambiar los permisos para que nos permita ejecutarlo:
1
chmod 755 ~/start/start-openerp-server-openerp7.sh

6. Crear scripts de arranque automático al arranque del server

Como administrador y con su editor favorito crear el archivo: /etc/init.d/openerp-server-openerp7
1
sudo vi /etc/init.d/openerp-server-openerp7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/sh
### BEGIN INIT INFO
# Provides:     openerp-server-openerp7
# Required-Start:   $remote_fs $syslog
# Required-Stop:    $remote_fs $syslog
# Should-Start:     $network
# Should-Stop:      $network
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description:    Enterprise Resource Management software
# Description:      Open ERP is a complete ERP and CRM software.
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/home/openerp7
DAEMON="/home/openerp7/start/start-openerp-server-openerp7.sh"
NAME=openerp-server-openerp7
DESC=openerp-server-openerp7
USER=openerp7
test -x ${DAEMON} || exit 0
set -e
case "${1}" in
    start)
        echo -n "Starting ${DESC}: "
        su ${USER} -c ${DAEMON}
        echo "${NAME}."
        ;;
    stop)
        echo -n "Stopping ${DESC}: "
        start-stop-daemon --stop --quiet --pidfile /home/openerp7/start/run/openerp-server-openerp7.pid
            --oknodo
        echo "${NAME}."
        ;;
    restart|force-reload)
        echo -n "Restarting ${DESC}: "
        start-stop-daemon --stop --quiet --pidfile /home/openerp7/start/run/openerp-server-openerp7.pid
            --oknodo
        sleep 3
        su ${USER} -c ${DAEMON}
        echo "${NAME}."
        ;;
    *)
        N=/etc/init.d/${NAME}
        echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac
exit 0
Le indicamos al Servidor que arranque el script cuando arranque el server:
1
sudo update-rc.d openerp-server-openerp7 defaults

7. Arranque de OpenERP 7 por primera vez

1
~/start/start-openerp-server-openerp7.sh
En nuestro navegador WEB Chrome o Firefox:
http://servidor_openerp:8069
Si todo se encuentra bien aparecerá la pantalla de login o la pantalla para crear una nueva base de datos.

8. Por seguridad quitamos al usuario del grupo sudo

1
usermod -R sudo openerp7

9. Resolución de problemas si no arranca

Revisar que el proceso se encuentra trabajando.
1
ps aux | grep openerp
Revisar el log del servidor openerp y atender los problemas que se registran.
1
more ~/start/log/openerp-server-openerp7.log

Tomado de
Real Systems » Instalación OpenERP 7 en Ubuntu y localización mexicana


No hay comentarios:

Publicar un comentario