Publicidad

lunes, 10 de octubre de 2016

Instalación de Odoo 10 en CentOS 7




Instalación de Odoo 10 en 
CentOS 7

Instalación de Odoo 10 en un servidor CentOS 7 con GitHub

Instalación y Configuración de PostgreSQL 9.3

Primero que nada debemos instalar y descargar PostgreSQL del repositorio Oficial:
rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm  
yum -y install postgresql93 postgresql93-server postgresql93-devel --disablerepo=* --enablerepo=pgdg93  
El segundo paso es habilitar el Servidor PostgreSQL como un servicio del Sistema:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
systemctl enable postgresql-9.3.service  
systemctl start postgresql-9.3  
Creamos un usuario postgres para nuestro servidor Odoo:
su - postgres -c "createuser -s odoo" 2> /dev/null || true  

Instalación de dependencias para Odoo

Necesitaremos instalar las herramientas necesarias:
yum -y groupinstall "Development tools"  
Para la instalación de las dependencias ejecutaremos en una terminal:
yum -y install subversion git bzr bzrtools postgresql python-all-dev python-dev python-setuptools libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev python-tk libyaml-dev fontconfig node-less python-pip gdebi-core python-dateutil python-feedparser python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi python-docutils python-psutil python-mock python-unittest2 python-jinja2 python-pypdf python-decorator python-requests python-passlib python-pil
Habilitaremos repositorios como EPEL:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm  
rpm -ivh epel-release-7-5.noarch.rpm  
Instalación de Wkhtmltopdf:
yum --enablerepo=epel install wkhtmltopdf  
Instalación de la aplicación Python Pip, para el manejo de las librerías en Python:
yum --enablerepo=epel install python-pip  

Descarga de Odoo desde Repositorios Oficiales via GitHub

Clonamos el repositorio oficial en la ruta /opt/ :
git clone --branch 10.0 https://www.github.com/odoo/odoo /opt/odoo

Creación de una Virtual Env para Odoo

Un virtual env es un emulador de librerías Python, que nos permitirá manejar librerías Python de forma independiente en una ruta especifica.

Creamos un nuevo usuario del Sistema, y lo asignamos como propietario de nuestro git clone Odoo /opt/directorio_odoo :
useradd odoo  
chown -R odoo: /opt/odoo  
su - odoo  
Ahora instalaremos las dependencias desde nuestro archivo requirements.txt, ubicado en la instalación de Odoo (requirements.txt):
/bin/virtualenv odoo
source odoo/bin/activate  
PATH=$PATH:/usr/pgsql-9.3/bin  
pip install -r /opt/odoo/requirements.txt  
exit  
Esperamos que finalice la descarga de los paquetes a nuestro entorno virtual.

Creación del Servicio Odoo (Systemctl)

Generamos el archivo odoo-server.conf:
cat > /etc/odoo-server.conf << EOF  
[options]
admin_passwd = admin  
db_host = False  
db_port = False  
db_user = odoo  
db_password = False  
addons_path = /opt/odoo/addons,/opt/odoo/odoo/addons
without-demo=all  
no-xmlrpc = True  
no-xmlrpcs = True  
no-netrpc = True  
log_db = False  
log_handler = ['[\'["[\\\':INFO\\\']"]\']']  
log_level = info  
logfile = False  
login_message = False  
logrotate = True  
syslog = False  
EOF  
Generamos el archivo odoo.service (systemctl):
cat > /usr/lib/systemd/system/odoo.service << EOF  
[Unit]
Description=Odoo 10.0 ERP and CRM server  
After=postgresql-9.3.service

[Service]
Type=simple  
User=odoo  
Group=odoo  
ExecStart=/home/odoo/odoo/bin/python /opt/odoo/odoo-bin --config=/etc/odoo-server.conf

[Install]
WantedBy=multi-user.target  
EOF  
Puedes usar el siguiente comando para visualizar el log de Odoo en tiempo real: journalctl -f -u odoo.

Pasos Finales

Necesitamos permitir el acceso de información del puerto 8069 en el firewall de CentOS:
firewall-cmd --zone=public --add-port=8069/tcp --permanent  
firewall-cmd --reload  
Finalmente iniciamos el Servicio de Odoo con los comandos:
systemctl enable odoo.service  
systemctl start odoo  
Listo, ahora visualizaremos en nuestro navegador: http://<ip_servidor>:8069


22 comentarios:

  1. cordial saludo gracias por compartir el tutorial, me pregunto si la instación que se muetra es comunity o businnes, pues yo estoy interesado en la gratuita.

    ResponderBorrar
  2. Buenas,

    Me he encontrado en CentOS con el error :
    Could not execute command 'lessc'

    No he realizado la instalación siguiendo tu tutorial, lo había hecho antes.

    Porque razón a ti no te da ese error y a mi sí, como lo solvento en CentOS, en Debian y Ubuntu he instalado node-less y me va bien, pero en CentOS ni por esas

    Saludos

    ResponderBorrar
    Respuestas
    1. Prueba ejecutando esto:

      sudo apt-get -y install curl npm && curl -sL https://deb.nodesource.com/setup | bash - && apt-get -y install nodejs && npm install -g npm && npm install -g less less-plugin-clean-css

      Borrar
    2. Buenas German, no puedo ejecutar apt-get en CentOS, alguna alternativa?

      Borrar
    3. sudo yum -y install curl npm && curl -sL https://deb.nodesource.com/setup | bash - && apt-get -y install nodejs && npm install -g npm && npm install -g less less-plugin-clean-css

      Borrar
  3. Hola... yo el consigo instalarlo sin problemas pero la pega que tengo que no me deja instalar nada de la APP Store... me da Internal Server error...
    Me ha pasado tanto en Centos como en Ubuntu al instalar Odoo 10

    ResponderBorrar
    Respuestas
    1. Juankaz, yo tuve este tipo de problemas, una prueba rapida es borrando los temporales del navegador o probando en ventanas de incognito (chrome). Saludos

      Borrar
  4. para el proceso de odoo desde systemd o systemctl y correlo como usuario asi python odoo-bin

    Te va a mostrar el Debug y ya con eso no es necesario mirar en los logs...

    Mi problema es otro nos e quien rompio el servidor ahora me toca arreglarlo :S, estoy viendo si hago backup y reinstalo todo por q no me da ningun error pero no se muestra correctamente la vista de odoo y no he instalado nada :O

    Alguna idea

    ResponderBorrar
    Respuestas
    1. Una solucion simple es probando en ventanas de modo incognito en chrome o firefox, o borra los temporales y historial de tu navegador. Saludos

      Borrar
  5. after your command
    pip install -r /opt/odoo/requirements.txt
    you shall do
    pip setup.py install, that compiled it to the virtual env library, and you shall also add that path to your odoo-server.conf

    ResponderBorrar
  6. Saludos German, quisiera contactarme contigo para tratar una personalizacion del Odoo, te dejo mi correo por aqui infotecno@gmail.com eapero noticias tuyas.

    ResponderBorrar
  7. Muy bueno el post, pero no funciona lo de habilitar el servicio con systemctl.

    ResponderBorrar
    Respuestas
    1. Que tal Cris no funciona debido a que lo debes configurar dependiendo la versión de postgres. Saludos

      Borrar
  8. cuando llego a este paso " /bin/virtualenv odoo " me dice que no existe el fichero o directorio, que puedo hacer???

    ResponderBorrar
  9. No estás ubicado en el directorio raiz del proyecto. Si haces un ls debes ver el directorio /bin

    ResponderBorrar
  10. hola esta versión es gratis, puedo usarla en mi pyme sin pagar licenciamiento?

    ResponderBorrar