Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Configuración inicial de OpenERP

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Las imágenes han sido cedidas por Servi3, tu experto en OpenERP.

Tras instalar el servidor OpenERP [Instalación de OpenERP 6.0.3 en Debian GNU/Linux] e instalar un cliente [Cómo instalar un cliente de OpenERP en Debian] el siguiente paso es realizar una configuración inicial de OpenERP.

La primera vez que ejecutamos el cliente, indica “¡Base de datos no encontrada, debe crear una!”.
OpenERP
Pulsamos “Cancelar”

Si no hemos asignado una contraseña para admin en openerp-server.conf, (si estás siguiendo mis entradas sobre OpenERP ya está hecho) primero vamos a “Archivo -> Bases de datos -> Contraseña del administrador” para cambiarla.
Hay que tener en cuenta que por omisión la clave del “superadministrador” es ‘admin’ y con ella se puede crear, modificar y BORRAR bases de datos fácilmente. Conclusión: cambia la clave.

Creamos una base de datos para nuestra instalación. Cada BD es una instancia del sistema, que permite sus planes contables, sus varias empresas, sus varios idiomas… Lo normal es tener una instancia en producción y otra(s) para pruebas.
Cada instancia tiene su usuario administrador, lo que puede ser un poco confuso al crear una BD.

Desde “Archivo -> Bases de datos -> Nueva base de datos”
OpenERP
Notas importantes

  • El “Super Administrator Password” es la clave del “super administrador”, es decir el usuario ‘admin’, cuya clave se define en /etc/openerp.conf (que no debe ser legible por cualquiera) y que permite crear y borrar instancias completas.
  • Desmarcar “Load demonstration data” excepto si es para hacer pequeñas pruebas. Incluso para que funcione la localización española -por pequeñas que sean las pruebas- debe estar desmarcado.
  • El “Administrator Password” es la clave del administrador de la instancia que estamos creando.

Tras rellenar los datos, y pulsar “Aceptar” tarda un poquito.
OpenERP

La primera pantalla del asistente nos recuerda los datos que estamos utilizando.
OpenERP

Indicamos interfaz extendida. Si no, no podremos configurar módulos.
OpenERP

Rellenamos los datos básicos de nuestra empresa.
OpenERP
¿Ya sabéis que Servi3 es tu experto en OpenERP?

Elegimos los módulos a instalar. Más adelante podemos instalar más, así que para empezar basta con marcar “Contabilidad y finanzas” que es EL módulo.
OpenERP

Si vamos a instalar en OpenERP los módulos de la localización española es importante saltarnos la definición del plan contable (en ese caso lo haremos más adelante).
OpenERP

Seleccionamos la parte de la contabilidad que deseamos en el sistema.
OpenERP

¡Y por fin hemos terminado y podemos ver OpenERP en funcionamiento!
OpenERP

Ahora, podemos pasar a instalar en OpenERP los módulos de la localización española, configurar la localización española de OpenERP e importar datos en OpenERP.

OpenERP, configurar inicial de OpenERP, Debian

Cómo instalar un cliente de OpenERP en Debian

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Estas entradas se han realizado gracias a la colaboración de Servi3, tu experto en OpenERP.

El cliente de OpenERP a utilizar debe ser de la misma versión que el servidor con el que queremos conectar.
Su instalación es muy sencilla, basta con descargar las fuentes en python y ejecutar:
$ wget http://www.openerp.com/download/stable/source/openerp-client-6.0.3.tar.gz
$ tar xfz openerp-client-6.0.3.tar.gz
$ cd openerp-client-6.0.3/bin/
$ python openerp-client.py

Si se desea, también puede crearse una entrada en el menú del GUI (Gnome, KDE…) que ejecute el comando “python /path_cliente/openerp-client.py”.

Si las estás leyendo por orden, puedes seguir con la configuración inicial de OpenERP.

OpenERP, instalación del cliente, Debian

Instalación de OpenERP 6.0.3 en Debian GNU/Linux

Con esta entrada empiezo una pequeña serie sobre la puesta en marcha y disfrute de OpenERP (antes TinyERP), un ERP de software libre, adaptado a la legislación española y muy completo. [Entradas sobre OpenERP].
Estas entradas se han realizado gracias a la colaboración de Servi3, tu experto en OpenERP.

La documentación oficial recomienda realizar una instalación manual sobre GNU/Linux para las instalaciones en producción. Una instalación manual permite un mayor control sobre la misma, controlando qué módulos están disponibles. Aunque mucha gente usa Ubuntu (una versión LTS), yo recomiendo Debian (estable).

En esta entrada explicaré cómo hacer una buena instalación de OpenERP 6.0.3. sobre un Debian 6.0.3 (¡qué coincidencia!). Sirve igual para sus derivados, como Ubuntu, y prácticamente para cualquier GNU/Linux.
El siguiente paso es instalar un cliente de OpenERP en Debian.
Una vez instalado el servidor, desde el cliente no se distingue si el servidor es un GNU/Linux, un Mac, un Windows… así que el resto de entradas sobre OpenERP sirven para cualquier sistema.
Después debemos hacer una configuración inicial de OpenERP.
Con eso ya estaremos listos para Instalar en OpenERP los módulos de la localización española para su uso conforme a la normativa española (valga la redundancia), donde de paso veremos cómo instalar módulos en general en OpenERP.
Para acabar esta serie veremos cómo configurar la localización española de OpenERP y cómo importar/exportar datos en OpenERP.

La instalación automática, para entornos de prueba o incluso para pequeñas organizaciones, tarda medio minuto con el siguiente comando:
# aptitude install openerp-server
Aunque en el caso de Debian estable, instala la versión anterior (5.x).

La mayor parte de esta entrada se debe a esta explicación de the open sourcerer sobre cómo instalar OpenERP 6 en Ubuntu 10.
De hecho ahí llegan un poco más lejos que aquí y también explican cómo instalar el “servidor web” (que en realidad es un cliente web) y cómo usar conexiones SSL. Otro modo de diferente de cifrar la conexión es usar túneles SSH.

PREPARACIÓN DEL SISTEMA

Actualizamos el sistema e instalamos los paquetes base que vamos a necesitar: Bazaar y Python (2.6.6).
# aptitude update && aptitude safe-upgrade
# aptitude install bzr
# aptitude install python python-psycopg2 python-reportlab python-egenix-mxdatetime python-tz python-pychart python-pydot python-lxml python-vobject python-mako python-pydot python-lxml python-vobject python-yaml python-dateutil python-pychart python-webdav

INSTALACIÓN DE POSTGRESQL (8.4)

Instalamos el motor de base de datos postgres (y un cliente gráfico):
# aptitude install postgresql pgadmin3

Generamos una clave para el usuario postgres:
# passwd postgres

Configuramos el servidor para que acepte conexiones de por usuario/clave:
# vi /etc/postgresql/8.4/main/pg_hba.conf

#local   all         all                               ident
local   all         all                               md5

 
Reiniciamos postgres
# /etc/init.d/postgresql restart
Y abrimos sesión como usuario postgres
# su – postgres

Como usuario postgres verificamos la instalación de postgres:
$ psql -l

                               Listado de base de datos
  Nombre   |  Dueño   | Codificación | Collation  |   Ctype    |      Privilegios      
-----------+----------+--------------+------------+------------+-----------------------
 postgres  | postgres | UTF8         | es_ES.utf8 | es_ES.utf8 | 
 template0 | postgres | UTF8         | es_ES.utf8 | es_ES.utf8 | =c/postgres
                                                               : postgres=CTc/postgres
 template1 | postgres | UTF8         | es_ES.utf8 | es_ES.utf8 | =c/postgres
                                                               : postgres=CTc/postgres
(3 filas)

 
Creamos un usuario de PostgreSQL con contraseña para OpenERP
$ createuser –pwprompt

Ingrese el nombre del rol a agregar: openerp
Ingrese la contraseña para el nuevo rol: 
Ingrésela nuevamente: 
¿Será el nuevo rol un superusuario? (s/n) n
¿Debe permitírsele al rol la creación de bases de datos? (s/n) s
¿Debe permitírsele al rol la creación de otros roles? (s/n) n

 
Verificamos que podemos acceder con el usuario accediendo a la BD postgres
(la BD de OpenERP la crearemos después en la instalación de OpenERP).
$ psql -U openerp -d postgres

Contraseña para usuario openerp: 
psql (8.4.9)
Digite «help» para obtener ayuda.

postgres=> \q

 
Cerramos la sesión del usuario postgres
$ exit

A no ser que solo estemos haciendo pruebas, es fundamental hacer copias de seguridad de PostgreSQL.

INSTALACIÓN DE OPENERP-SERVER

Creamos un usuario de sistema para la aplicación.
# adduser –system –home=/opt/openerp –group openerp
El resto de la instalación lo haremos desde el nuevo directorio de OpenERP.
# cd /opt/openerp

Descargamos las fuentes desde http://www.openerp.com/downloads.
# wget http://www.openerp.com/download/stable/source/openerp-server-6.0.3.tar.gz
Descomprimimos los paquetes
# tar xfz openerp-server-6.0.3.tar.gz
Limpiamos
# rm openerp-*gz
Asignamos el usuario y grupo a todas las fuentes
# chown -R openerp:openerp *

Hacemos una copia del directorio. La idea es mantener en /opt/openerp/server” la versión en producción y disponer de copias de las fuentes en directorios separados para las pruebas y desarrollos.
# cp -Rp openerp-server-6.0.3 server

