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.


sábado, 29 de septiembre de 2012

Compactando VDI en Linux

Introducción

Entorno:

  • Host: Windows 7
  • Guest: Ubunut 12.04 Server
  • Virtualizador: Virtual Machine

Como sabemos al eliminar un archivo de cualquier Sistema Operativo (SO) este no se elimina realmente del disco duro (DD), lo que se hace es se eliminan las direcciones de donde este se almacena  de esta manera esta "oculto" para el SO pero el espacio que utilizaba sigue estando "ocupado" por el archivo.

Esto no tiene repercusión en un DD físico utilizado por un SO pero sí para un DD virtual (VDI) ya que este espacio NO se reutiliza hasta que se comienza a llenar el VDI y obviamente nuestro archivo VDI que se almacena en el DD crece hasta el límite dependiendo del tamaño que le hallamos asignado en nuestra máquina virtual.

Supongamos este escenario:

  1. SO Linux instalado con todo lo que necesitamos: tamaño del VDI 2.5G, tamaño real usado*: 2.5G
  2. Copiamos videos a nuestra máquina virtual o cualquier archivo grande, tamaño del VDI 5.7G, Tamaño real usado*: 5.7G
  3. Eliminamos estos archivos de la máquina virtual, tamaño del VDI 5.7G, Tamaño real usado*: 2.5G

* Para conocer el tamaño real utilizado en Linux podemos teclear en una consola el siguiente comando.


df -h

Como nos podemos percatar en el punto 3 nuestro archivo ya utilizó el espacio anterior y NO vuelve a hacerse pequeño nuestro archivo VDI.

