lunes, 14 de octubre de 2013

Instalación de OpenERP 7.0 desde cero para Ubuntu y Debian

Esta instalación ha sido probada en Debian 6.x, Debian 7.x Ubuntu 10.04 LTS, Ubuntu 11.10, Ubuntu 12.04 LTS y Ubuntu 13.04 y Ubuntu 13.10

1. Instalación de todas las dependencias de OpenERP 7.0 necesarias, para esto simplemente ejecutamos en nuestra terminal:

# sudo apt-get install bzr bzr-gtk bzrtools python python-egenix-mxdatetime python-dateutil python-pybabel python-openid python-feedparser python-lxml python-libxml2 python-libxslt1 python-psycopg2 python-libxml2 python-libxslt1 python-imaging python-gdata python-ldap python-reportlab python-pyparsing python-simplejson python-pydot python-webdav graphviz python-werkzeug python-matplotlib python-vatnumber python-numpy python-pychart python-vobject python-zsi python-xlwt python-hippocanvas python-profiler python-dev python-setuptools postgresql postgresql-client-common python-yaml python-mako gcc mc python-babel python-feedparser python-reportlab-accel python-zsi python-openssl python-jinja2 python-unittest2 python-mock  python-docutils lptools make python-psutil python-paramiko poppler-utils python-pdftools antiword python-jinja2

Si están en debian omitan el sudo en todos los comandos si es que lo están haciendo desde root, si están acostumbrados al uso de "sudo" pueden instalar esa funcionalidad en debian así:

# apt-get install sudo

Y una vez creado el usuario extra para levantar Openerp del paso 3 pueden darle a este usuario privilegios administrativos así:

# adduser admin sudo

2. Ahora necesitamos configurar los archivos de la base de datos.

2.1 Editaremos el archivo postgresql

Ubuntu 10.04 y Debian 6.0
# sudo nano /etc/postgresql/8.4/main/postgresql.conf

Ubuntu 11.10 / 12.04 / 13.04 y Debian 7.0
# sudo nano /etc/postgresql/9.1/main/postgresql.conf

2.2 Cambiamos la siguiente linea en el archivo: listen_addresses = 'localhost'

Por esta: listen_addresses = '*'

2.3 Ahora modificamos el archivo, pg_hba.conf encontrado en la misma ruta anterior

Ubuntu 10.04 y Debian 6.0
# sudo nano /etc/postgresql/8.4/main/pg_hba.conf

Ubuntu 11.10 / 12.04 / 13.04 y Debian 7.0
# sudo nano /etc/postgresql/9.1/main/pg_hba.conf

2.4 Eliminamos todo el contenido de ese archivo y pegamos esto:

######################################################################################
# "local" is for Unix domain socket connections only
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
local   all         all                               trust
# IPv4 local connections:
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
host    all         all         127.0.0.1/32          trust
# ADD THIS LINE TO ALLOW REMOTE ACCESS; use your own IP address range:
host    all         all         0.0.0.0/0        trust
# IPv6 local connections:
host    all         all         ::1/128               ident
######################################################################################

2.5 Reiniciando postgres

Ubuntu 10.04 y Debian 6.0
# sudo /etc/init.d/postgresql-8.4 restart

Ubuntu 11.10 / 12.04 / 13.04 y Debian 7.0
# sudo /etc/init.d/postgresql restart

3. (Solo para Ubuntu Server o Debian) Agregar un usuario para poder ejecutar el OpenERP sin privilegios de root por cuestiones de seguridad, el nombre del usuario para este ejemplo será "admin"

# sudo adduser admin

4. Configurar un usuario en Postgres para acceder por medio de él a las bases de datos, por seguridad no es recomendable realizarlo con el usuario postgres que crea la base de datos por default.

41. Primero debemos cambiar el password del usuario de linux creado llamado postgres.

# sudo passwd postgres

4.2 Ahora debemos entrar con ese usuario para poder crear un usuario que pueda acceder a las bases de datos

# su - postgres

4.3 Creamos un usuario llamado "openerp" para acceder a la base de datos de Postgres.

# createuser --createdb --no-createrole --pwprompt openerp

Introducen  un password para el usuario, en este ejemplo utilizaré "openerp" también de pasword y cuando les pregunte si este rol es super usuario deben decir que si.

4.4 Ahora debemos salir del usuario postgres de linux

# exit

Esto nos regresará al prompt de nuestro usuario, root si estamos en Ubuntu Server o Debian

5. Descargar las fuentes de OpenERP 6.1

5.1 Debemos de crear una carpeta en donde almacenaremos las fuentes de OpenERP

# mkdir openerp7
# cd openerp7

5.2 Ahora descargaremos el servidor de OpenERP 7

# bzr branch lp:openobject-server/7.0 server 

Esto creará una carpeta llamada server y va a comenzar a descargar todos las fuentes

5.4 Descargando los addons que son los módulos necesarios para trabajar

# bzr branch lp:openobject-addons/7.0 addons 

Esto creará una carpeta llamada addons y va a comenzar a descargar todos las fuentes

5.6 Descargando el módulo WEB

# bzr branch lp:openerp-web/7.0 web 

Esto creará una carpeta llamada web y va a comenzar a descargar todos las fuentes

Listo ahora tenemos todas las fuentes descargadas listas para ser ejecutadas, si siguieron al pie de la letra este tutorial tendrían esta estructura:

/openerp7/
/openerp7/server
/openerp7/addons
/openerp7/web

6. (Solo para Ubuntu Server o Debian) Otorgando los permisos requeridos al usuario que ejecutará OpenERP en nuestro servidor

6.1. Nos movemos a la carpeta raíz que contiene la primer carpeta creada llamada Openerp7 

# cd ..

6.2 Cambiamos de propietario la carpeta Openerp7 al usuario "admin"creado en el punto 3

# chown -R admin:admin openerp7

7. Creando el archivo de configuración

7.1 Nos dirigiremos a la carpeta en donde se encuentra el archivo "ejecutable"de openerp server

# cd openerp7/server

7.2 Creamos un archivo de configuración base para poder modificarlo

# python openerp-server -s -c erp.conf

Para ubuntu server o debian lo hacemos así:

# sudo -u admin python openerp-server -s -c erp.conf

Parar para el servidor y volver a salir al "prompt" presionamos CTRL + C dos veces

7.3 Editando el archivo .conf creado

# nano erp.conf

7.3.1 Buscamos las siguientes lineas en el archivo que se abrió y les ponemos el usuario y password creado en el paso 4.3

db_password = openerp
db_user = openerp

7.3.2 Ahora en el mismo archivo buscamos y modificamos la ruta en donde se configuran los addons, aquí también deberemos ingresar la ruta donde esta el  módulo web

addons_path = /ruta_completa_de_openerp_server/openerp61/addons/,
/ruta_completa_de_openerp_server/openerp61/web/addons/

8. Arrancando el Openerp 7.0

8.1 Para arrancar el servidor simplemente tecleamos 

# python openerp-server -c erp.conf

Para ubuntu server debemos realizarlo así:

# sudo -u admin python openerp-server -c erp.conf

Ahora el servidor debe estar corriendo a la perfección

8.2 Para comprobar que el servidor de OpenERP esta funcionando debemos abrir un navegador, de preferencia Google Chrome o Firefox y teclear en la barra de dirección: http://localhost:8069 y nos debe mostrar la pantalla de login.

9. Dejando OpenERP corriendo en segundo plano

9.1 Detenemos el servidor presionando dos veces CTRL + C

9.2 Debemos indicar a OpenErp que el LOG no lo muestre en pantalla si no que lo envíe a un archivo, para ello editamos nuevamente el archivo .conf como lo hicimos en el paso 7.3 buscamos y modificamos la linea:

logfile = openerp61.log

9.3 Arrancamos nuevamente open erp pero de la siguiente manera:

 python openerp-server -c erp.conf &

Para ubuntu server así:

 sudo -u ubuntu python openerp-server -c erp.conf &

De esta forma el servidor se ejecutará en segundo plano y podemos cerrar la terminal o hacer un logout en el sistema y seguirá funcionando

Espero haya sido útil esta información, posteriormente les pondré paso a paso como configurarlo para que arranque al inicio del Servidor.

Saludos.

PD. He recibido algunos comentarios por correo solicitando ayuda personalizada, sé que aveces es complicado sobre todo si no se tiene el suficiente conocimiento en Linux por lo tanto me pongo a sus órdenes para instalación de OpenERP o soporte del mismo a un costo razonable, a veces es mejor enfocarse en lo que se requiere hacer y no batallar con cosas que solo se harán una vez.

De igual manera ofrezco servidores muy estables a muy bajo costo para su OpenERP, dedicados y compartidos.

jueves, 13 de junio de 2013

OpenERP 6.1 + Conector + Magento 1.7.0.2 en Debian / Ubuntu desde CERO sin dolores de cabeza.


Realicé una tienda ligada a OpenERP, aquí dejo el primer video tutorial acerca de como configurar Magento.

http://www.youtube.com/watch?v=BuRRzhLIgtc