Configuramos el servidor (basta cambiar ‘********’ por las claves que deseemos).
[Fichero de theopensourcerer]
# vi server/doc/openerp-server.conf

[options]
; This is the password that allows database operations
; Will be written to by the server when password is changed
; !! Keep this file secure !!
admin_passwd = ********

root_path = /opt/openerp/server/bin

without_demo = False
verbose = False

; Database settings
db_user = openerp
db_password = ********
; Please uncomment the following line *after* you have created the
; database. It activates the auto module check on startup.
; db_name = False
db_port = False
db_host = False
db_maxconn = 64

; Networking Settings
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069

netrpc = True
netrpc_interface = 
netrpc_port = 8070

; Uncomment these for xml-rpc over SSL
;xmlrpcs = True
;xmlrpcs_interface =
;xmlrpcs_port = 8071
;secure_pkey_file = /etc/ssl/openerp/server.key
;secure_cert_file = /etc/ssl/openerp/server.crt

; Log settings
logfile = /var/log/openerp/openerp-server.log
syslog = False
logrotate = True
log_level = info

; False prevents the client displaying the list of databases
list_db = True
addons_path = /opt/openerp/server/bin/addons
demo = {}
soap = False
reportgz = False
translate_modules = ['all']

; Static http parameters
static_http_enable = False
static_http_document_root = /var/www/html
static_http_url_prefix = /

; Outbound email configuration
;smtp_user = info@example.com
;email_from = "OpenERP Support" 
;smtp_port = 25
;smtp_password = ********
;smtp_ssl = True
;smtp_server = mail.example.com

 
Preparamos el directorio para los logs:
# mkdir /var/log/openerp
# chown openerp:root /var/log/openerp

Copiamos el fichero de configuración al sistema y ajustamos los permisos.
# cp server/doc/openerp-server.conf /etc/
# chown openerp:root /etc/openerp-server.conf
# chmod 640 /etc/openerp-server.conf

Generamos un fichero para iniciar y parar el servidor.
[Fichero de theopensourcerer]
# vi openerp-server

#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-server
# 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=/bin:/sbin:/usr/bin
DAEMON=/opt/openerp/server/bin/openerp-server.py
NAME=openerp-server
DESC=openerp-server

# Specify the user name (Default: openerp).
USER=openerp

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/openerp-server.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

case "${1}" in
        start)
                echo -n "Starting ${DESC}: "

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        stop)
                echo -n "Stopping ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                echo "${NAME}."
                ;;

        restart|force-reload)
                echo -n "Restarting ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo
      
                sleep 1

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        *)
                N=/etc/init.d/${NAME}
                echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
                exit 1
                ;;
esac

exit 0

 
Preparamos el fichero para que el servidor arranque normalmente.
# cp openerp-server /etc/init.d/
# chmod 755 /etc/init.d/openerp-server
# chown root: /etc/init.d/openerp-server
# update-rc.d openerp-server defaults

Para acabar, iniciamos el sistema:
# /etc/init.d/openerp-server start
Si todo ha ido bien el log nos dirá:
# cat /var/log/openerp/openerp-server.log

[2012-01-13 11:45:55,678][?] INFO:server:OpenERP version - 6.0.3
[2012-01-13 11:45:55,678][?] INFO:server:addons_path - /opt/openerp/server/bin/addons
[2012-01-13 11:45:55,678][?] INFO:server:database hostname - localhost
[2012-01-13 11:45:55,679][?] INFO:server:database port - 5432
[2012-01-13 11:45:55,679][?] INFO:server:database user - openerp
[2012-01-13 11:45:55,679][?] INFO:server:initialising distributed objects services
[2012-01-13 11:45:56,729][?] INFO:web-services:starting HTTP service at 0.0.0.0 port 8069
[2012-01-13 11:45:56,730][?] INFO:web-services:starting HTTPS service at 0.0.0.0 port 8071
[2012-01-13 11:45:56,730][?] INFO:web-services:Registered XML-RPC over HTTP
[2012-01-13 11:45:56,738][?] INFO:web-services:starting NET-RPC service at 0.0.0.0 port 8070
[2012-01-13 11:45:56,738][?] INFO:server:Starting 3 services
[2012-01-13 11:45:56,739][?] INFO:server:OpenERP server is running, waiting for connections...

 
Ahora, como hemos comentado al principio, el siguiente paso es instalar un cliente de OpenERP en Debian.
Después debemos hacer una configuración inicial de OpenERP.
Con eso ya estaremos listos para Instalar en OpenERP los módulos de la localización española para su uso conforme a la normativa española (valga la redundancia), donde de paso veremos cómo instalar módulos en general en OpenERP.
Para acabar esta serie veremos cómo configurar la localización española de OpenERP y cómo importar/exportar datos en OpenERP.

Instalación de OpenERP 6 en Debian GNU/Linux, OpenERP, Debian