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