Posteriormente subiré la configuración del conector a OpenERP.

Saludos.

lunes, 18 de marzo de 2013

VPN PPT en Linux

Muchas veces ha nacido la duda de que VPN es mejor y por que, pues en este link encontraremos un artículo interesante con esta respuesta.

http://es.giganews.com/vyprvpn/compare-vpn-protocols.html

En particular me gusta mucho utilizar OpenVPN, es la más segura que existe pero también la mas "larga" y complicada de configurar así como aún no aceptada de forma nativa por Windows, IOs, Android, la mayoría de teléfonos VoIP y Linux, es decir se deben instalar software de terceros para lograr esta conexión aunque vale la pena.

Por lo que aveces necesito otro tipo de VPN es para conectar teléfonos SIP ya que en México Telmex bloquea el protocolo RTP (En todo América Latina) y no se pueden realizar llamadas VoIP "planas" es decir necesitamos encriptar los datos para "engañar" a nuestro carrier.

Pues en esta ocasión muestro como levantar un servidor PPTD en nuestro Linux, en realidad es muy fácil.

1. Instalando lo necesario.

# sudo apt-get install pptpd

2. Configurando las IPs de nuestro servidor.

# sudo nano /etc/pptpd.conf

Agregamos o modificamos las siguientes líneas:


localip 192.168.200.1
remoteip 192.168.200.2-253

Donde localip es la IP del servidor que le queremos otorgar en nuestra VPN
y remoteip son las IPs que se le otorgarán a nuestros clientes.

3. Configurando las opciones.

# sudo nano /etc/ppp/pptpd-options

Al final agregamos estas líneas.

nobsdcomp
noipx
mtu 1490
mru 1490

4. Creamos usuarios.

# sudo nano /etc/ppp/chap-secrets

En este archivo se agregarán los usuarios y contraseñas para acceder al servidor.

usuario1 pptpd password1 *
usuario2 pptpd password2 *

5. Configurando el Firewall.

# sudo iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o eth0 -j MASQUERADE
# sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

IPTABLES es todo un tema posteriormente agregaré una entrada al respecto.

eth0 es la interfaz de la red local donde está el servidor, puede ser eth1, eth2 según tu caso particular.

6. Ahora se pueden conectar desde Windows, Linux, MacOS, IOs, Android, etc de forma muy sencilla. Es importante "quitar" la opción de "pasar todo el tráfico" por la VPN en nuestra configuración del cliente ya que de no hacerlo TODO el tráfico se intentará ir por la VPN y esto nos alentaría el Internet o no tendríamos Internet solo conexión a la VPN.

En Windows.

Propiedades de la conexión -> Funciones de Red -> Protocolo de Internet Version 4 -> Propiedades -> Opciones avanzadas.

Desmarcar la opción de "Usar la puerta de enlace predeterminada en la red remota"

7. A disfrutar de la VPN.




Iniciar cualquier aplicación como servicio en Linux

A continuación describo como poner nuestro OpenERP (en realidad cualquier aplicación) para iniciar con Linux.

Existen varias formas de hacerlo, en particular lo prefiero como servicio "real" con comandos de start, stop y restart pero esta vez lo realizaremos desde el archivo rc.local lo cual es más fácil y más estándar.

1. Primero debemos identificar las rutas completas de nuestros archivos a ejecutar, para el caso de OpenERP, para los que aún no han instalado su OpenERP revisar esta entrada.

Así lo ejecutamos dentro de la carpeta donde esté nuestro OpenERP /home/ubuntu/openerp/server/:

sudo -u ubuntu python openerp-server -c erp.conf

Lo debemos ahora ejecutar con sus rutas completas:

sudo -u ubuntu python /home/ubuntu/openerp/server/openerp-server -c /home/ubuntu/openerp/server/erp.conf

Probaremos el comando anterior si todo funciona perfectamente muy bien !

2. Le indicaremos a Linux que inicie nuestro programa al iniciar.

Editamos el archivo /etc/rc.local:

# sudo nano /etc/rc.local

Agregamos estas líneas:


sudo -u ubuntu python /home/ubuntu/openerp/server/openerp-server -c /home/ubuntu/openerp/server/erp.conf
exit 0

Le damos permiso de ejecución a ese archivo:

# sudo chmod +x /etc/rc.local

Listo !

Ahora probemos reiniciando nuestro Linux.

Importante: Todos los programas que se agreguen en este archivo serán ejecutados como ROOT lo cual es riesgoso por eso le indicamos con "sudo -u ubuntu" que lo ejecute con un usuario con menos privilegios.

Saludos.