Las herramientas de virtualización son una gran ayuda en el mundo de las tecnologias de información, ya que encapsulan los servicios, librerias y herramientas necesarias para la ejecución de programas, aplicaciones, servicios, etc. al mismo tiempo que lo hacen portable e independiente del Sistema Operativo, anterior a docker podiamos encontrar hypervisor como una de las mas conocidas, en la actualidad docker tiene ventajas sobre otras y se ha vuelto una de las mas importantes, en el mundo de Odoo desde la versión 10 y ahora versión 11 es casi un estandar para los desarrolladores, ya que nos permite tener diferentes instancias o proyectos de forma independiente con la posibilidad de poder llevar este contenedor al entorno de Producción de un cliente de forma facil y rapida, homologando la versión de Python, la versión de sus librerias y las aplicaciones.
En Odoo podemos encontrar el Docker oficial desde Github o el repositorio oficial de Docker:
- https://github.com/odoo/docker
- https://hub.docker.com/_/odoo/
La versión oficial contiene una serie de instrucciones para poder hacer nuestra instalación y quede lista para ponerse en marcha para nuestros desarrollos o en nuestro Cliente para su uso final.
En este Post quiero enseñar una maner alternativa a la oficial, usando la imagen (docker) de Ubuntu y montando nuestro Contenedor para instalar Odoo, Postgres y las librerias requeridas para la ejecución de Odoo.
1. Instalación de Docker
Lo mas importante es tener instalado nuestro docker en el Servidor o Maquina donde vamos a trabajar, en mi caso utilizo Ubuntu 17.04 y los pasos para instalador docker son:
Actualizar los Repositorios:
sudo apt-get update
Instalar las librerias necesarias:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Añadir el repositorio Docker :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Crearemos un contenedor con las siguientes caracteristicas:
- Con el puerto 8069 abierto para acceder desde el anfitrion
- Con el Puerto 22 abierto
- Con una Terminal Interactiva
- Con un Directorio Compartido entre huesped (docker) y anfitrion (SO)
docker run -it -p 22 -p 8069:8069 -v /opt/odoo:/home/odoo --name odoo_11_dev ubuntu:16.04
Es importante indicar la versión de la Imagen descargada para ello al final indicamos ubuntu:16.04
(docker run -it -p 22 -p 8069:8069 -v /opt/odoo:/home/odoo --name odoo_11_dev ubuntu:16.04)
El resultado es una consolta interactiva, en la cual podemos ejecutar comandos.
Si cerramos la terminal el docker seguira corriendo y ya no existe necesidad de ejecutar nuevamente el comando anterior, ahora debemos ejecutar el comando para listar los contenededores activos:
docker ps
Si queremos ver todos los que hemos creado:
docker ps -a
Para poder ingresar al contenedor activo:
docker attach odoo_11_dev
Si no vemos la terminal pasados unos segundos es importante dar un enter mas o dos.
4. Instalación de Aplicaciones
Una ves que tenemos nuestro Contenedor Ubuntu 16.04, vamos a instalar las aplicaciones y librerias.
Primero debemos hacer un update a los repositorios:
apt-get update
Instalamos Python 3 para Odoo 11:
apt-get install python3 -y
Instalamos Pip 3:
apt-get install python3-pip -y
Instalamos algunas dependencias de Odoo:
apt-get install python3-dev libxml2-dev libxslt1-dev libevent-dev \
libsasl2-dev libldap2-dev libpq-dev libpng12-dev libjpeg-dev \
poppler-utils node-less node-clean-css python3-pypdf2 npm python3-babel \
python3-decorator python3-docutils -y
Creamos un Usuario del Sistema para Gestionar Odoo
useradd -d /home/odoo -s /bin/bash odoo
Cambiamos la contraseña del usuario:
passwd odoo
Instalamos Git
apt-get install git
Descargamos Odoo, dentro de la carpeta /opt
cd /opt
git clone https://github.com/odoo/odoo --branch 11.0
Cambiamos los permisos de la carpeta hacia el usuario odoo:
chown odoo.odoo /opt/odoo -R
Instalamos las dependencias de odoo
pip3 install /opt/odoo/requirements.txt -r
pip3 install /opt/odoo/doc/requirements.txt -r
Instalacion de Wkhtmltopdf:
apt-get install wget -y
wget https://nightly.odoo.com/extra/wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
dpkg -i wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
apt-get -f install
Instalamos Postgres:
apt-get install postgresql
Iniciamos Postgres:
service postgresql start
Creamos el usuario de Postgres para Odoo:
su postgres
createuser -s -P -e odoo
Contraseña: odoo
Instalamos un Editor de Textos, por ejemplo nano:
apt-get install nano
Cambiamos al usuario odoo:
su odoo
Ejecutamos Odoo y creamos nuestro Archivo de configuración:
python3 /opt/odoo/odoo-bin -c odoo_server.conf -s
Editamos el Archivo de Configuración y modificamos los Parametros de Base de Datos:
nano odoo_server.conf
db_host = localhost
db_password = odoo
db_port = 5432
db_sslmode = prefer
db_template = template1
db_user = odoo
Una ves Editado, guardamos con el Comando
Ctrl + O
Volvemos a ejecutar sin el parametro -s
python3 /opt/odoo/odoo-bin -c odoo_server.conf
Y listo, en nuestro navegador podemos acceder a Odoo:
Ante cualquier error de fuentes podemos consultar:
https://poncesoft.blogspot.mx/2016/05/solucion-al-error-bundle.html