Buen día tengan todos.
En esta entrada, como parte de una actualización a la pasada guía en donde les enseñe los pasos de instalación para OpenERP 7.0 en Ubuntu 12.04, Ahora lo haremos para Odoo sobre Ubuntu Server 14.04, ademas, otra característica, es que el código será descargado de los repositorios de Odoo en GitHub. Y debido a esto, podremos usar cualquiera de sus versiones, para efecto de esta guía, probaremos la versión de OpenERP 7.0 y Odoo 8.0.
Instalar dependencias
supervisor@Server:~$ sudo apt-get install bzr bzrtools graphviz postgresql postgresql-client-common python python-dateutil python-dev python-egenix-mxdatetime python-egenix-mxdatetime python-feedparser python-gdata python-hippocanvas python-imaging python-ldap python-libxml2 python-libxslt1 python-lxml python-mako python-matplotlib python-numpy python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-setuptools python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-psutil python-docutils docutils-common docutils-doc python-jinja2 python-mock python-pygments python-roman python-unittest2 openssl xmlstarlet xsltproc python-soappy git python-decorator python-pypdf
Configuración de PostgreSQL
supervisor@Server:~$ sudo su postgres postgres@Server:/home/supervisor$ psql --version psql (PostgreSQL) 9.3.5 postgres@Server:/home/supervisor$ exit supervisor@Server:~$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
Agregar la linea:
local all openerp md5
Reiniciar el servidor de Postgres:
supervisor@Server:~$ sudo service postgresql restart * Restarting PostgreSQL 9.3 database server [ OK ]
Creacion de Usuario openerp
Se deben crear los usuarios openerp, tanto en Postgres como en Ubuntu.
Crear el usuario en Postgres:
supervisor@Server:~$ sudo su postgres postgres@Server:/home/supervisor$ createuser -d -R -S -P openerp Enter password for new role: Enter it again: postgres@Server:/home/supervisor$ exit
Crear el usuario en Linux Ubuntu:
supervisor@Server:~$ sudo adduser openerp Añadiendo el usuario `openerp' ... Añadiendo el nuevo grupo `openerp' (1001) ... Añadiendo el nuevo usuario `openerp' (1001) con grupo `openerp' ... Creando el directorio personal `/home/openerp' ... Copiando los ficheros desde `/etc/skel' ... no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: passwd: password updated successfully Changing the user information for openerp Enter the new value, or press ENTER for the default Full Name []: OpenERP System User Room Number []: Work Phone []: Home Phone []: Other []: ¿Es correcta la información? [S/n] s
Creación de Directorios
Antes de descargar el código, crearemos una estructura de directorios para alojar él código del sistema Odoo, para eso crearemos una estructura similar a la siguiente:
supervisor@Server:~$ sudo su openerp openerp@Server:/home/supervisor$ mkdir /home/openerp/instancias/estable/odoo -p openerp@Server:/home/supervisor$ cd /home/openerp/instancias/estable/odoo/ openerp@Server:~/instancias/estable/odoo$
Descarga de Fuentes de Odoo desde GitHub
openerp@Server:~/instancias/estable/odoo$ git clone https://github.com/odoo/odoo.git server Clonar en «server»... remote: Counting objects: 1379020, done. remote: Compressing objects: 100% (156/156), done. remote: Total 1379020 (delta 118), reused 91 (delta 63) Receiving objects: 100% (1379020/1379020), 528.83 MiB | 307.00 KiB/s, done. Resolving deltas: 100% (1167424/1167424), done. Checking connectivity... hecho. Checking out files: 100% (13568/13568), done. openerp@Server:~/instancias/estable/odoo/server$ git status En la rama 8.0 Your branch is up-to-date with 'origin/8.0'. nothing to commit, working directory clean
Por default, la rama seleccionada es para la versión de Odoo 8.0, pero en este caso, mi objetivo es usar la versión 7.0, entonces cambio a la rama estable para dicha versión 7.0:
openerp@Server:~/instancias/estable/odoo/server$ git branch * 8.0 openerp@Server:~/instancias/estable/odoo/server$ git checkout 7.0 Checking out files: 100% (14043/14043), done. Branch 7.0 set up to track remote branch 7.0 from origin. Switched to a new branch '7.0' openerp@Server:~/instancias/estable/odoo/server$ git branch * 7.0 8.0
Probando el servidor OpenERP 7.0
Observación: En el paso anterior, al descargar el código de GitHub, nos hemos posicionado en la rama 7.0. Es por eso que la versión que estaremos probando con la ejecucion de las instrucciones siguientes, es la versión 7.0.
Notase al final de la instrucción el parámetro -s y ténganlo en cuenta para un paso mas adelante.
openerp@Server:~/instancias/estable/odoo/server$ ./openerp-server -w openerp -r openerp --addons-path=addons -s 2014-10-10 05:51:31,716 2786 INFO ? openerp: OpenERP version 7.0 2014-10-10 05:51:31,716 2786 INFO ? openerp: addons paths: /home/openerp/instancias/estable/odoo/server/addons 2014-10-10 05:51:31,716 2786 INFO ? openerp: database hostname: localhost 2014-10-10 05:51:31,717 2786 INFO ? openerp: database port: 5432 2014-10-10 05:51:31,717 2786 INFO ? openerp: database user: openerp 2014-10-10 05:51:35,141 2786 INFO ? openerp.addons.google_docs.google_docs: GData lib version `%s GData-Python/2.0.18` detected 2014-10-10 05:51:37,909 2786 INFO ? openerp.service.wsgi_server: HTTP service (werkzeug) running on 0.0.0.0:8069 2014-10-10 05:51:37,909 2786 INFO ? openerp: OpenERP server is running, waiting for connections...
Contro + C para detener el servidor.
Probando el servidor Odoo 8.0
Posicionarnos en la rama 8.0:
openerp@Server:~/instancias/estable/odoo/server$ git checkout 8.0
Ejecutando el servidor:
openerp@Server:~/instancias/estable/odoo/server$ ./openerp-server --addons-path=addons -w openerp -r openerp 2014-10-10 06:29:07,636 5645 INFO ? openerp: OpenERP version 8.0 2014-10-10 06:29:07,636 5645 INFO ? openerp: addons paths: ['/home/openerp/.local/share/Odoo/addons/8.0', u'/home/openerp/instancias/estable/odoo/server/addons', '/home/openerp/instancias/estable/odoo/server/openerp/addons'] 2014-10-10 06:29:07,637 5645 INFO ? openerp: database hostname: localhost 2014-10-10 06:29:07,637 5645 INFO ? openerp: database port: 5432 2014-10-10 06:29:07,637 5645 INFO ? openerp: database user: openerp 2014-10-10 06:29:07,754 5645 INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069
Control + C para detenerlo.
Crear directorio de archivos de Configuración
openerp@Server:~/instancias/estable/odoo/server$ mkdir /home/openerp/instancias/config -p
Ahora, en el paso anterior, al momento de ejecutar y probar la version de OpenERP 7.0, entonces, hice la aclaración de que al final de la instrucción le pasamos el parametro -s y esto se hizo con la intencion de que se creara en automático el archivo de configuración en base a los parámetros de dicha ejecución. Por lo que sigue ahora es copiar dicho archivo generado al directorio antes creado para este fin.
Entonces, solo por aclarar, mi intención es dejar funcionando en este servidor la versión 7.0, pero si ustedes quieren dejar funcionando la version de Odoo 8.0, entonces basta con ejecutar de nueva cuenta la linea que usamos para probar Odoo 8.0, pero agregando la opcion -s:
openerp@Server:~/instancias/estable/odoo/server$ git checkout 8.0 openerp@Server:~/instancias/estable/odoo/server$ ./openerp-server --addons-path=addons -w openerp -r openerp -s
Entonces, como comentaba, voy a copiar el archivo a mi directorio de archivos de configuración:
openerp@Server:~/instancias/estable/odoo/server$ cp ~/.openerp_serverrc /home/openerp/instancias/config/estable_70.conf
Crear directorio para logs del sistema
openerp@Server:~/instancias/estable/odoo/server$ mkdir /home/openerp/instancias/logs openerp@Server:~/instancias/estable/odoo/server$ nano /home/openerp/instancias/config/estable_70.conf
Ahora, editar el archivo de configuración y buscar la linea del parámetro «logfile» y complementarla como sigue:
logfile = /home/openerp/instancias/logs/system.log
Generar un servicio del sistema para ejecutar OpenERP al inicio del servidor
Script de ejecucion de OpenERP:
openerp@Server:~/instancias/estable/odoo/server$ exit supervisor@Server:~$ nano openerp-server
Pegar el contenido siguiente:
#!/bin/sh ### BEGIN INIT INFO # Provides: openerp-server # Required-Start: $syslog # Required-Stop: $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 NAME=openerp-server DESC=openerp-server SERVEREXE=openerp-server LOG=TRUE # path al directorio de instancias de OpenERP OERPPATH=/home/openerp/instancias # Default OpenERP server python executable DAEMON=${OERPPATH}/estable/odoo/server/${SERVEREXE} # Default server config file CONFIGFILE=${OERPPATH}/config/estable_70.conf # Specify the user name (Default: openerp). USER=openerp # Assign order (start, stop, restart|force-reload, status)to $ORDER if [ -z $1 ]; then N=/etc/init.d/${NAME} echo "Usage: ${NAME} {start|stop|restart|force-reload|status} [openerp-options ]" >&2 exit 1 fi ORDER="${1}" shift # Additional options that are passed to the Daemon. PARAM="" if [ $# -ge 1 ]; then while [ ! -z "${1}" ]; do PARAM="${PARAM} ${1}" shift done fi test -x ${DAEMON} || exit 0 set -e start_daemon () { #Comprobamos que el usuario que esta ejecutando el comando es root. if [ $(whoami) != "root" ]; then echo "Por favor, ejecuta el comando como superusuario (sudo)" exit 1 fi if [ -f ${PIDFILE} ]; then echo "${NAME} already running: `cat ${PIDFILE}`" return fi echo -n "Starting ${DESC}: " if [ $LOG = "TRUE" ] ; then echo "\nstart-stop-daemon --start --pidfile ${PIDFILE} --chuid ${USER} --make-pidfile --exec ${DAEMON} " start-stop-daemon --start --oknodo --background --user ${USER} --chuid ${USER} --name ${NAME} --pidfile ${PIDFILE} --make-pidfile --startas ${DAEMON} -- ${DAEMON_OPTS} else start-stop-daemon --start --oknodo --background --user ${USER} --chuid ${USER} --name ${NAME} --pidfile ${PIDFILE} --make-pidfile --startas ${DAEMON} -- ${DAEMON_OPTS} fi echo "${NAME}: `cat ${PIDFILE}`: running." } stop_daemon () { #Comprobamos que el usuario es root. if [ $(whoami) != "root" ]; then echo "Por favor, ejecuta el comando como superusuario (sudo)" exit 1 fi if [ ! -f ${PIDFILE} ]; then echo "${NAME}: not running" return fi echo -n "Stopping ${DESC}: " start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} --retry 5 echo "${NAME}: `cat ${PIDFILE}`: stopped." rm -f ${PIDFILE} # remove pidfile } status_daemon(){ echo -n "Checking ${DESC} ${SERVER}: " if [ -f ${PIDFILE} ]; then echo "`cat ${PIDFILE}` running." else echo "stopped." fi } case "${ORDER}" in start) PIDFILE="/var/run/${NAME}.pid" DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}" start_daemon ;; stop) PIDFILE="/var/run/${NAME}.pid" DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}" stop_daemon ;; restart|force-reload) PIDFILE="/var/run/${NAME}.pid" DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}" stop_daemon start_daemon ;; status) PIDFILE="/var/run/${NAME}.pid" status_daemon ;; *) N=/etc/init.d/${NAME} echo "Usage: ${NAME} {start|stop|restart|force-reload|status} [openerp-options]" >&2 exit 1 ;; esac exit 0
Guardar cambios.
Despues, copiar el script de ejecuacion a /etc/init.d/
supervisor@Server:~$ sudo cp openerp-server /etc/init.d/
Agregar permisos de ejecución al Script:
supervisor@Server:~$ sudo chmod +x /etc/init.d/openerp-server
Agregar el script ejecutable como un servicio:
supervisor@Server:~$ sudo update-rc.d openerp-server defaults Adding system startup for /etc/init.d/openerp-server ... /etc/rc0.d/K20openerp-server -> ../init.d/openerp-server /etc/rc1.d/K20openerp-server -> ../init.d/openerp-server /etc/rc6.d/K20openerp-server -> ../init.d/openerp-server /etc/rc2.d/S20openerp-server -> ../init.d/openerp-server /etc/rc3.d/S20openerp-server -> ../init.d/openerp-server /etc/rc4.d/S20openerp-server -> ../init.d/openerp-server /etc/rc5.d/S20openerp-server -> ../init.d/openerp-server
Arrancar, Reiniciar, Detener el servicio de OpenERP
Inicio:
supervisor@Server:~$ sudo service openerp-server start
Reincio:
supervisor@Server:~$ sudo service openerp-server restart
Detener Servidor OpenERP:
supervisor@Server:~$ sudo service openerp-server stop
Con esto tenemos una instalación funcional básica de OpenERP 7.0 y Odoo 8.0, en la cual ya podremos instalar módulos, configurar y probar el potencial de esta herramienta.
Sin mas por el momento, me despido, suerte y hasta la próxima.
Espero muchos comentarios al respecto de esta guía y espero poder ir aportando aun mas temas sobre Odoo – OpenERP.
Saludos cordiales!