Automatiza la instalación de Odoo 17 con Script Bash

by Mayra Salas

Automatiza la instalación de Odoo 17 ejecutando este Script Bash.

Requisitos previos

Para completar este tutorial, necesitará lo siguiente:

Requerimientos de sistema

  • Memoria : 4GB o más
  • Disco duro : Más de 20GB de espacio disponible en disco duro
  • Sistema : (Ubuntu20, Debian10), garantizar que sea un sistema operativo limpio y que no haya instalado Apache/Nginx/php/MySQL (el entorno existente no se puede instalar)

Primeros pasos

Actualizar el sistema

sudo apt-get update && sudo apt-get dist-upgrade -y

Generar un fichero script.sh y otorgarle permisos de ejecución y copiar el codigo !/bin/bash

touch script.sh && chmod +x script.sh
#!/bin/bash

read -p "Ingresa el dominio que deseas utilizar para tu instalación de Odoo: " domain

echo "Selecciona la versión de Odoo que deseas instalar:"
echo "1) Odoo 17"
read -p "Selección: " odoo_version

sudo apt-get update && sudo apt-get upgrade -y
sudo apt install git python3-pip build-essential wget python3-dev python3-venv \
    python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \
    python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev \
    libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev \
    liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev -y

sudo apt-get install npm -y
sudo npm install -g less less-plugin-clean-css
sudo apt-get install node-less -y

sudo mkdir /opt/odoo$odoo_version
sudo chown $USER:$USER /opt/odoo$odoo_version
git clone --depth 1 --branch 17.0 https://www.github.com/odoo/odoo --single-branch /opt/odoo$odoo_version

pip3 install -r /opt/odoo$odoo_version/odoo/requirements.txt

read -p "Ingresa la contraseña de la base de datos: " db_password

cat > /etc/odoo.conf <<EOF
[options]
admin_passwd = $db_password
db_host = False
db_port = False
db_user = odoo$odoo_version
db_password = False
xmlrpc_interface = 127.0.0.1
proxy_mode = True
addons_path = /opt/odoo$odoo_version/odoo/addons
logfile = /var/log/odoo/odoo.log
EOF

sudo chown $USER: /etc/odoo.conf
sudo rm -r /var/log/odoo
sudo mkdir /var/log/odoo
sudo chown $USER:root /var/log/odoo

cat > /etc/systemd/system/odoo$odoo_version.service <<EOF
[Unit]
Description=Odoo
Documentation=http://www.odoo.com
[Service]
Type=simple
User=$USER
ExecStart=/opt/odoo$odoo_version/odoo/odoo-bin -c /etc/odoo.conf
[Install]
WantedBy=default.target
EOF

sudo systemctl daemon-reload
sudo systemctl start odoo$odoo_version
sudo systemctl enable odoo$odoo_version

sudo touch /etc/nginx/conf.d/odoo$odoo_version.conf
sudo cat > /etc/nginx/conf.d/odoo$odoo_version.conf <<EOF
upstream odoo {
    server 127.0.0.1:8069;
}
upstream odoochat {
    server 127.0.0.1:8072;
}
server {
    listen 80;
    server_name $domain;
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    proxy_set_header X-Forwarded-Host \$host;
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto \$scheme;
    proxy_set_header X-Real-IP \$remote_addr;
    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;
    location /longpolling {
        proxy_pass http://odoochat;
    }
    location / {
        proxy_redirect off;
        proxy_pass http://odoo;
    }
    gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}
EOF

sudo systemctl restart nginx

sudo systemctl enable odoo$odoo_version
sudo systemctl start odoo$odoo_version

Validaciones

Luego de culminar con la instalación, deberá ingresar vía web, ya sea con la IP local o con el nombre de dominio que previamente ya ha registrado en su portal de DNS

Una vez que haya ingresado vía web, deberá crear una nueva base de datos desde la aplicación ODOO.

Una vez que haya culminado con la creación de la base de datos, podrá visualizar la interfaz de inicio

Related Posts

Leave a Comment