Odoo es el software empresarial todo en uno más popular del mundo. Ofrece una gama de aplicaciones comerciales que incluyen CRM, sitio web, comercio electrónico, facturación, contabilidad, fabricación, almacén, gestión de proyectos, inventario y mucho más, todo perfectamente integrado.
En este tutorial, le mostraremos cómo instalar Odoo12 desde la fuente dentro de un entorno virtual Python en una máquina CentOS 7.
Requisitos previos #
Asegúrese de haber iniciado sesión como usuario con privilegios sudo antes de continuar con el tutorial.
Instalar dependencias de Python 3.6 y Odoo #
Instalaremos los paquetes de Python 3.6 desde el repositorio de colecciones de software (SCL).
Al habilitar SCL, obtendrá acceso a las versiones más recientes de lenguajes de programación y servicios que no están disponibles en los repositorios principales.
Habilite los repositorios EPEL y SCL con el siguiente comando:
sudo yum install epel-release centos-release-scl
Una vez que los repositorios estén habilitados, instale Python 3.6 con todas las herramientas necesarias para crear dependencias de Odoo:
sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Durante la instalación, se le pedirá que acepte las claves GPG.
Crear número de usuario de Odoo
Cree un nuevo usuario y grupo del sistema con el directorio de inicio /opt/odoo
que ejecutará el servicio Odoo:
sudo useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12
Puede nombrar al usuario como desee, solo asegúrese de crear un usuario de PostgreSQL con el mismo nombre. Instalar y configurar PostgreSQL #
Al momento de escribir este artículo, la última versión de PostgreSQL disponible en los repositorios de CentOS es la versión 9.2 de PostgreSQL, que no es compatible oficialmente con Odoo.
Instalaremos PostgreSQL 10 desde los repositorios oficiales de PostgreSQL.
Comience habilitando el repositorio de PostgreSQL:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
Instale el servidor PostgreSQL y cree un nuevo clúster de base de datos PostgreSQL:
sudo yum install postgresql10-server postgresql10-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Una vez completada la instalación, habilite e inicie el servicio PostgreSQL:
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
Cree un usuario de PostgreSQL con el mismo nombre que el usuario del sistema creado anteriormente, en nuestro caso odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Instalar Wkhtmltopdf #
El wkhtmltox
El paquete proporciona un conjunto de herramientas de línea de comandos de código abierto que pueden convertir HTML en PDF y varios formatos de imagen. Para imprimir informes en PDF, necesitará el wkhtmltopdf
herramienta. La versión recomendada para Odoo es 0.12.1
que no está disponible en los repositorios oficiales de CentOS 7.
Descargue la versión recomendada con el siguiente comando wget:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Una vez que se complete la descarga, instale el rpm
paquete escribiendo:
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Instalar y configurar Odoo 12 #
Antes de comenzar con el proceso de instalación, asegúrese de cambiar al usuario “odoo12”:
sudo su - odoo12
Comience por clonar el código fuente de Odoo 12 del repositorio de Odoo GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Habilite las colecciones de software para que podamos acceder a los archivos binarios de Python 3.6:
scl enable rh-python36 bash
Cree un nuevo entorno virtual de Python para la instalación de Odoo con:
cd /opt/odoo12
python3 -m venv venv
Activar el entorno:
source venv/bin/activate
Instale todos los módulos de Python necesarios:
pip3 install -r odoo/requirements.txt
Si encuentra algún error de compilación durante la instalación, asegúrese de haber instalado todas las dependencias requeridas enumeradas en Install Python 3.6 and Odoo Dependencies
sección. Una vez completada la instalación, desactive el entorno con el siguiente comando:
deactivate
Cree un nuevo directorio para los complementos personalizados:
mkdir /opt/odoo12/odoo-custom-addons
Vuelve a tu usuario sudo:
exit
A continuación, abra su editor de texto y cree el siguiente archivo de configuración:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Guarde y cierre el archivo.
No olvides cambiar elsuperadmin_passwd
a algo más seguro. Crea un archivo de unidad systemd #
Para ejecutar Odoo como un servicio, crearemos un archivo de unidad.
Abra su editor de texto y cree un archivo llamado odoo12.service
dentro del /etc/systemd/system/
directorio:
sudo nano /etc/systemd/system/odoo12.service
Pegue el siguiente contenido:
/etc/systemd/system/odoo12.service[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Guarde el archivo y cierre el editor.
Notifique a Systemd que creamos un nuevo archivo de unidad:
sudo systemctl daemon-reload
Inicie y habilite el servicio Odoo ejecutando:
sudo systemctl enable odoo12
sudo systemctl start odoo12
Puede verificar el estado del servicio con el siguiente comando:
sudo systemctl status odoo12
● odoo12.service - Odoo12
Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
Main PID: 24649 (scl)
CGroup: /system.slice/odoo12.service
├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
├─24650 /bin/bash /var/tmp/scldyaa9h
└─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Si desea ver los mensajes registrados por el servicio Odoo, puede usar el siguiente comando:
sudo journalctl -u odoo12
Probar la instalación #
Abra su navegador y escriba:http://<your_domain_or_IP_address>:8069
Suponiendo que la instalación sea exitosa, aparecerá una pantalla similar a la siguiente:
Si no puede acceder a la página, probablemente su cortafuegos esté bloqueando el puerto 8069
.
Use los siguientes comandos para abrir el puerto necesario:
sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload