Instalar Odoo 16 en Ubuntu Server 22.04
Image by Wilfried from Pixabay

En este tutorial aprenderás cómo instalar paso a paso Odoo 16 en su versión community en Ubuntu Server 22.04, este tutorial es la actualización de Instalar Odoo y Apache en Ubuntu Server 20.04 desde cero, como anteriormente usaré un VPS de Ionos. Agradezco mucho a la comunidad que me animó a crear este artículo. Sin más, manos a la obra.

Requisitos previos

  1.  Acceso por SSH a tu VPS.
  2.  Tener el puerto 8069 abierto en el firewall externo (en el panel de admin de tu proveedor de VPS debes de encontrarlo)

1. Actualizar lista de repositorios

Abre una terminal de comandos y accede a tu VPS, una vez dentro actualiza la lista de repositorios ejecutando el comando y si es necesario se hará un upgrade:

sudo apt update && sudo apt upgrade

2. Instalar paquetes y dependencias

Para realizar la instalación correcta de Odoo 16 es necesario instalar algunas dependencias:

sudo apt install git wget nodejs npm python3 build-essential libzip-dev python3-dev libxslt1-dev python3-pip libldap2-dev python3-wheel libsasl2-dev python3-venv python3-setuptools node-less libjpeg-dev xfonts-75dpi xfonts-base libpq-dev libffi-dev fontconfig net-tools

3. Instalar wkhtmltopdf

Para descargar el paquete wkhtmltox ejecuta en la terminal de comandos:

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb

Para instalarlo:

sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb

4. Crear una nueva cuenta para Odoo

Como buena práctica se recomienda  en el sistema crear una nueva cuenta especial para correr Odoo, para ello ejecuta el comando:

sudo adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo

5. Instalar PostgreSQL

Odoo trabaja con el gestor de base de datos Postgre, para instalar el servidor PostgreSQL:

sudo apt install postgresql -y

Ahora crea un usuario para Odoo en PostgreSQL:

sudo su - postgres -c "createuser -s odoo"

6. Instalar Odoo 16 en Ubuntu Server 22.04

Para instalar Odoo 16 en Ubuntu Server 22.04 vas a clonarlo desde su repositorio de GitHub, primero accede a la carpeta de Odoo:

cd /opt/odoo

Clona el proyecto:

git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch odoo-server

Cambia el usuario propietario de la carpeta:

sudo chown -R odoo:odoo /opt/odoo/odoo-server

7. Instalar dependencias de Python

Para instalar las dependencias de Python que necesita Odoo para su correcto funcionamiento se recomienda crear un entorno virtual, para ello ingresa a la carpeta en donde se instalarán las dependencias:

cd /opt/odoo/odoo-server

Crea el entorno virtual:

python3 -m venv venv

Activa el entorno virtual:

source venv/bin/activate

Para saber que el entorno virtual está activado verás (venv) como en la imagen:

Para instalar las dependencias ejecuta uno a uno los siguientes comandos, dependiendo de los recursos de tu VPS puede demorar algún tiempo:

pip3 install wheel
pip3 install -r requirements.txt

Después de terminar la instalación de las dependencias desactiva el entorno virtual ejecutando el comando:

deactivate

Crea la carpeta log para Odoo, asigna el usuario y da los permisos necesarios:

sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo
sudo chmod 777 /var/log/odoo

8. Crear archivo de configuración de Odoo

Para crear el archivo de configuración de Odoo ejecuta el comando:

sudo nano /etc/odoo-server.conf

Agrega las siguientes líneas de código al archivo, recuerda cambiar la contraseña del administrador por una fuerte y segura:

[options]
admin_passwd = pass$123
db_user = odoo
addons_path = /opt/odoo/odoo-server/addons
logfile = /var/log/odoo/odoo-server.log
log_level  = debug

Guarda el archivo y ciérralo. Cambia el usuario propietario de la carpeta:

sudo chown odoo:odoo /etc/odoo-server.conf

9. Crear archivo Systemd para Odoo

En este archivo podrás administrar el servicio de Odoo fácilmente así mismo con él Odoo se iniciará con el sistema operativo. Para crear este archivo ejecuta el comando:

sudo nano /etc/systemd/system/odoo.service

Agrega las siguientes líneas de código al archivo:

[Unit]
Description=Odoo 16.0 Service
Requires=postgresql.service
After=network.target postgresql.service
 
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-server/venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo-server.conf
StandardOutput=journal+console
 
[Install]
WantedBy=multi-user.target

Guarda el archivo y ciérralo. Reinicia para cargar el nuevo archivo:

sudo systemctl daemon-reload

Inicia el servicio de Odoo y habilita el auto inicio con el sistema:

sudo systemctl enable --now odoo.service

Verifica el estatus del servicio:

sudo systemctl status odoo.service

Si el servicio está corriendo sin problemas verás algo así:

10. Configurar Odoo 16 desde el navegador web

NOTA

: Recuerda tener abierto el puerto 8069 en tu firewall externo desde el panel de control de tu proveedor del servicio de VPS.

Desde tu navegador web ingresa a la IP de tu VPS recuerda al final de la dirección agregar el puerto 8069, verás el instalador web, en el campo Master Password pon el password que guardaste en el archivo de configuración:

Instalar Odoo 16 en Ubuntu Server 22.04

Al final del del formulario puedes escoger cargar datos de prueba y crear una nueva base de datos o utilizar una base de datos que ya tengas:

Rellena la información que solicita el instalador de Odoo

11. Instalar el servidor web Apache

Nota

: Para el siguiente procedimiento es necesario tener un nombre de dominio apuntando a la IP de tu VPS, puedes ver cómo hacerlo aquí.

Para acceder a tu sitio web usando un nombre de dominio es necesario que instales el servidor web Apache y hacer un par de configuraciones más. Para instalar Apache desde tu terminal de comandos ejecuta la instrucción:

sudo apt install apache2 -y

Habilita el módulo proxy ejecutando la siguiente instrucción:

a2enmod proxy ; a2enmod proxy_http

Ahora reinicia el servicio de Apache:

service apache2 restart

12. Crear host virtual

Un host virtual te permite acceder a la dirección de tu servidor usando un nombre de dominio, ejecuta la siguiente instrucción para crearlo te recomiendo nombrarlo como el nombre de dominio que usarás:

sudo nano /etc/apache2/sites-enabled/pruebasdev.conf

Agrega el siguiente código al archivo cambiando el ServerName y ServerAlias por tu nombre de dominio así como el ProxyPass y el ProxyPassReverse por la IP de tu servidor:

<VirtualHost *:80>
   ServerName pruebasdev.tk
   ServerAlias pruebasdev.tk
   ProxyRequests Off
<Proxy *>
   Require all granted
</Proxy>
   ProxyPass / http://pruebasdev.tk:8069/
   ProxyPassReverse / http://pruebasdev.tk:80>
   ErrorLog /var/log/apache2/error.log
   CustomLog /var/log/apache2/access.log combined
<Location />
   Require all granted
</Location> 
</VirtualHost>

Para revisar que la sintaxis es correcta y cuál es el estado de los puertos ejecuta el comando:

apache2ctl configtest ; netstat -tlpn

13. Verificar la instalación de Odoo 16 en Ubuntu Server 22.04

Para verificar que Odoo 16 se muestra correctamente, en el navegador escribe el nombre de dominio sin olvidar al final agregar dos puntos y el puerto 8069:

Instalar Odoo 16 en Ubuntu Server 22.04

Ingresa con tus credenciales al sistema, verás el panel de administración principal de Odoo:

Ingresa tus credenciales para ingresar al panel de administracion de Odoo

Conclusión

En este tutorial aprendiste cómo instalar paso a paso Odoo 16 en su versión community en Ubuntu Server 22.04. Si este tutorial fue de ayuda te invito a compartirlo en tus redes sociales para llegar a más personas y si tienes dudas o comentarios déjalos en la caja de comentarios, estaré al pendiente de ellos. Te envío un cordial saludo.

Te puede interesar: Agregar nombre de dominio externo a VPS en Ionos.
Fuente: Odoo docs.

26 COMENTARIOS

  1. Hola, Alfredo. acabe hace unas 3 horas de realizar el tuto.
    me pasan dos cosas. 1) en el paso 10. cuando pongo la ip del VPS de ionos no me funciona, al cabo de un rato si me aparece la pagina de apache.
    2) en el paso 13. escribo la direccion del dominio y me sigue apareciendo la web de apache. puede ser por los repliegues de los DNS. se te ocurre algun motivo? PD: en ionos en los VPS paquete M solo hay ubuntu 22.04, el normal, no es el server, ¿sera esto lo que me esta ocacionando el problema? por que ayer instale la imagen de almalinux 8 que tienen los de ionos y por defecto odoo14 y a los 5 minutos de instarlo ya puedes
    acceder con el dominio. no se si me explique bien. saludos y gracias.

  2. hola, llame a ionos y me dicen que ellos no pueden acceder a informacion de instalaciones externas bla bla bla, pero que los DNS estan replegados y el dominio esta apuntando al VPS. que revise la instalacion pero me sigue pasando lo mismo. pagina de apache una y otra vez. PD: me dijo en el chico de ionos que la la distribuicion de odoo14 y almalinux esta previsto de quitarlo de sus servicios. saludos

    • ya esta, estaba cometiendo un fallo, daba por echo que el puerto 8069 lo tenia abierto, pero no se por que al reinstalar ubuntu se me cierra. ya lo tengo funcionando. pero vamos los de ionos eso lo pueden ver y decirmelo pero no me dijeron nada. Alfredo mil gracias por el tuto, ayudas a muchas personas con este proyecto. si te soy util en algo me dices, que de photoshop o ilustrator controlo algo. saludos

  3. Hola Alfredo, como estas? te cuento, ayer parecia que todo estaba ok, empece a crear productos y el diseño basico de la web. hasta ahi bien. pues hoy al despertar me conecto y veo que no funciona nada y me arroja estos errores.

    [img]http://imgfz.com/i/vhj5b0c.jpeg[/img]
    [img]http://imgfz.com/i/S9wDR3g.jpeg[/img]
    [img]http://imgfz.com/i/6iQ90Tg.png[/img]
    [img]http://imgfz.com/i/rSiRqoe.jpeg[/img]

    y si no se ven las imagenes aqui dejo link del album.

    http://imgfz.com/a/koirSTd/

  4. Hola Gracias por el contenido muy bueno. Te hago una consulta yo tengo instalado odoo16 en Ubuntu 20.04 en otra pc tengo niginx como servidor proxy inverso y alojando los certificados. Funciona ok, el tema es que quiero hacer la optimización SEO a mano y no se donde se colocaría el sitemap.xml no se donde seria el raíz / web de odoo. Bueno si me podes despejar esta duda y darme algún consejo con respecto al posicionamiento seo te te agradezco mucho. Atte Nahuel http://www.chinaimport.com.ar

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.