Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como instalar odoo ERP en Linux Centos 7 paso a paso

DriveMeca odoo Logo
Que tan organizado es tu negocio? Mucho me dirás, pero, lo tienes sistematizado, como manejas tus clientes, la facturación que tal se maneja?. Muchos temas que si no se unifican se vuelve un monstruo creciente difícil de manejar. Para esto una buena practica es manejar un ERP junto a otras herramientas idealmente conectadas entre si. Lo que nos lleva al tema del articulo de hoy, instalar paso a paso Odoo (antiguo OpenERP) en un servidor Linux Centos 7 con PostgreSQL 9.3.
Nuestro servidor deberá ser una instalación mínima de Centos y usaremos el código fuente colocado en Git para tener nuestro ERP lo mas actualizado posible.

Requerimientos


-Instalamos el repositorio de postgresql buscando tenerlo mas actualizado
rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm

-Instalamos postgresql 9.3
yum install postgresql93-libs postgresql93-server postgresql93  postgresql93-devel php-pgsql php-gd

-Instalamos dependencias
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel libyaml-devel python-virtualenv git libpng12 libXext xorg-x11-font-utils libXext xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi libpqxx-devel

-Activamos el servicio de postgresql
/usr/pgsql-9.3/bin/postgresql93-setup initdb
systemctl enable postgresql-9.3.service

-Activamos las conexiones con MD5 en postgresql
sed -i "/^host/s/ident/md5/g" /var/lib/pgsql/9.3/data/pg_hba.conf

-Iniciamos el servicio
systemctl start postgresql-9.3.service

-Creamos dos contraseñas, una para el admin de odoo y la otra para postgresql dejándolas en el ambiente como variables
admin_pass=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;`
pgsql_pass=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;`

-Creamos el usuario odoo en postgresql
echo -e "$pgsql_pass\n$pgsql_pass\n" | su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo"

-Instalamos dependencia para poder generar pdf
rpm -ivh  http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/

-Instalamos tipos de letras de microsoft
rpm -ivh  http://dl.fedoraproject.org/pub/epel/7/x86_64/l/libmspack-0.5-0.1.alpha.el7.x86_64.rpm
rpm -ivh  http://dl.fedoraproject.org/pub/epel/7/x86_64/c/cabextract-1.5-1.el7.x86_64.rpm
rpm -ivh http://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

-Creamos el usuario odoo y los 3 directorios necesitados
adduser odoo
DIR="/var/run/odoo /var/log/odoo /opt/odoo"
for NAME in $DIR
> do
> if [ ! -d $NAME ]; then
>  mkdir $NAME
>  chown odoo.odoo $NAME
> fi
> done

-Nos cambiamos al usuario odoo y creamos un ambiente virtual (así los módulos python no afectaran a Centos en caso dado sino solo al usuario odoo). Agregamos a la variable de ambiente PATH el camino de los binarios de postgresql 9.3
su - odoo
/bin/virtualenv odoo
source odoo/bin/activate
PATH=$PATH:/usr/pgsql-9.3/bin/

-Instalamos módulos python y salimos del usuario odoo
pip install http://download.gna.org/pychart/PyChart-1.39.tar.gz
pip install babel
pip install docutils
pip install feedparser
pip install gdata
pip install Jinja2
pip install mako
pip install -U pip wheel setuptools
pip install mock
pip install psutil
pip install psycopg2
pip install pydot
pip install python-dateutil
pip install python-openid
pip install pytz
pip install pywebdav
pip install pyyaml
pip install reportlab
pip install simplejson
pip install unittest2
pip install vatnumber
pip install vobject
pip install werkzeug
pip install xlwt
pip install pyopenssl
pip install lxml
pip install python-ldap
pip install pillow
pip install decorator
pip install requests
pip install pyPdf
pip install wkhtmltopdf
pip install passlib
exit

-Descargamos el código en opt y cambiamos sus permisos. Hora de ir por un café ;-)
cd /opt
git clone https://github.com/odoo/odoo.git --branch 8.0
chown -R odoo.odoo odoo

-Creamos el conf del servidor odoo con las variables de ambientes creadas anteriormente
vi /etc/odoo-server.conf
[options]
admin_passwd = $admin_pass #cambiamos por el contenido de esta variable
db_host = localhost
db_port = 5432
db_user = odoo
db_password = $pgsql_pass #cambiamos por el contenido de esta variable
addons_path = /opt/odoo/addons
without-demo=all
no-xmlrpc = True
no-xmlrpcs = True
no-netrpc = True
logfile = /var/log/odoo/odoo-server.log
log_handler = werkzeug:WARNING
log_level = warn
no-logrotate = True

-Creamos también un conf para logrotate
cat > /etc/logrotate.d/odoo-server << EOF
 /var/log/odoo/*.log {
     copytruncate
     missingok
     notifempty
 }
EOF

-Creamos un script para el inicio de odoo server en centos 7
cat > /usr/lib/systemd/system/odoo.service << EOF
[Unit]
Description=Odoo Open Source ERP and CRM
After=network.target postgresql.service

[Service]
Type=forking
User=odoo
Group=odoo
Environment="ENVDIR=/home/odoo/odoo"
ExecStart=/bin/bash -c "cd /home/odoo; /bin/virtualenv -q odoo; source odoo/bin/activate; /usr/bin/odoo-server --config=/etc/odoo-server.conf &"

[Install]
WantedBy=multi-user.target

EOF

-Activamos el script y lo activamos para que ejecute al hacer boot el servidor
ln -s /opt/odoo/openerp-server /usr/bin/odoo-server
systemctl enable odoo

-Abrimos el puerto 8069 en nuestro firewall iptables y recargamos las políticas
firewall-cmd --zone=public --add-port=8069/tcp --permanent
firewall-cmd --reload

-Iniciamos el servicio
systemctl start odoo

-Abrimos un browser y navegamos al URL http://ip-servidor:8069. Allí debemos escribir la contraseña que almacenamos en admin_pass en el campo Master password. Podemos verla en el conf o con un echo $admin_pass en la terminal. Escribimos un nombre para una db a usarse, activamos el idioma y creamos una contraseña para logearnos vía web. OJO: si nos deslogeamos por error o descuido, el usuario es admin y la contraseña que estamos creando en este momento. Damos click al botón Create Database
DriveMeca instalando odoo ERP en Linux Centos 7

-Esta es nuestra primera vista de odoo con todos los módulos disponibles a instalar. La sugerencia es solo activar los que vayamos a usar
DriveMeca instalando odoo ERP en Linux Centos 7

-Las alertas nos saldrán en la parte superior derecha como esta del ejemplo, debemos activar bien la zona horaria. Damos click al triangulo rojo y después al anuncio de Haga click
DriveMeca instalando odoo ERP en Linux Centos 7

-En la ventana que nos aparece activamos nuestra zona horaria y damos click al botón Guardar
DriveMeca instalando odoo ERP en Linux Centos 7

Ya estamos listos para personalizar odoo a nuestras necesidades
Usas OpenERP? Ya usas odoo? Que tal te ha parecido?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark