Instalar Odoo en Ubuntu 16.04

Toda empresa necesita apoyarse en herramientas que den cobertura a sus necesidades de negocio. Existen en el mercado multitud de sistemas de información que cubren esta necesidad. Los llamados ERP ayudan a la gestión de las actividades de ventas, entregas, pagos, producción, administración de inventarios, contabilidad, recursos humanos , etc.

En nuestro caso, necesitábamos una herramienta para gestionar ventas, selección, contabilidad y facturación. Entre las muchas opciones existentes, nos decantamos por Odoo (aquí su página oficial), que es quizá el software para negocios más instalado en el mundo, con más de 2 millones de usuarios. Nació en el 2004 como Tiny ERP, posteriormente OpenERP y desde 2013 se presenta con su actual nombre.

Odoo tiene tres versiones distintas: Enterprise, Online SaaS y Community version. Esta última es la que nos resulta especialmente interesante, se trata de una aplicación plenamente OpenSource. Es una suite que consta de 34 aplicaciones principales creadas por Odoo, pero que además tiene más de 5,500 aplicaciones desarrolladas por su muy activa comunidad y que dan cobertura a la mayor parte de las necesidades de cualquier negocio. Y con la ventaja de que, al ser modular, puedes instalarte sólo aquello que necesites.

A continuación detallo los pasos que seguimos para su instalación en un servidor con Ubuntu 16.04.

Prerrequisitos

Antes de instalar Odoo realizamos los siguientes pasos:

  1. Actualizar el sistema
    sudo apt update && sudo apt upgrade
  2. Si no tenemos instalado ninguno, instalaremos un servidor web. En nuestro caso, Apache:
    sudo apt-get install apache2
  3. Hay que configurar el firewall para dejar abierto, tanto para acceso ssh como tcp, el puerto utilizado por defecto por Odoo (8069). Este puerto puede personalizarse (aunque no es recomendable configurarlo en el puerto 80, el utilizado por Apache), pero en nuestro caso será el que utilicemos. Lo habilitamos en UFW:
    sudo ufw allow ssh
    sudo ufw allow 8069/tcp
    sudo ufw enable
  4. Odoo está desarrollado en Python. Instalamos sus dependencias:
    sudo apt-get install python-dateutil python-docutils python-feedparser python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi poppler-utils python-pip python-pypdf python-passlib python-decorator gcc python-dev mc bzr python-setuptools python-markupsafe python-reportlab-accel python-zsi python-yaml python-argparse python-openssl python-egenix-mxdatetime python-usb python-serial lptools make python-pydot python-psutil python-paramiko poppler-utils python-pdftools antiword python-requests python-xlsxwriter python-suds python-psycogreen python-ofxparse python-gevent
  5. La base de datos que utiliza Odoo es PostgreSql. La instalamos y creamos un usuario (en nuestro ejemplo, ‘odoo’):
    sudo apt-get install postgresql
    su -- postgres
    createuser odoo
  6. Ahora creamos el directorio donde vamos a instalar Odoo (en nuestro caso, /opt/odoo):
    sudo mkdir /opt/odoo
  7. Creamos el usuario y grupo ‘odoo’ en nuestro sistema:
    sudo adduser --system --home=/opt/odoo --group odoo

Instalación de Odoo

  1. Clonamos los ficheros de Odoo en la ubicación elegida (en nuestro caso, /opt/odoo/):
    sudo git clone https://www.github.com/odoo/odoo --depth 1 --branch 10.0 --single-branch /opt/odoo
  2. Instalamos las dependencias necesarias para las App de Odoo. Wkhtmltopdf, necesario para la generación de informes en PDF, así como NPM y su paquete less:
    wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
    sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
    sudo cp /usr/local/bin/wkhtmltopdf /usr/bin
    sudo cp /usr/local/bin/wkhtmltoimage /usr/bin
    sudo apt-get -yq install npm
    sudo ln -s /usr/bin/nodejs /usr/bin/node
    sudo npm install -g less less-plugin-clean-css
  3. Instalar las dependencias de Python (si la ruta donde instalaste Odoo es diferente, tienes que cambiar /opt/odoo/odoo-10.0 por tu ruta personalizada):
    sudo pip install -r /opt/odoo/odoo-10.0/doc/requirements.txt
    sudo pip install -r /opt/odoo/odoo-10.0/requirements.txt

