Cómo instalar Odoo en un servidor Linux de Jotelulu

Acompáñanos a lo largo de este tutorial donde descubriremos cómo instalar Odoo en un servidor Linux de Jotelulu.

Odoo es un conjunto de aplicaciones basadas en software libre (código abierto) que permite gestionar nuestra empresa a través de un completo ERP y CRM con ventas, inventario, informes, contabilidad, mailing, facturas web, etc.

Es todo lo que una empresa necesita para poder llevar los clientes, ventas, etc. de manera sencilla y sostenible, y, por tanto, consideramos que debemos comentaros como podéis desplegar este software de manera sencilla para aprovechar todo su potencial.

 

¿Cómo instalar Odoo en un servidor Linux de Jotelulu?

Pre-requisitos o pre-configuración

Para completar de forma satisfactoria este tutorial y poder instalar Odoo en un servidor Linux de Jotelulu se necesitará:

  • Por un lado, estar dado de alta en la Plataforma Jotelulu con una organización y estar registrado en la misma tras hacer Log-in.
  • Por otro lado, haber dado de alta una suscripción de Servidores
  • Tener un servidor Ubuntu dentro de la suscripción.
  • El servidor debe tener al menos 2 CPU.
  • Un usuario con privilegios de administrador o bien a través de “root” o mediante el comando “sudo”.

 

Paso 1. Instalación del servicio de Docker

NOTA: En el presente tutorial partimos de que el lector ya ha desplegado Docker en su sistema, en caso de que no sea así recomendamos consultar el artículo donde se trata en este mismo blog.

 

Paso 2. Instalación del servicio de Docker Compose

Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker de varios contenedores y poder gestionarlos de la manera más eficiente. Para ello se usan archivos YAML que permiten configurar los servicios que se quieren ejecutar dentro de la aplicación. De esta manera, con un solo comando se podrá crear e iniciar todos los servicios desde su configuración.

Para instalar la herramienta Docker Compose en nuestro Ubuntu se deberá actualizar la lista de paquetes que puede usar nuestra distribución, y una vez actualizados, podremos instalar Docker Compose como tal. Para ello usaremos nuestro viejo amigo, el comando “apt”.

NOTA: La ejecución de comandos la podremos hacer de dos maneras, mediante el acceso al usuario root y ejecutando todos los comandos desde este, o mediante el uso del comando “sudo” que permitirá a usuarios seleccionados la ejecución de comandos con privilegios elevados.

Los comandos para ejecutar serían:

# sudo apt update

# sudo apt install docker compose

O

# apt update

# apt install docker compose

Paso 2. Actualización de Ubuntu
Paso 2. Actualización de Ubuntu

A continuación, se puede comprobar que la instalación ha funcionado correctamente y que tenemos Docker Compose instalado en nuestro servidor mediante la ejecución del comando “docker compose –version”

# docker compose –version

 

Paso 3. Desplegar Odoo y PostgreSQL mediante Docker Compose

Ahora que tenemos Docker Compose ejecutándose dentro de nuestro servidor, es hora de desplegar la solución. Pero es importante saber, que esta solución (Odoo), va a necesitar una base de datos para poder correr el aplicativo, y en este caso, la base de datos recomendada es PostgreSQL.

Para realizar esta tarea, debemos comenzar por crear un directorio llamado “odoo” para albergar los contenedores de Odoo y PostgreSQL, este directorio será usado para almacenar los archivos que se necesitan para ejecutar Odoo de manera satisfactoria. Para ello se ejecutará el comando “mkdir” ().

# mkdir ~/odoo

# cd ~/odoo

Donde “~” simboliza el directorio HOME por lo que “~/odoo” indica que la carpeta usada será “$HOME/odoo” siendo “$HOME” el del usuario que se haya usado para la instalación.

Una vez creado el directorio “~/odoo” y estando dentro de él, se debe crear un archivo YAML en blanco que puede ser llamado “docker-compose.yml” usando nuestro editor preferido, que en mi caso es Vi, pero se puede usar Nano Emacs o cualquier otro:

# vi docker-compose.yml

O

# nano docker-compose.yml

En este punto se debe editar el fichero que será leído por el comando Docker Compose para lanzar y vincular los contenedores de Odoo y PostgreSQL.

Para editar el fichero en “vi” se debe pulsar “i” (insert) y pegar el texto que tenemos bajo estas líneas:

version: ‘3’

services:

odoo:

image: odoo:15.0

env_file: .env

depends_on:

– postgres

ports:

– «127.0.0.1:8069:8069»

volumes:

– data:/var/lib/odoo

postgres:

image: postgres:13

env_file: .env

volumes:

– db:/var/lib/postgresql/data/pgdata

volumes:

data:

db:

Donde se puede observar que se están configurando dos servicios separados:

  • Odoo: CR;/ERP.
  • Postgres: Base de Datos asociada al servicio.

Odoo que va a hacer uso del puerto “8069” por lo que se deberá tener en mente en el firewall en caso de tener problemas de comunicación.

Asimismo, el resto de los puntos, hacen referencia a donde se tiene los volúmenes o donde se tienen las variables de entorno que configuraremos posteriormente mediante la directiva “env_file”. La directiva hará una llamada al archivo al que se hace referencia y que contiene las variables que cada uno de los servicios a ejecutar.

NOTA: Se podría poner todo dentro del archivo “docker-compose.yml”, pero se recomienda tener todo separado, entre otras cosas para poder mantener las contraseñas fuera de este fichero.

Una vez editado todo, en caso de haber editado con Vi se deberá pulsar <ESC> (Tecla de Escape) y a continuación “:wq” que Guarda la configuración (Write) y Sale del editor (Quit).

En caso de haberlo hecho con Nano se debe Hacer “CTRL+O” y <Enter> para guardar, y luego “CTRL+X” para salir del editor.

A continuación, se deben definir las variables de entorno (env) para que se puedan configurar correctamente las aplicaciones de Odoo y PostgreSQL.

Para definir las variables se debe crear un nuevo archivo “.env” mediante Vi, Nano u otro editor.

# vi .env

o

# nano .env

Y una vez editado, en “vi” se debe pulsar “i” (insert) y pegar el texto que tenemos bajo estas líneas:

# postgresql: Variables de Entorno

POSTGRES_DB=postgres

POSTGRES_PASSWORD=<Contraseña_Postgres>

POSTGRES_USER=odoo

PGDATA=/var/lib/postgresql/data/pgdata

# odoo: Variables de Entorno

HOST=postgres

USER=odoo

PASSWORD=<Contraseña_Usuario>

Donde

  • <Contraseña_Postgres>: Una contraseña segura para Postgres.
  • <Contraseña_Usuario>: Una contraseña segura para el usuario.

NOTA: Si no se tiene una política de contraseñas fuertes se puede hacer uso del comando “openssl” para generar una contraseña segura y aleatoria.

Una vez terminada la edición, al igual que antes, en caso de haber editado con Vi se deberá pulsar <ESC> (Tecla de Escape) y a continuación “:wq” que Guarda la configuración (Write) y Sale del editor (Quit). En caso de haberlo hecho con Nano se debe Hacer “CTRL+O” y <Enter> para guardar, y luego “CTRL+X” para salir del editor.

Una vez llegados a este punto, en principio, ya podemos gestionar nuestro aplicativo mediante Docker Compose por lo que se deberá lanzar el comando:

# docker-compose up -d

Donde:

  • up: Hace referencia a que levante el servicio.
  • d: Indica que se levante el servicio como un demonio del sistema.

NOTA: Esta acción tomará un rato, sobre todo pensando que es la primera vez que se levanta el servicio.

Paso 2. Levantamos el Docker y lo ejecutamos como demonio
Paso 2. Levantamos el Docker y lo ejecutamos como demonio

Cuando termine de mostrarse mensajes por pantalla, si todo ha ido bien es que Odoo se está ejecutándo.

La prueba más eficiente de que todo ha ido bien es usar el comando “curl” junto con “127.0.0.1:8069”:

# curl –head http://127.0.0.1:8069

o

# curl –head http://localhost:8069

Donde:

  • head: Indica que solo se quiere ver los mensajes de la parte superior.

En este caso, lo que queremos encontrar, es el mensaje “HTTP/1.0 303 SEE OTHER” que indicará que el proceso se ha ejecutado correctamente y que el Docker de Odoo está corriendo.

 

Paso 4. Instalación de Nginx

En este punto vamos a intentar mejorar el rendimiento del aplicativo poniendo un Nginx (servidor web) delante del servidor Odoo, que descarga el almacenamiento en caché, la compresión y el servicio de archivos estáticos, lo que debería mejorar el rendimiento del conjunto.

Volveremos a actualizar la lista de paquetes del servidor, aunque en principio no debería haber novedades, ya que acabamos de hacerlo, para ello ejecutaremos el comando “apt update”.

# apt update

O

# sudo apt update

Y una vez actualizados, lanzaremos el comando de instalación, mediante “apt install nginx”.

# sudo apt install nginx

O

# apt install nginx

Paso 4. Instalación de Nginx
Paso 4. Instalación de Nginx

Después lanzaremos el comando “ufw allow” para permitir el tráfico público a los puertos 80 (HTTP) y 443 (HTTPS):

# ufw allow “Nginx Full”

O

# sudo ufw allow “Nginx Full”

Editamos un nuevo fichero “/etc/nginx/sites-available/odoo.conf” dentro de la carpeta de configuración de Nginxs.

# nano /etc/nginx/sites-available/odoo.conf

O

# sudo nano /etc/nginx/sites-available/odoo.conf

Poniendo la siguiente configuración:

server {

    listen       80;

    listen       [::]:80;

    server_name  <Nombre_Dominio>;

    access_log  /var/log/nginx/odoo.access.log;

    error_log   /var/log/nginx/odoo.error.log;

    location / {

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-Host $host;

      proxy_set_header X-Forwarded-Proto https;

      proxy_pass http://localhost:8069;

  }

}

Donde:

  • <Nombre_Dominio>: Debe ser sustituido por el dominio que se configuró para apuntar al servidor Odoo. Ejemplo odoo.jotelulu.com.
  • Listen: En este momento, se está trabajando con HTTP (Puesto 80) o no seguro, y trabajaremos posteriormente para hacerlo seguro.
  • *_log: Decimos donde se guardan los archivos de registro (logs).
  • Proxy_*: Encabezados proxy como “http://localhost:8069”.

Nuevamente, tras realizar la edición, en caso de haber editado con Vi se deberá pulsar <ESC> (Tecla de Escape) y a continuación “:wq” que Guarda la configuración (Write) y Sale del editor (Quit). En caso de haberlo hecho con Nano se debe Hacer “CTRL+O” y <Enter> para guardar, y luego “CTRL+X” para salir del editor.

El siguiente punto será crear un enlace entre nuestro nuevo fichero y los sitios disponibles:

# ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/

o

# sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/

Para ver que todo está bien, se debe lanzar el comando de testeo (prueba) del fichero de Nginx.

# nginx -t

o

# sudo nginx -t

Finalmente, recargamos la configuración de Nginx mediante el comando de “systemctl”.

# systemctl reload nginx.service

o

# sudo systemctl reload nginx.service

También se puede comprobar el estado mediante el comando:

# systemctl status nginx.service

o

# sudo systemctl status nginx.service

Paso 4. Comprobación del estado de Nginx
Paso 4. Comprobación del estado de Nginx

Estando disponible en este paso el acceso a la ventana de inicio de Odoo, aunque estando completamente pendiente la configuración de su entorno.

Paso 4. Ventana de inicio de nuestro nuevo Odoo
Paso 4. Ventana de inicio de nuestro nuevo Odoo

 

Paso 5. Configuración de Odoo

En este punto, estamos llegando al final de nuestro tutorial cómo instalar Odoo en un servidor GNU/Linux de Jotelulu que terminaremos enseguida siguiendo cuatro pautas.

En el paso anterior, nos hemos quedado en la pantalla inicial de Odoo, donde se deberán rellenar los siguientes campos:

  • Database Name: Nombre de la base de datos, que en nuestro caso será “odoo”.
  • Email: Correo electrónico, que deberá ser la dirección de correo electrónico del administrador.
  • Password: Contraseña segura y única para su inicio de sesión de administrador.
  • Phone number: Número de teléfono del administrador.
  • Language: Lenguaje del entorno, pudiéndolo dejar en “English (US)” o pasarlo a otro idioma.
  • Country: País donde se despliega.
  • Demo data: Datos de demostración que deberá estar marcada si es la primera vez que instalamos odoo.

NOTA: Los datos de correo electrónico y contraseña se utilizarán para iniciar sesión en Odoo por lo que es necesario recordarlos o almacenarlos en un gestor de contraseñas seguro.

En este punto, se debe hacer clic en “Create database” para que comience el proceso de despliegue de Odoo para su explotación.

Paso 5. Ventana de inicio de nuestro nuevo Odoo con nuestros datos
Paso 5. Ventana de inicio de nuestro nuevo Odoo con nuestros datos

Odoo puede tardar unos minutos en crear las tablas de base de datos y dejar el entorno preparado, y cuando esto suceda seremos redirigidos a la página administrativa de Odoo Apps.

En este punto, se deberá acceder a la plataforma y empezar a poblar de usuarios y contraseñas y otros datos relacionados.

NOTA: Otro punto que deberíamos configurar es el uso de certificados para acceder a nuestro Odoo a través de un entorno seguro.

 

Conclusiones:

Tal como has podido ver a lo largo de este tutorial, “Cómo instalar Odoo en un servidor Linux de Jotelulu”, desplegar Odoo sobre Dockers en Ubuntu Linux es relativamente sencillo siempre que se tengan claros los pasos a seguir.

En este caso hemos revisado como hacer la configuración desde el CLI de GNU/Linux partiendo de que ya teníamos Docker desplegado en nuestro servidor. En caso de que tengas dudas sobre como desplegar Docker en Ubuntu puedes revisarlo en otro tutorial de nuestro blog.

Iremos hablando más sobre Odoo, como configurarlo, optimizarlo, trucos, etc.

¡Gracias por acompañarnos!

Categorías:Servidores

Rellena el formulario y nuestro equipo de Sales contactará contigo lo antes posible.

growth@jotelulu.com  |  +34 911 333 712  |  jotelulu.com 

Puedes darte de baja de estas comunicaciones en cualquier momento.  Consulta nuestra Política de privacidad.

Precios competitivos para la pyme y mucho más margen para el partner

Disaster Recovery ha sido diseñado, implementado y puesto en producción teniendo en cuenta dos premisas: Debe tener un precio atractivo para la pyme a la vez que deja un buen margen de beneficio a la empresa de IT que lo comercializa y gestiona.

DR_buen_precio_y_mas_margen

De esta manera, Disaster Recovery pretende ser un producto diferencial que permita incrementar la seguridad de todo tipo de empresas de manera asequible e implicando, además, rentabilidad para el distribuidor que lo comercializa.

Protege la infraestructura de tus clientes

Disaster Recovery permite replicar cualquier suscripción de infraestructura (Escritorio Remoto y Servidores) en otra zona de disponibilidad creando un entorno de alta disponibilidad y blindando así el servicio.

Replica en pocos pasos no sólo los discos sino todos los elementos que forman parte de cada suscripción:

  • Servidores: Instancias, discos, reglas de firewall, redes, IPs…
  • Escritorio Remoto: Usuarios, Aplicaciones, Licencias, Personalización…
DR_blinda_la_infraestructura

Tratamos de hacer fácil lo difícil

Las herramientas de Disaster Recovery existentes necesitan de conocimientos avanzados para poder ser gestionadas, implicando, muchas veces, un expertise difícil de alcanzar.

 

Disaster Recovery de Jotelulu busca hacer fácil lo difícil y plantea un despliegue muy sencillo basado en una configuración de tres pasos:

Origin (Primary Site)
Determina la ubicación de origen de la suscripción sobre la que se va a establecer el servicio de Disaster Recovery.

Destino (Recovery Site)
Establece la ubicación de destino (zona de disponibilidad) en la que quieres que se despliegue el Recovery Site.

Características de la réplica
Establece los datos asociados al número de copias que se quieren guardar y la frecuencia con la que se va a llevar a cabo la réplica.