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.
Odoo11 requiere Python 3.5, que no está disponible en los repositorios de CentOS. Por eso, no podemos instalar el paquete Odoo a través de yum desde el repositorio de Odoo.
Ejecutamos Odoo en un contenedor acoplable o lo instalamos en un entorno virtual de Python.
En este tutorial, lo guiaremos a través de cómo instalar Odoo 11 utilizando la fuente Git y el entorno virtual de Python en una máquina CentOS 7.
Antes de comenzar #
Inicie sesión en su máquina CentOS como usuario sudo y actualice el sistema a los paquetes más recientes:
sudo yum update
Habilite el repositorio EPELescribiendo:
sudo yum install epel-release
Instalaremos los paquetes de Python 3.5 del 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 centrales. Habilite el repositorio SCL con el siguiente comando:
sudo yum install centos-release-scl
Instale los paquetes de Python 3.5 con el siguiente comando:
sudo yum install rh-python35
Finalmente instale git
, pip
y todas las herramientas necesarias para crear dependencias de Odoo:
sudo yum install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel postgresql-devel
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/odoo -s /bin/bash odoo
Puede nombrar al usuario como desee, solo asegúrese de crear un usuario de PostgreSQL con el mismo nombre. Instalar y configurar PostgreSQL #
Instale el servidor PostgreSQL y cree un nuevo clúster de base de datos PostgreSQL:
sudo yum install postgresql-server
sudo postgresql-setup initdb
Una vez completada la instalación, habilite e inicie el servicio PostgreSQL:
sudo systemctl enable postgresql
sudo systemctl start postgresql
Cree un usuario de PostgreSQL con el mismo nombre que el usuario del sistema creado anteriormente, en nuestro caso odoo
:
sudo su - postgres -c "createuser -s odoo"
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.
Para descargar e instalar la versión recomendada, ejecute los siguientes comandos:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Instalar y configurar Odoo 11 #
Instalaremos Odoo desde el repositorio de GitHub para que podamos tener más control sobre las versiones y actualizaciones. También usaremos virtualenv, que es una herramienta para crear entornos Python aislados.
Antes de comenzar con el proceso de instalación, asegúrese de [cambiar al usuario] "odoo":
sudo su - odoo
Para confirmar que ha iniciado sesión como odoo
usuario puede usar el siguiente comando:
whoami
Ahora podemos comenzar con el proceso de instalación, primero clone el odoo desde el repositorio de GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
Habilite las colecciones de software para que podamos acceder a los archivos binarios de Python 3.5:
scl enable rh-python35 bash
Cree un nuevo entorno virtual para nuestra instalación de Odoo con:
cd /opt/odoo
python3 -m venv odoo11-venv
activar el entorno:
source odoo11-venv/bin/activate
e instale todos los módulos de Python necesarios:
pip3 install -r odoo11/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 Before you begin
sección. Una vez completada la instalación, desactive el entorno y vuelva a su usuario sudo con los siguientes comandos:
deactivate
exit
Si planea instalar módulos personalizados, es mejor instalar esos módulos en un directorio separado. Para crear un nuevo directorio para los módulos personalizados, ejecute:
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
A continuación, necesitamos crear un archivo de configuración:
/etc/odoo11.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo11/addons
; If you are using custom modules
; addons_path = /opt/odoo/odoo11/addons,/opt/odoo/odoo11-custom-addons
No olvides cambiar el superadmin_passwd
a algo más seguro y ajuste el addons_path
si está utilizando módulos personalizados. Crea un archivo de unidad systemd #
Para ejecutar odoo como servicio crearemos un odoo11.service
archivo de unidad en el /etc/systemd/system/
directorio con los siguientes contenidos:
[Unit]
Description=Odoo11
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo11
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Notificar a systemd
que hemos creado un nuevo archivo de unidad e iniciamos el servicio Odoo ejecutando:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Puede verificar el estado del servicio con el siguiente comando:
sudo systemctl status odoo11
● odoo11.service - Odoo11
Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2018-03-28 20:13:30 UTC; 6s ago
Main PID: 16174 (scl)
CGroup: /system.slice/odoo11.service
├─16174 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
├─16175 /bin/bash /var/tmp/sclihoNjg
└─16178 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
y si no hay errores, puede habilitar el servicio de Odoo para que se inicie automáticamente en el momento del arranque:
sudo systemctl enable odoo11
Si desea ver los mensajes registrados por el servicio Odoo, puede usar el siguiente comando:
sudo journalctl -u odoo11
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 firewall esté bloqueando el puerto 8069.