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
- Acceso por SSH a tu VPS.
- 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:
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:
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:
Ingresa con tus credenciales al sistema, verás el panel de administración principal 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.
Muy agradecido por este tutorial Excelente contribucion… Mil gracias por compartir tu conocimiento con los demas.
Tremendo contenido siempre de lo mejor! Alfredo. Gracias
Agradezco mucho tus amables comentarios y me alegra saber que este tuto fue de ayuda, te mando un saludo!
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.
Puede ser lo que dices o que el servidor no está tomando en cuenta el archivo del host virtual, si gustas entra al grupo de WhatsApp y lo vemos paso a paso https://chat.whatsapp.com/J6ZQ3yHqOZi78pOh9rslYX o mandame un correo a [email protected] con captura de pantalla de la configuración del host virtual. Saludos.
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
Carlos me da mucho gusto saber que lograste hacer funcionar Odoo en tu VPS, muchas gracias por dar retroalimentación eso ayudará a más personas que se encuentren con el mismo problema, agradezco tu comentario, saludos!
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/
Hola Carlos, revisa la carga de CPU y RAM del servidor y reinicialo, me dices si hubo cambios.
eso esta bien, se mantiene estable http://imgfz.com/i/j63O4Tl.png
de la unica forma que funciona es si vuelvo a realizar los pasos de esta captura http://imgfz.com/i/OY5GdU3.png. pero al cavo de un rato se desabilita.
otra cosa, al reiniciarlo, ahora me esta arrojando la ip del servidor en vez del dominio. ¿tendra algo que ver que instalara los SSL de tu otro tutorial?
Prueba sin el https solo http y recuerda poner el puerto, me dices si funciono, saludos.
Hola alfredo. instale sin problema odoo 16 sin embargo me guataria saber si es posible hacer la redirreccion al servidor con un dominio dns con un certificado cerbot como en la instalacion del odoo 14 del tu anterior tutorial
Hola Webtransfers, el método utilizado en el tutorial anterior no lo he logrado integrar para esta versión, espero en los próximos días tener una actualización para instalar el certificado SSL en el servidor. Saludos.
Muchas Gracias estamos al pendiente.
Que buen tutorial, gracias por la información, lo probaré en los próximos dias!
Hola Diego, gracias por visitar y comentar, te envio un saludo.
Hola Todos alguien tendra alguna Novedad sobre este error en odoo 16
TypeError: Cannot read properties of null (reading ‘node’)
Cannot read properties of null (reading ‘node’)
Sucede cuando se ejecuta la actualizacion de las aplicaciones
Hola Webtransfers, estoy leyendo en el foro de Odoo que ya está reportado ese Issue en GitHub, puedes revisarlos a ver que han dicho https://github.com/odoo/odoo/issues nos das retroalimentación, saludos!
Hola, me funcionó perfecto. Que tengo que cambiar para poder hacerlo con la version Enterprise?.
Saludos.
Hola Matias, gracias por visitar y comentar. No he trabajado con la versión Enterprise de Odoo, en cuanto tenga la información haré un tutorial sobre ello, saludos.
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
Hola Carlos, gracias por visitar y comentar. Te dejo este link de la documentación oficial de Odoo que yo creo te va a ayudar: https://www.odoo.com/documentation/15.0/es/applications/websites/website/pages/seo.html . Cualquier cosa me avisas, saludos!
Hola habrá un manual de como crear varias bases de datos de Odoo 16 Community en un solo servidor Ubuntu 22.04 con diferentes nombres de dominio?