La nueva versión de OpenERP 6.1 anuncia una gran cantidad de mejoras incrementales en el producto, además de una completa re-escritura de la interfaz web, que es una mejora enorme y más integrada en el producto que en el caso de su predecesor.
Antes de continuar, debo mencionar que se puede instalar la versión 6.1 en Ubuntu simplemente con un paquete “.deb”. Pero eso no me da el suficiente control sobre donde se instalan las cosas y se restringe la flexibilidad de modificar y personalizar el proceso de instalación por lo cual yo prefiero hacerlo de una forma más manual … (Hay que decir sin embargo que este proceso de instalación solo conlleva 10 -15 minutos una vez montado el equipo anfitrión)
Así que, sin más preámbulos vamos allá:
Paso 1. Preparando el servidor
Podemos realizar una instalación mínima del servidor (se puede instalar el
openssh-server durante el proceso de instalación o instalarlo posteriormente, depende de las preferencias de cada uno).
Después de que el servidor sea reiniciado por primera vez instalamos el paquete
openssh-server (por lo cual podemos conectarnos remotamente) y el paquete denyhosts para añadir protección ante ataques de fuerza bruta. Hay otra serie de aplicaciones disponibles destinadas a la protección : No digo que este sea el mejor, pero funciona y es fácil de configurar y administrar. Si no lo hemos hecho ya, es interesante la creación de claves de seguridad para evitar el tener que estar introduciendo contraseñas. Esto también ayuda a evitar ataques de fuerza bruta.
[NOTA: Esto no es manual de seguridad para su servidor …].
sudo apt-get install openssh-server denyhosts
Ahora asegurémonos de que disponemos de las últimas actualizaciones del sistema:
sudo apt-get update
sudo apt-get dist-upgrade
Aunque no es esencial hacerlo siempre, en este punto es una buena idea reiniciar nuestro servidor y asegurarnos de que todo inicia correctamente y podemos acceder vía ssh.
Ahora estamos preparados para llevar acabo la instalación de OpenERP 6.1.
Paso 2. Creando el usuario que será propietario de OpenERP y llevará a cabo la ejecución de la aplicación
sudo adduser --system --home=/opt/openerp --group openerp
Se trata de un usuario del “sistema”. Es creado para ser propietario de la aplicación y hacerla correr, se presupone que no va a ser un tipo de usuario de una persona física con una sesión de login, etc. En Ubuntu a un usuario del sistema le es asignado un UID por debajo de 1000, no dispone de shell (es actualmente
/bin/false) y su login se encuentra deshabilitado. Debemos tener en cuenta que he especificado como “home” el directorio
/opt/openerp, y es ahí donde se alojará el código del servidor de OpenERP y se crea automáticamente mediante la ejecución del comando anterior. La ubicación del código del servidor es elección de cada uno, pero tengamos en cuenta que si elegimos otra ubicación hemos de modificar algunas de las instrucciones que se llevan a cabo más adelante en este manual.
Una de las preguntas que me realizaron varias veces en el anterior manual de la versión 6.0 fue como hacer correr la aplicación desde la línea de comandos si éste no dispone de shell. Esto se puede llevar a cabo de una manera muy sencilla:
sudo su - openerp -s /bin/bash
Mediante este comando se logueará en la terminal actual el usuario
openerp con privilegios de
Superadministrador (el
“-” entre
su y
openerp es correcto) y usará la shell
/bin/bash. Tras correr este comando nos encontraremos en el directorio
/opt/openerp.
Después de realizar las tareas necesarias podemos salir de la sesión tecleando
exit.
Paso 3. Instando y configurando el servidor de bases de datos PostgreSQL
sudo apt-get install postgresql
Configuramos el usuario postgres para OpenERP:
Nos logueamos como usuario postgres para disponer de los privilegios necesarios en postgresql.
sudo su - postgres
Ahora creamos un usuario de bases de datos. Mediante este usuario OpenERP podrá conectar con PostgreSQL y dispondrá de privilegios para crear y borrar bases de datos. Debemos recordar la contraseña que elijamos para nuestro usuario ya que será necesaria más adelante.
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt openerp
Enter password for new role: ********
Enter it again: ********
Finalmente saldremos de la sesión del usuario postgres mediante el siguiente comando:
exit
Paso 4. Instalando en el servidor las librerías python necesarias reporting. Have added python-simplejson to the package list.
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
Debido a mi experiencia puedo decir que en Ubuntu 10.04 el paquete python-werkzeug es demasiado antiguo y esto puede desembocar en que el servidor no se inicie correctamente. Si estamos relizando la instalación en una versión posterior de Ubuntu posiblemente esté todo OK, pero en el caso contrario podemos realizar lo siguiente.
He visto necesario instalar una versión más reciente de Werkzeug usando la librería PIP para gestión de paquetes python. La herramienta PIP puede ser instalado de la siguiente forma:
sudo apt-get install python-pip
Desinstalamos la versión de Werkzeug suministrada por Ubuntu:
sudo apt-get remove python-werkzeug
Instalamos la versión más reciente:
sudo pip install werkzeug
Una vez realizado esto tenemos satisfechas todas las dependencias para OpenERP 6.1 , incluso las necesarias para la nueva interfaz web.
Paso 5. Instalando el servidor de OpenERP
Yo tiendo a usar el comando
wget para este tipo de cosas y descargar archivos a mi directorio home.
Asegurémonos de que disponemos de la última versión de la aplicación. En el momento de la realización de este artículo la versión es la 6.1-1, cogemos los enlaces de descarga de su pagína de descargas.
Para continuar con la instalación nos posicionamos en el directorio /opt/openerp/ y extraemos el archivo tar.gz allí.
cd /opt/openerp
sudo tar xvf ~/openerp-6.1-1.tar.gz
Lo siguiente es cambiar el propietario de todos los archivos poniendo a openerp como usuario y grupo.
sudo chown -R openerp: *
Y finalmente, lo que hecho es copiar el directorio a otro con un nombre más simple para que no sea necesario estar editando constantemente los scripts de arranque y los archivos de configuración (haciendo uso de una gran imaginación lo he llamado server). Comencé usando enlaces simbólicos, pero me encontré con que al actualizar tiene más sentido para mí mantener sólo una copia de los archivos en un mismo lugar y sobreescribir los cambios. De este modo podemos mantener todo lo necesario como módulos, informes, etc... en el lugar correcto.
sudo cp -a openerp-6.1-1 server
Por ejemplo, pronto tendremos la versión de OpenERP 6.1-2, podemos extraer los archivos en
/opt/openerp/ como hemos realizado arriba. Podemos realizar cualquier prueba que necesitemos, luego repetimos el comando de copia para sobreescribir los modulos necesarios, informes, etc... Una vez satisfecha la actualización si todo es estable podemos proceder al borrado de los antiguos directorios de la versión 6.1-1.
El servidor de OpenERP ha sido instalado. Los últimos pasos que nos quedan para que el sistema esté configurado al 100% son crear un archivo de configuración y un script de arranque para que OpenERP incie y paré el servicio junto con el sistema operativo.
Paso 6. Configurando OpenERP
El archivo de configuración por defecto del servidor (en
/opt/openerp/server/install/) con unos pequeños cambios funciona correctamente, así que simplemente vamos a copiar el archivo donde sea necesario y cambiar el propietario y los permisos:
sudo cp /opt/openerp/server/install/openerp-server.conf /etc/
sudo chown openerp: /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
Los comandos anteriores hacen que el archivo sea propiedad del usuario openerp y escribible por él y solamente de lectura para openerp y root.
Para iniciar el servidor de OpenERP, debemos hacer unos cambios en el archivo de configuración. Si vamos a la parte de arriba del archivo cambiamos la linea
db_password = False por la misma contraseña que hemos creado en el paso 3. Cada cual puede usar el editor de textos que prefiera, yo tiendo a usar nano por ejemplo.
sudo nano /etc/openerp-server.conf
Otra linea que también es recomendable cambiar dentro del archivo de configuración es la que hace referencia al
archivo log :
logfile = /var/log/openerp/openerp-server.log
Una vez terminamos de editar el archivo y lo guardamos, podemos inciar el servidor de OpenERP para confirmar que todo funciona correctamente.
sudo su - openerp -s /bin/bash
/opt/openerp/server/openerp-server
Si vemos unas cuantas líneas de log en las que dice que OpenERP está corriendo y esperando conexiones está todo listo. Podemos proceder a parar el servidor con
CTRL + C y teclear
exit para salir de la sesión.
Si hay errores, tendremos que volver atrás y comprobar donde puede estar el problema.
Paso 7. Instalando el script de inicio
Como último paso necesitamos instalar un script de inicio el cual será usado para que OpenERP se inicie con el servidor y se apague junto a él corriendo la aplicación además con el usuario correcto. Hay un script que podemos usar en
/opt/openerp/server/install/openerp-server.init pero este script necesitará unas pequeñas modificaciones para trabajar de la manera que hemos descrito anteriormente. Aquí hay un
enlace de como lo he modificado para la 6.1-1.
Al igual que hemos hecho con el archivo de configuración hemos de copiar y pegar el contenido de este script en un archivo en
/etc/init.d/ y llamarlo
openerp-server. Además de colocarlo en el
lugar correcto tenemos que hacerlo
ejecutable y poner de
propietario a root:
sudo chmod 755 /etc/init.d/openerp-server
sudo chown root: /etc/init.d/openerp-server
En el archivo de configuración hay una entrada para el archivo log del servidor. Necesitamos crear el directorio que hemos designado si no existe y hacerlo escribible para el usuario openerp:
sudo mkdir /var/log/openerp
sudo chown openerp:root /var/log/openerp
Paso 8. Probando el servidor
Para iniciar el servidor de openerp escribimos en una terminal:
sudo /etc/init.d/openerp-server start
Ahora deberiamos ver la salida del log y ver que el servidor ha iniciado correctamente.
less /var/log/openerp/openerp-server.log
Si experimentamos algún problema al iniciar el servidor debemos volver atrás y realizar las comprobaciones pertinentes. Realmente no hay nada que nos indique la razón de porqué no inicia ...
Si el archivo log parece OK, pondremos en nuestro navegador preferido el dominio o la IP de nuestro servidor de OpenERP (o localhost si nos encontramos en la misma máquina) y usaremos el puerto 8069. La URL quedaría algo como esto:
http://IP_or_domain.com:8069
Y deberiamos ver una ventana como esta:
Ventana de Login de OpenERP 6.1
Lo que sí recomiendo llegados a este punto es cambiar el password de super admin por uno que sea adecuado y seguro (Hacemos click en “
Manage Databases” , un link que hay debajo del recuadro de login). Por defecto este password es “
admin” y conociendo este dato un usuario puede crear, realizar backups, restores e incluso...
¡ borrar bases de datos! Este password está como texto plano en el archivo de configuración en
/etc/openerp-server.conf; Cuando cambiemos y guardemos el nuevo password el archivo
/etc/openerp-server.conf será reescrito y pasará a tener más opciones..
Ahora es momento de comprobar que el servidor de OpenERP también se detiene correctamente:
sudo /etc/init.d/openerp-server stop
Asegurémonos de que se ha parado comprobando el archivo log o mirando la lista de procesos python activos en el servidor.
Paso 9. Automatizando el inicio y apagado de OpenERP
Si todo funciona correctamente, el último paso que debemos dar es crear el script que hace que OpenERP se inicie y se pare junto a Ubuntu Server. Para realizar esto escribimos en la terminal:
sudo update-rc.d openerp-server defaults
Ahora podemos reiniciar el servidor. OpenERP debería estar en funcionamiento tras iniciar sesión en el servidor.
Si escribimos en la terminal:
ps aux | grep openerp deberiamos ver algo parecido a:
openerp 1491 0.1 10.6 207132 53596 ? Sl 22:23 0:02 python /opt/openerp/server/openerp-server -c /etc/openerp-server.conf
Si aparece algo así en nuestra terminal el servidor está corriendo. Y por supuesto también podemos comprobar el archivo del log o conectarnos desde el navegador.
¡Esto es todo!
Agradecer nuevamente a Alan su excelente trabajo y aquí teneis el artículo original de su blog.
http://www.theopensourcerer.com/2012/02/22/how-to-install-openerp-6-1-on-ubuntu-10-04-lts/
Juani
PD: El artículo ha sido traducido íntegramente manteniendo todos los comentarios originales de Alan.