Configuración

  1. Copiar el fichero de configuración que viene de ejemplo a una ubicación más conveniente. Si utilizaste una ruta personalizada, tienes que sustituir ‘/opt/odoo/odoo-10.0’ por la tuya propia:
    sudo cp /opt/odoo/odoo-10.0/debian/odoo.conf /etc/odoo.conf
  2. Modificar el fichero de configuración con tus propios datos:
    [options]
    admin_passwd = tupasswordpersonalizadoyfuerte
    db_host = False
    db_port = False
    db_user = odoo
    db_password = False
    addons_path = /opt/odoo/odoo-10.0/addons (modificar si instalaste en otra ruta)
    xmlrpc_port = 8069
    logfile = /var/log/odoo/odoo.log
    log_level = error
    SECURITY_EMAIL_SENDER = ‘tu@mail.com’

Configurar Odoo como servicio

  1. Creamos un fichero llamado odoo.service en /etc/systemd/system, con un contenido como este (de nuevo, si utilizaste rutas diferentes en la instalación, tendrás que personalizarlas aquí):
    [Unit]
    Description=Odoo
    Documentation=http://www.odoo.com/
    [Service]
    # Ubuntu/Debian convention:
    Type=simple
    User=odoo
    ExecStart=/opt/odoo/odoo-10.0/odoo-bin -c /etc/odoo.conf[Install]
    WantedBy=default.target
  2. Cambia propietario y permisos del fichero de configuración para que lo lance el usuario que hemos creado (‘odoo’) :
    sudo chown odoo: /etc/odoo.conf
    sudo chmod 640 /etc/odoo.conf
  3. Arrancamos el servicio:
    sudo systemctl start odoo.service
  4. Comprobamos que funciona:
    sudo systemctl status odoo.service
  5. Si todo está bien, habilitamos el servicio, con lo que se iniciará cada vez que arranque el sistema:
    sudo systemctl enable odoo.service

Configuración de Apache

  1. Para poder acceder a Odoo desde tu propio dominio y sin necesidad de añadir el puerto 8069 en la URL, configuramos un Proxy Reverso en Apache. Primero, habilitamos los siguientes módulos:
    sudo a2enmod proxy
    sudo a2enmod proxy_http
  2. Creamos un archivo de configuración para tu dominio:
    sudo gedit /etc/apache2/sites-available/tu-dominio.com.conf
  3. Añadimos el siguiente contenido:
    <VirtualHost *:80>
    ServerName tu-dominio.com
    ServerAlias www.tu-dominio.com
    ProxyRequests Off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    ProxyPass / http://tu-dominio.com:8069/
    ProxyPassReverse / http://tu-dominio.com:8069/
    <Location />
    Order allow,deny
    Allow from all
    </Location>
    </VirtualHost>
  4. Una vez guardado el contenido del fichero de configuración, lo habilitamos:
    sudo a2ensite tu-dominio.com.conf
  5. Reiniciamos Apache:
    sudo service apache2 restart

Iniciando Odoo

  1. Si todo ha ido bien hasta ahora, ya podemos acceder a Odoo simplemente introduciendo en un navegador la direccón de nuestro dominio:
    http://tu-dominio.com
  2. Debe aparecer una pantalla como la siguiente:
  3. Sólo debemos proporcionar el nombre de la base de datos que creamos en un paso anterior, nuestro e-mail y el password. Con esto ya está Odoo completamente instalado y funcional… ahora sólo queda (pero eso ya no es objeto de este post) instalar los módulos deseados, así como configurar e implementar los procesos de nuestra empresa.

Deja un comentario