Skip to content

Instantly share code, notes, and snippets.

@erickgnavar
Created February 12, 2019 02:13
Show Gist options
  • Save erickgnavar/749e261be5d6f4ae96f9db4c8e229cf9 to your computer and use it in GitHub Desktop.
Save erickgnavar/749e261be5d6f4ae96f9db4c8e229cf9 to your computer and use it in GitHub Desktop.
Instalación Odoo

Despliegue de aplicación Odoo

Se usará Ubuntu 16.04 como sistema base

Preparación del sistema

sudo apt-get update

sudo apt-get install git python-dev libpq-dev python-pip python-virtualenv libsasl2-dev libldap2-dev libssl-dev \
gdebi-core node-clean-css node-less python-gevent libevent-dev gcc \
libxml2-dev libldap2-dev libssl-dev

Crear los directorios necesarios

# Para la instalción de Odoo
sudo mkdir /opt/odoo
sudo chown $USER:$USER /opt/odoo

# Para la carpeta de modulos de la aplicación a desplegar
sudo mkdir /opt/proyecto
sudo chown $USER:$USER /opt/proyecto

# Para los archivos de configuración de la aplicación
sudo mkdir /etc/odoo
sudo chown $USER:$USER /etc/odoo

# Para los archivos de log de la aplicación
sudo mkdir /var/log/odoo
sudo chown $USER:$USER /var/log/odoo

Instalación de Odoo

Clonar repositorio de Odoo

git clone https://github.com/odoo/odoo -b 10.0 --depth 1 /opt/odoo

Crear un entorno virtual para instalar los requerimientos de Odoo y activarlo

cd /opt/odoo
virtualenv env
source env/bin/activate

Instalar las dependencias de Odoo

cd /opt/odoo

pip install .

Configuración del proyecto

Crear un archivo de configuración para el proyecto en /etc/odoo/ llamado proyecto.conf el cual contendrá la siguiente información:

[options]
addons_path = /opt/odoo/addons,path_to_project_modules

data_dir = /opt/proyecto

admin_passwd = super_secret_password

db_host = database_location
db_port = database_port
db_user = database_user_with_super_user_role
db_password = super_secret_db_password
dbfilter = regex_with_db_name_filter
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = info
logrotate = True

logfile = /var/log/odoo/proyecto.log

xmlrpc_port = 8069

Configuración de Postgres

Crear usuario en Postgres y darle permiso de super usuario para que pueda crear bases de datos

# Ingresar con el usuario postgres
sudo su - postgres

createuser odoo --pwprompt
# Ingresar contraseña 2 veces

psql

alter user odoo with superuser

Configurar el servicio de Odoo con Systemd

Crear el siguiente archivo en /etc/systemd/system/odoo.service con:

Postgres instalado en el mismo host

[Unit]
Description=Odoo nombre de la aplicación
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
PermissionsStartOnly=true
SyslogIdentifier=odoo
User=system_user
Group=system_user
ExecStart=/opt/odoo/env/bin/python /opt/odoo/odoo-bin -c /etc/odoo/proyecto.conf
WorkingDirectory=/opt/proyecto

[Install]
WantedBy=multi-user.target

Postgres esta en otro servidor

No es necesario esperar a que se ejecute la unidad de postgres debido a que no existe.

[Unit]
Description=Odoo nombre de la aplicación
After=network.target

[Service]
Type=simple
PermissionsStartOnly=true
SyslogIdentifier=odoo
User=system_user
Group=system_user
ExecStart=/opt/odoo/env/bin/python /opt/odoo/odoo-bin -c /etc/odoo/proyecto.conf
WorkingDirectory=/opt/proyecto

[Install]
WantedBy=multi-user.target

Cuando se haga alguna modificación sobre una unidad de Systemd se debe recargar el demonio con:

sudo systemctl daemon-reload

Iniciar el proceso con Systemd

sudo systemctl start odoo.service

Revisar el estado del proceso

sudo systemctl status odoo.service

Monitorear el log

tail -f /var/log/odoo/proyecto.log

Una vez validado el funcionamiento de la aplicación configurar el proceso como demonio para que inicie junto al sistema.

sudo systemctl enable odoo.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment