Instalación de Odoo
INSTALACIÓN DE ODOO 11 EN DEBIAN 9 CON ANSIBLE
Ansible es un sistema de gestión de configuraciones de código abierto desarrollado por RedHat y que se utiliza ampliamente como herramienta de automatización de procedimientos de administración de sistemas. Está basado en el uso de la sintaxis YAML y en un modo sencillo de uso.
En el siguiente procedimiento vamos a ver como, utilizando Ansible, podremos desplegar una instancia de Odoo de modo rápido y sencillo, con el apoyo de un repositorio en github donde dispondremos de un role de Ansible. Un role es una plantilla para el despliegue automático, en este caso de Odoo, que haciendo uso de un archivo adaptado de nuestras necesidades de despliegue, Playbook de Ansible, nos permitirá desplegar cualquier versión de Odoo según los parámetros introducidos a través de las directivas de ese archivo.
Vamos allá
Instalación de Paquetes
apt update apt install -y git python-pip
INSTALAR POSTGRES
Vamos a realizar un despliegue en el que tanto el motor de bases de datos Postgres como el propio Odoo conviven en la misma máquina. Por eso antes de nada instalamos Postgres de los repositorios oficiales
apt install -y postgresql
COMPILAR ANSIBLE 2.4
Para que el role de Ansible que vamos a utilizar funcione necesitaremos la versión 2.4 de Ansible. La versión disponible en los repositorios de Debian es la 2.2, por tanto vamos a necesitar compilar la versión que nos interesa
Instalación de Paquetes
Las siguientes son dependencias para la compilación
apt install -y make make python-setuptools gcc python-dev libffi-dev libssl-dev python-packaging
Descargar sources ansible
Clonamos la rama stable-2.4 del repositorio en el directorio temporal
cd /tmp git clone -b stable-2.4 git://github.com/ansible/ansible.git ansible-src cd ansible-src
Compilar ansible
make make install
DESCARGAR ROLE ANSIBLE
A continuación procedemos a clonar el repositorio en github del role Ansible que vamos a utilizar para el despliegue de Odoo
mkdir -p ~/ansible-odoo/roles cd ~/ansible-odoo/roles git clone https://github.com/OCA/ansible-odoo.git odoo
CREACION DEL PLAYBOOK ANSIBLE
El playbook será algo así como una "receta" en la que se indica el modo en que Ansible debe de proceder. En este caso indicamos una serie de parámetros para el despliegue y las directivas necesarias para configurar el role
cd ~/ansible-odoo vi playbook.yml
Añadimos el contenido:
- name: Odoo hosts: localhost become: yes roles: - role: odoo odoo_version: 11.0 odoo_config_admin_passwd: abc123.
El playbook anterior hace uso de los repositorios de la distribución para la instalación de Odoo
Otro posible playbook.yml que instalaría utilizando un archivo de dependencias de python-pip (otro tipo de instalación)
name: Odoo hosts: localhost become: yes roles: - role: odoo odoo_install_type: pip odoo_version: 11.0 odoo_pip_requirements_url: https://raw.githubusercontent.com/odoo/odoo/11.0/requirements.txt odoo_config_admin_passwd: abc123. environment: LC_ALL: es_ES.UTF-8
Cualquiera de los 2 puede ser utilizado para el despliegue
LANZAMOS EL PLAYBOOK
ansible-playbook playbook.yml
Al finalizar comprobar que Odoo está corriendo ejecutando el comando
lsof -i:8069
El cual debería mostrar una línea indicando que Odoo está en estado LISTEN en el puerto 8069
ACCEDEMOS A ODOO
Tras la ejecución del despliegue del playbook con Ansible dispondremos de Odoo corriendo en el puerto 8069 de la máquina
Referencias
Ansible Role para Odoo en Github: https://github.com/OCA/ansible-odoo
Documentación Ansible: http://docs.ansible.com/ansible/latest/index.html
JavierFP 20:05 20 abr vie 2018 (CET)