Existen comandos de VirtualBox que "compactan" este archivo pero si los utilizamos en este punto nos daremos cuenta que al finalizar el comando el archivo sigue teniendo exactamente el mismo tamaño :(

Manos a la Obra.

1. Instalando lo necesario

sudo apt-get install secure-delete

2. Secure Delete tiene 4 herramientas que les pueden ser muy útiles

srm (secure remove), que permite borrar archivos y directorios en forma permanente
smem (secure memory wiper), que permite limpiar tu memoria RAM
sfill (secure free space wiper), que limpia en forma permanente todo el espacio libre de tus discos
sswap (secure swap wiper), que limpia en forma permanente toda la información almacenada en la partición swap.

3. De momento solo utilizaremos una de ellas: sfill

sudo sfill -f /

Este proceso demora bastante así que les recomiendo realizarlo en la noche xD

Una vez finalizado observarán que el archivo VDI creció al límite, es decir si hicieron el VDI de tamaño 100G en VitualBox ahora el archivo utiliza 100G.

Esto es normal puesto que sfill llenó de ceros TODO el espacio libre del VDI

4. Compactando el VDI

Ahora si estamos listos para compactar nuestro archivo y como el VDI tiene perfectamente identificado el espacio libre esta compactación resultará como esperamos.

Windows.

Como ahora utilizo Windows como Host (y es magnifico por cierto) encuentro todo con un click, existe un programa llamado Clone VDI, lo pueden descargar de http://allmyapps.com/apps/clonevdi-virtualbox.

Lo ejecutamos y dejamos estas opciones:



Linux

VBoxManage modifyhd /RUTA/NOMBRE_DEL_ARCHIVO --compact

Listo ahora tenemos de nuevo nuestro archivo de 2.G.

Saludos !



sábado, 22 de septiembre de 2012

Tutoriales en vídeo de OpenERP 6.1

Tutorial en vídeo para usar OpenERP 6.1

He publicado algunos vídeos acerca de OpenERP que me gustaría compartir:

www.youtube.com/grupoaltegra

Si algo les gustaría que documentara en vídeo envíenme un inbox o comenten por aquí en la medida de lo posible lo realizo.

Saludos

¿Desarrollando para OpenERP en Windows?

Intrducción

Si aunque parezca extraño algunos tenemos esa "extraña" necesidad, trabajar en Windows pero editando archivos de OpenERP, probando cambios y lo mas importante subiendo estos a Launchpad.

El primer problema con el que nos encontramos es que es exageradamente tedioso instalar todas las librarías  de Python para correr las fuentes de OpenERP en Windows, si lo logras hacer después de mucho "googlear" bien por ti pero te encontrarás con otros dos enormes problemas:

1. Windows no "conoce" los enlaces "suaves" de Linux con los cuales se recomienda enlazar los módulos de OpenERP a una carpeta principal y esto te obligara a utilizar un "experimento" de enlaces llamado MKLINK en cual deja mucho que desear.

2. Windows no respeta el estándar de fecha por lo que al utilizar Launchpad te darás de topes en la pared ya que te intentará subir "cambios" en archivos que no has tocado.

Después de este punto maldecirás mil veces Windows y regresaras al feo pero muy "estable" Ubuntu.

Estable entre comillas SI, lo puse bien, y es que a pesar de utilizar Linux desde hace mas de 10 años (utilizándolo todos los días no solo un rato) me siento en la total libertad de expresar mi opinión:

Linux NO es nada estable en entorno gráfico, veamos:

Gnome 3, se brinca todas los estándares de usabilidad,
Unity ni siquiera sirve para trabajos cotidianos,es lento y tiene muy poca funcionalidad,
Cinnamon (del cual escribí un artículo aquí) cumple lo requerido para ser usable pero se traba horrores, y no solo lo digo yo, tengo un equipo de trabajo con el cual probamos todos lo mismo para comprobar que no sea error de usuario o error pasajero.
KDE, este sí que es bonito y un poco estable, de todos es el mas aceptado de momento para mi (aunque en el artículo anterior mencione que Cinnamon, si, ¿y? tengo derecho a cambiar de opinión). Pues bien en este escritorio encontré aún algunos fallos, sobre todo al trabajar con varios monitores y al suspender sistema, se queda colgado algunas veces.

Y algo que no es culpa del escritorio pero que se extraña es la Hibernación del sistema, yo estoy muy acostumbrado a Hibernar mi máquina para regresar al siguiente día y simplemente retomar donde me quedé y no construir de nuevo mis ventanas y procesos.

Del Libre Office ni se diga, deja mucho que desear y Windows 7 pues no es tan malo como parece y es compatible con todo.

Lo único que extrañaba en Windows de Linux era el poder hacer "Seguridad Wireless" pero desde la aparición de iWEP para iPhone ya no utilizo mucho esa función, desde mi iPhone en menos de 30 segundos obtengo lo que quiero.

Me pudiera extender con mil cosas por las cuales alguien querría regresar a Windows y sé que es un tema polémico que a mas de uno lo hará pegar un brinco, pero el mundo se divide en opiniones y elecciones y esta es la mía.

Manos a la Obra.

1. Instalar VirtualBox, a mi parecer el mejor manejador de Máquinas Virtuales.
2. Crear una máquina Virtual e instalar Linux 12.04 Server
3. En la máquina virtual instalar OpenERP desde las fuentes siguiendo este tutorial.
4. En la máquina virtual instalar SAMBA en linux

# sudo apt-get install samba samba-client smbfs smbclient


5. En la máquina virtual configurar Samba para compartir la carpeta de OpenERP con Windows

Consideraciones:
No podemos usar la compartición de VirtualBox ya que esta comparte una carpeta del sistema Host con el Anfitrión, nosotros requerimos que Linux comparta la carpeta para que Linux controle los archivos no Windows (por las fechas)

Para compartir una carpeta en Linux simplemente editamos el archivo:

# sudo nano /etc/samba/smb.conf

Y agregamos al final

[openerp]
comment = "Carpeta a compartir desde Linux"
path = /home/ubuntu/openerp
public = yes
writable = yes
browseable = yes

6. Asignando los permisos a la carpeta

# sudo chmod -R 777 /home/ubuntu

7. Configurando la tarjeta de red para la red "local" entre Linux y Windows

Esto es muy importante, nosotros crearemos una unidad en Windows conectada a la carpeta openerp que compartimos en Linux y debemos decidir en que esquema queremos trabajar.

7.1. Configurar la red de VirtualBox como adaptador puente (opción por default de VirtualBox):


De esta manera Linux se conectará a nuestro switch como si fuera una máquina independiente y se le dará una IP en el mismo segmento que nuestra máquina en Windows.

El problema de esta configuración es que si cambiamos constantemente de redes se reasignará la IP de nuestra máquina virtualizada así como del anfitrión.

7.2. Conectar como Host-Only (recomendada),


De esta manera se creará otra red interna entre Linux y Windows, cada una con una IP y esta IP no cambiará con reinicios por lo cual si montamos la unidad de Windows.

En cualquier caso debemos conocer la IP que tenemos en Linux, esto lo realizamos tecleando en la máquina virtual:

# ifconfig

eth0   Link encap:Ethernet  HWaddr 08:00:27:1e:58:2a
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe1e:582a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3767 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5261 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:601342 (601.3 KB)  TX bytes:5322988 (5.3 MB)

Otra manera de hacerlo es por el nombre de la máquina:

# cat /etc/hostname

En mi caso el comando anterior me devuelve: ubuntuvm

Copiamos la dirección que tenga eth0 en este ejemplo la marque en azul y en negrita o el nombre de la máquina para utilizarlo en el siguiente paso.

8. Creando la unidad virtual en Windows.


Pueden poner la IP o el Hostname.

9. Levantando la máquina virtual al iniciar Windows.

Si trabajamos todo el tiempo con OpenERP será recomendable que la máquina virtual se levante automáticamente al iniciar Windows.

9.1 Creamos un archivo .bat (si es como los .sh de Linux, Windows también tiene lo suyo xD) con el siguiente contenido


 cd C:\Program Files\Oracle\VirtualBox
 VBoxManage.exe startvm Ubuntu

Donde Ubuntu es el nombre de la máquina virtual con Linux.

9.2 Copiamos ese archivo a la carpeta de inicio de windows:

C:\Users\daimon\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

daimon es el nombre de usuario con el cual nos logeamos a Windows, o si queremos que la máquina inicie para todos los usuario copiamos el archivo en:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup


10. Buen trabajo


Con lo anterior tenemos corriendo nuestro OpenERP en Linux, podremos conectarnos vía SSH y parar el servidor de OpenERP o hacerlo directamente desde VirtualBox y podemos realizar cambios en los archivos fuente con toda confianza ya que estos están almacenados en nuestro Linux.

Saludos y ¡ happy windows !