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 !


jueves, 6 de septiembre de 2012

Cliente de OpenVPN en Ubuntu de forma gráfica

Muchas veces tenemos la necesidad de conectarnos por OpenVPN a nuestra oficina o casa en Linux y para hacerlo lo hacemos mediante línea de comando:

# openvpn archivo_de_configuracion.conf

Lo anterior funciona pero si utilizamos modo gráfico de Linux es más cómodo tener el control desde el demonio de redes inalámbricas que se encuentra en nuestra área de notificación.

1. Instalación de OpenVPN

# sudo apt-get install openvpn openssl

2. Lo primero que debemos tener son nuestros archivos necesarios que nos debieron haber entregado, estos los deben guardar en una carpeta a la cual ustedes tengan acceso como Documentos:

user.crt
user.key
ca.crt
ovpn.conf

El archivo .conf ya debe estar configurado correctamente para leer nuestros archivos de claves y tiene los parámetros de configuración para la conexión a nuestra VPN.

Posiblemente en otra entrada explique como configurar una VPN en modo servidor :)

3. Ahora debemos instalar el plugin para controlar la VPN desde el demonio gráfico:

# sudo apt-get install network-manager-openvpn-gnome

4. Ahora damos click en el icono de red en el área de notificación y seleccionamos: Conexiones VPN -> Configurar VPN

5. Configurando la conexión.

Se nos ha abierto un dialogo para configurar su VPN, pueden realizar la selección de archivos y configuración por medio de ese asistente, pero como en este caso tenemos un archivo .ovpn es mas fácil importar la configuración por lo tanto damos click en IMPORTAR y seleccionamos el archivo .ovpn

Esto nos abra creado las configuraciones automáticamente.

Ahora debemos dar click en la pestaña Ajustes de IPv4 -> Rutas y seleccionar la opción: usar esta conexión solo para los recursos en su red, de esta manera cuando nos conectemos a la VPN el tráfico de red local pasará por la puerta de enlace actual y no através de la VPN.

Para finalizar damos click en GUARDAR y posteriormente cerramos esa ventana.

6. Ahora para conectarnos damos click en el icono de red en el área de notificación y seleccionamos: Conexiones VPN -> NOMBRE_DE_NUESTRA_VPN

Listo con esto la VPN estará coenctada y tendremos una IP de la VPN asignada.

7. Viendo la IP asignada

Para saber que IP privada nos asigno la VPN tecleamos:

# ifconfig

Y vemos la IP en la interfaz TAP o TUN según sea el caso.

Saludos !


domingo, 19 de agosto de 2012

Cinnamon + Ubuntu 12.04

Muchos de nosotros los linuxeros de corazón nos decepcionamos de Unity y que pareciera que Canonical quiere imponernos ese escritorio, ubuntu es para mi gusto la mejor distribución de Linux salvo por su Escritorio y a continuación mostraré como "corregir" este problema.

Existen bastantes opciones para reemplazar Unity:

a. Cinnamon
b. Gnome 3
c. Mate
d. Elementary
e. Gnome 3 + Emerald

He probado todos a fondo y me quedo con la Cinnamon, Elementary y Emerald, en ese orden.

En esta entrada explicaré como configurar y personalizar Cinnamon.

1. Primero debemos de instalarlo, existen dos opciones, se puede elegir cualquiera de ellas.

1.1. Instalación de Cinnamon estable.

# sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
# sudo apt-get update && sudo apt-get install cinnamon

1.2. Instalación de Cinnamon en desarrollo.

# sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
# sudo apt-get update && sudo apt-get install cinnamon

Fuente original: http://www.ubuntu-guia.com/2012/05/instalar-cinnamon-en-ubuntu.html

2. Accediendo por primer vez a cinnamon.

Una vez instalado debemos cerrar sesión y podremos elegir con que escritorio iniciar, ahí seleccionaremos CINNAMON

3. Instalando "themes" o temas.

Podremos descargar temas de la web de cinnamon: http://cinnamon-spices.linuxmint.com/themes y para instalarlos solo debemos de extraer el contenido del archivo que se descarga en la ruta:

~/.themes/

Lo anterior se traduce en: /home/tu_usuario/.themes, pueden encontrar esta carpeta abriendo Nautilis, ir a su carpeta personal y presionar CTRL + H, esto mostrará los archivos y carpetas ocultos.

Ahora deben dar click derecho sobre la barra de cinnamon, opciones y temas, se abrirá el panel de configuración de cinnamon en donde podrán elegir todos los temas que descarguen.

4. Instalando Applets.

Pueden descargar applets de: http://cinnamon-spices.linuxmint.com/applets

Los applets son mini aplicaciones que se utilizan sobre la barra de cinnamon y le dan mejor aspecto y usabilidad, a mi en lo particular me encantó el applet: Window List With App Grouping por medio del cual se pueden agrupar las aplicaciones como lo hace Windows 7, tendremos que reconocer que Windows es superior a Linux en usabilidad y todo lo que nos ayude a un mejor uso de nuestro Linux es bienvenido.

Para instalar nuevos applets deben descargarlos y extraer el contenido en la carpeta:

~/.local/share/cinnamon/applets ó
/home/tu_usuario/.local/share/cinnamon/applets

5. Personalización extra.

Se puede configurar el tamaño de la barra, ponerla arriba abajo, reorganizar los applets, etc. todo desde la configuración de Cinnamon.

Y para los mas osados pueden crear su propio tema, ya que la personalización de los temas de Cinnamon esta realizada en CSS así que para los que diseñan páginas WEB será pan comido xD

Para crear un tema copien la carpeta de cualquier tema descargado y cámbienle el nombre, cópienla en la carpeta de temas que mencioné arriba y ya pueden comenzar a personalizar: Colores de fondo, transparencias, Menús, imágenes, etc.

Saludos !



domingo, 29 de julio de 2012

Servidor dedicado gratuito en Amazon

En esta ocasión quería documentar como crear y utilizar un servidor gratuito DEDICADO para montar aplicaciones, páginas web, etc. pero encontré un excelente tutorial donde lo realizan y solo posteo los link:

http://www.itbarna.com/crear-servidor-en-amazon-aws-gratis

Y la segunda parte:

http://www.itbarna.com/crear-servidor-en-amazon-aws-gratis-parte-2


Creación de usuario para Bazaar


1. Instalación de Bazaar

# sudo apt-get install bzr

2. Ahora deberemos crear una cuenta en Launchpad para poder descargar código libre, subir código, actualizar, etc

https://login.launchpad.net/+new_account

Una vez teniendo nuestro usuario: myuser y nuestro password: mypass ya podremos continuar

3. Enlazando nuestra PC a launchpad por medio de SSH.

Esto es útil para que bazaar no nos pregunte cada vez que realizamos actualización de código nuestras credenciales.

Fuente: https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair

Instalamos los paquetes necesarios

# sudo apt-get install openssh-client

Generamos unas llaves publicas y privadas

# ssh-keygen -t rsa

Cuando nos pregunte acerca de la contraseña es recomendable dejarla en blanco para que no tengamos que introducirla cada vez que intentemos realizar conexión a Launchpad, se supone que estamos en un equipo seguro y que es nuestro :)

Copiamos esta clave generada al porta papeles, el comando siguiente muestra en pantalla la clave SSH para copiarla

# cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCn50ilWoRHMazkpIDoRbiHKgbesWXxDkKIQlsrckmPmQpxjNZCMcHQDIgls19ifXJu8dO6EpiCbcSEd15Q/rIT7bJO7ycdpA19j5YeIFvQFfUvn27+3R8+CPSK7Wi4vH5KbiLY8QKFRCR8O11e09CCxTvTOsJg87AAoOsB2TjiCYAo+ZzMGUtwn9SLXfPfBdepDp2cOdTsq7YyiMETB/IO3s3YnOl9ki+wklPkxvn2yLJjCSFrXs+/T/jUYF2BJgtixL37fn1itQG3Fbi+NuchqbNW5TL6NNU8fvCP2YLh+9QsU1mcOhxHnJ1PzPtgdHZLEIW/LWp/adw55gg6r+uH daimon@unknowt520

Accedemos a nuestra cuenta en Launch Pad desde nuestro navegador, nos debió mostrar una pantalla con nuestra información, de lo contrario dar click en la esquina superior derecha de la página donde se muestra nuestro alias y nombre.

Ahora buscamos donde dice: SSH KEYS y al lado esta un "lapiz" para editar estas claves.

Click en el lápiz y ahí pegamos la clave que acabamos de generar, guardamos y listo !

4. Configurando Bazaar

Primero le decimos a Bazaar quien somos

# bzr whoami "Eric Hernandez <cuijartija@gmail.com>"

Ahora hacemos login en Launchpad.

# bzr lp-login myuser

myuser = Al usuario que crearon anteriormente.

Listo ahora nuestro Bazaar ya puede subir archivos en Launchpad y crear proyectos.

sábado, 28 de julio de 2012

Instalación completa de Open ERP 6.1 desde cero en Ubuntu Desktop, Server,y Debian 6.x

En esta ocasión traigo la instalación desde cero de Open ERP 6.1 con la ventaja de hacerlo por medio de las fuentes oficiales del mismo, en un post anterior explico las ventajas de utilizar las fuentes.

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

1. Instalación de todas las dependencias de OpenERP 6.1 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-egenix-mxdatetime python-vobject python-zsi python-xlwt python-hippocanvas python-profiler python-dev python-setuptools postgresql postgresql-client-common python-yaml python-mako python-passlib xsltproc xmlstarlet python-soappy python-qrencode python-suds python-pip && pip install xlutils

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

2.1 Editaremos el archivo postgresql

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

Ubuntu 11.10 / 12.04
# 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
# sudo nano /etc/postgresql/8.4/main/pg_hba.conf

Ubuntu 11.10 / 12.04
# 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
# sudo /etc/init.d/postgresql-8.4 restart

Ubuntu 11.10 / 12.04
# sudo /etc/init.d/postgresql restart

3. (Solo para Ubuntu Server) Agregar un usuario para poder ejecutar el OpenERP sin privilegios de root por cuestiones de seguridad, el nombre del usuario para este ejemplo se llama "ubuntu"

# sudo adduser ubuntu

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

5. Descargar las fuentes de OpenERP 6.1

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

# mkdir openerp61
# cd openerp61

5.2 Ahora descargaremos el servidor de OpenERP 6.1

# bzr branch lp:openobject-server/6.1 

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

5.3 Al finalizar debemos de cambiar el nombre de esa carpeta para no confundirla

# mv 6.1 server

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

# bzr branch lp:openobject-addons/6.1 

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

5.5 Al finalizar debemos de cambiar el nombre de esa carpeta para no confundirla

# mv 6.1 addons

5.6 Descargando el módulo WEB

# bzr branch lp:openerp-web/6.1 

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

5.7 Al finalizar debemos de cambiar el nombre de esa carpeta para no confundirla

# mv 6.1 web

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

/openerp61
/openerp61/server
/openerp61/addons
/openerp61/web

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

6.1. Nos movemos a la carpeta raiz que contiene la primer carpeta creada llamada openerp61 

# cd ..

6.2 Cambiamos de propietario la carpeta openerp61 al usuario "ubuntu"creado en el punto 3

# chown -R ubuntu:ubuntu openerp61

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 openerp61/server

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

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

Para ubuntu server lo hacemos así:

# sudo -u ubuntu 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 6.1

8.1 Para arrancar el servidor simplemente tecleamos 

# python openerp-server -c erp.conf

Para ubuntu server debemos realizarlo así:

# sudo -u ubuntu 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.

martes, 13 de marzo de 2012

2. OpenERP 6.0.4 archivo de configuracion

En esta entrada explicaré como crear, entender y utilizar este archivo de configuración para levantar el servidor de OpenERP 6.0.4


Cuando ejecutamos el servidor lo realizamos de las siguiente manera:


a) # sudo -u openerp openerp-server 
b) # python openerp-server.py 
c) # sudo -u openerp openerp-server -c my_file_conf.con
d) # python openerp-server.py -c my_file_conf.conf


La primera y segunda forma toman por "default" todos los parámetros de configuración y el sistema arranca pero no tenemos control de los ubicación de los módulos, ni de los puertos a utilizar, etc. Además que el usuario de Postgres debe ser openerp con password openerp para que funcione de esta manera lo cual no es NADA recomendable por razones obvias de seguridad.


Nos enfocaremos a la tercer y cuarta forma de correr el servidor que es indicándole que archivo de configuración debe aplicar.

1. Ayuda de OpenEPR

Primero que nada es importante saber que todo lo que aquí explicaré lo pueden encontrar en la ayuda de OpenERP directamente desde su consola tecleando:


# python openerp-server.py -h


* Debemos estar en la carpeta en donde se encuentran los códigos de OpenERP server, para este ejemplo estan en: ruta_completa_de_openerp_server, para descargar estas fuentes puede seguir este manual.

2. Creando el archivo CONF desde la línea de comandos.

OpenERP puede generar el archivo que utilizará posteriormente con la opción: -s  


# python openerp-server.py -s -c my_file_conf.conf


Lo anterior nos generó un archivo con las configuraciones iniciales de OpenERP, pero estas opciones se guardaron con sus valores por defecto.


Para editar estas configuraciones lo realizaremos directo sobre este archivo en el editor de texto de su preferencia, para este caso utilizaremos "nano"



# nano my_file_conf.conf



3. Configurando las opciones de la DB para OpenERP


Buscamos en el archivo anterior las líneas:


db_host = 127.0.00.1

db_maxconn = 64
db_name = False
db_password = DB_PASSWORD
db_port = 5432
db_user = DB_USER

5. Puertos de comunicación de OpenERP

Buscamos en el archivo anterior las líneas:


netrpc_port = 8070
xmlrpc_port = 8069
xmlrpcs_port = 8071


El que más utilizarán para conectarse es el 8070 que por defecto pone OpenERP pero pueden cambiarlo, esto es muy importante si tienen mas de una instancia en el mismo servidor o simplemente por seguridad.


6. Configurando la ruta de donde están todos los archivos de OpenERP para que este pueda trabajar

root_path = /ruta_completa_de_openerp_server/server/bin


7. Configurando la ruta de los módulos

addons_path = /ruta_completa_de_openerp_server/server/bin/addons


De esta ruta lee todos los módulos que queramos instalar en OpenERP y ahí es donde deberíamos copiar los nuevos módulos descargados para que OpenERP los reconozca para instalación.


Es importante tener en cuenta que si cambian esta ruta deben copiar el modulo "base" que se encuentra en esta ruta por "defecto" /ruta_completa_de_openerp_server/server/bin/addons a la nueva ruta ya que este módulo es el "corazón" de OpenERP y sin el ningún otro módulo puede trabajar, pueden de preferencia crear un enlace en la nueva carpeta a este módulo en la carpeta original.

8. Arrancando el servidor con nuestro archivo de configuración

# python openerp-server.py -c my_file_conf.conf

Con esta instrucción deberemos tener trabajando nuestro OpenERP server con las configuraciones que le hemos introducido y podremos editar este archivo como nosotros lo requiramos.

Saludos !

lunes, 12 de marzo de 2012

5. Descargar fuentes de Open ERP 6.0.4 y ejecutarlas

1. Para descargar el código de OpenERP necesitamos instalar Bazaar


# sudo apt-get install bzr


Bazaar es el control de versiones utilizado por la comunidad Open Source que desarrolla Openerp, por medio de este programa es como se puede "colaborar" con nuestros códigos a un proyecto existente y aún siendo un código propio en el que solo nosotros realizaremos cambios nos ayuda a mantener un perfecto control de versiones.


¿Por que es importante descargar las fuentes en lugar de  los "ejecutables" o paquetes oficiales? Por que los ejecutables o paquetes oficiales siempre están atrasados, esto por que los desarrolladores reparan bugs más rápido de lo que se ensamblan los paquetes o distribuciones oficiales.


Anteriormente explique como instalar OpenERP desde el paquete de descarga oficial


Ahora manos a la obra. (Probado en Ubuntu 11.04 / 11.10)

2. Descargando Open ERP de Launchpad

Abrimos un terminal y nos posicionamos en una carpeta en donde queramos guardar nuestros archivos y tecleamos, se recomienda crear una carpeta por cada código que se va  a descargar.

OpenERP Server 6.0.x

# bzr branch lp:openobject-server/6.0
# mv 6.0 server

OpenERP Cliente GTK 6.0.x


# bzr branch lp:openobject-client/6.0 
# mv 6.0 client


OpenERP Cliente WEB 6.0x

# bzr branch lp:openobject-client-web/6.0 
# mv 6.0 web

Listo ya tenemos nuestros códigos fuentes actualizados, si posteriormente queremos actualizar estos repositorios locales lo cual es muy recomendado tendremos que estar dentro de una de estas carpetas y teclear:

# bzr pull

3. Ejecutar las fuentes descargadas para trabajar con OpenERP

Ya tenemos nuestro OpenERP descargado directo de launchpad, ahora para ejecutarlo:


Servidor 6.0:


Dentro de su carpeta correspondiente donde se descargo y entramos a /server/bin abrimos una terminal y ejecutamos.


# python openerp-server.py


IMPORTANTE: Este comando intentará levantar el sistema con los parámetros por defecto, es decir que posiblemente marque erorres, para arrancar el sistema de forma correcta recomiendo hacerlo por medio de un archivo de configuración, la generación de este archivo la detallo en esta entrada


Servidor WEB:


Dentro de su carpeta correspondiente abrimos otra terminal y ejecutamos.


# python openerp-web.py


Cliente GTK:


Dentro de su carpeta correspondiente abrimos otra terminal y ejecutamos.


# python openerp-client.py

IMPORTANTE: Para que estas fuentes puedan trabajar deben instalar TODAS las dependencias y tener configurado correctamente el postgresql  como lo explique en el artículo anterior de instalación de OpenERP el cual pueden ver aquí.

Resumen de instalación de dependencias OpenERP 6.0.4:

sudo apt-get install python python-psycopg2 python-reportlab python-egenix-mxdatetime python-tz python-pychart python-pydot python-lxml python-vobject python-setuptools python-mako python-yaml python-dev build-essential

Para la instalación de Postgresql les recomiendo seguir el manual que les mencioné anteriormente. 

Saludos !


sábado, 28 de enero de 2012

Hamachi, VPN a través de firewall o NAT

VPN con Hamachi

Todos conocemos lo que es una VPN y la utilidad tan importante que tiene para empresas.

Para mi gusto la VPN más estable y de protocolo completo es OPEN VPN de la cual posteriormente subiré un tutorial que ya tengo realizado.

Pero un PROBLEMA por así llamarlo de OPEN VPN es que para que funcione correctamente debemos tener al menos una IP pública (o instalar no-ip o dyndns) para poder conectarnos al servidor y que este sirva como puerta de enlace hacia nuestros demás equipos y no siempre disponemos de este privilegio, además que se requiere un conocimiento medio avanzado en redes para configurar correctamente OpenVPN, es aquí donde HAMACHI se hace tan importante.

La VPN con Hamachi funciona a través de un firewall o NAT (una red privada), es decir con que nuestro servidor o equipo que queramos agregar a la VPN tenga salida a internet aunque no sea el punto de acceso de nuestra red basta, sin necesidad de tener una IP pública y sin tener conocimientos de redes, esta hecho al estilo Windows xD.

Después de explicar burdamente Hamachi ahora vamos a instalarlo:

1. Descargaremos la version de hamachi que se ajuste a nuestro servidor o máquina en la cual queremos instalarlo:

https://secure.logmein.com/labs/

Si usamos Debian o Ubuntu debemos bajar los paquetes .DEB de 32 o 64 bits según nuestro caso.

32 bits: https://secure.logmein.com/labs/logmein-hamachi_2.1.0.76-1_i386.deb
64 bits: https://secure.logmein.com/labs/logmein-hamachi_2.1.0.76-1_amd64.deb

Recomiendo visitar el link que mostré arriba para ver si ya hay nuevas versiones disponibles ya que esta entrada no la actualizo cada que liberan una nueva versión.

2. Instalamos el paquete descargado y otra dependencia requerida vía linea de comandos, debemos estar en la carpeta en donde se descargó el paquete, si están en modo gráfico doble click sobre el paquete y realizará la misma acción:

Para los que nos gustan las instalaciones de "hombre":

# sudo apt-get install lsb-core
# sudo dpkg -i logmein-hamachi_2.1.0.17-1_i386.deb

3. Configuración básica de Hamachi

a. Cerciorarnos que Hamachi está corriendo:
# sudo /etc/init.d/logmein-hamachi start

b. Ver el status del Hamachi:
# sudo hamachi

c.. Logearse en el servidor para que se nos asigne una IP de la VPN:
# sudo hamachi login

d. Cambiar el nick de esta maquina
# sudo hamachi set-nick mynickname

e. Crear una red
# sudo hamachi nombre_de_mi_vpn password_de_mi_vpn

f. Unirse a una red existente
# sudo hamachi join vpn_a_unirse clave_de_la_vpn

4. Es decir que si nosotros instalamos Hamachi en una maquina y ejecutamos el comando:

# hamachi MyVPN MyPass

Estamos creando una RED VPN privada con esos datos, para que esta funcione como tal deberíamos unir las demás máquinas que deseamos pertenezcan a esta red con el comando join:

En otra máquina que deseamos que se una a esta red.

# hamachi join MyVPN MyPass

Y de esta manera podremos ver ambas máquinas en la misma red.

6. Existe un modo gráfico para windows y linux, para instalarlo en Linu debemos entrar aquí:

http://www.haguichi.net/download/

En donde vienen las instrucciones, he aquí el comando completo:

# sudo add-apt-repository ppa:webupd8team/haguichi && sudo apt-get update && sudo apt-get install haguichi

Si a alguno le interesa deje un comentario y actualizo esta entrada.

Saludos y disfruten !







jueves, 19 de enero de 2012

4. Instalación de Open ERP 6.0.4 Cliente GTK y creación de una empresa


Primero debemos descargarlo de la página oficial:

http://www.openerp.com/downloads

Allí tenemos los clientes soportados, actualmente para Linux y Windows.

Conectarnos al servidor de Open ERP

Una vez descargado e instalado en nuestro equipo se abre una ventana como esta:


Si se percatan dice que no puede encontrar el servidor, entonces damos click en cambiar:


Y en donde dice "localhost" deben poner la IP de su equipo y luego click en aceptar.

Crear Base de datos para una empresa

Para crear la base de datos de una empresa damos click en el siguiente menú.



Y nos pide los siguientes datos:



a. New Database Name, Nombre de la base de datos o empresa que desean crear
b. Load Demostration Data, si deseamos que se meta información DEMO lo dejamos seleccionado, si queremos una instalación completamente limpia lo deseleccionamos, si desean probar la funcionalidad del sistema dejen seleccionada esta opción.
c. Password de administrador de ESA EMPRESA, son diferentes los passwords de administrador de OPEN ERP y administrador de la empresa ya que en OpenERP se pueden configurar varias empresas.

Una vez dado aceptar debemos esperar un buen rato que ya se están creando las configuraciones iniciales y bases de datos de nuestra empresa




Inicio con Open ERP.

Ahora debemos de configurar los módulos iniciales e información que utilizaremos en nuestra empresa.

Recomendación: No instalen todos los módulos que vean, esto por que Open ERP es muy extenso y si instalamos todo junto veremos muchos menús y campos y podríamos desistir la tarea por verla demasiado "complicada" lo cual es falso.


Si omite los asistentes de configuración se instalarán los módulos base para utilizar Open ERP y posteriormente podrá correr de nuevo el asisten cuantas veces lo necesite.

Vista simplificada o extendida.

La diferencia de ambas opciones es como se muestran los menús en la aplicación, y es configurable para cada usuario desde el panel de administación del sistema.

Vista simplificada solo muestra los menus y campos mínimos requeridos para realizar alguna acción y la vista extendida es una vista avanzada del sistema.


Información de la empresa.

La siguiente pantalla nos solicita información básica de la empresa que estamos creando, estos datos aunque se pueden modificar más adelante les recomiendo realizarlo ahora ya que serán los datos que se impriman en las facturas, presupuestos, etc.


Módulos base de Open ERP


Gestión relaciones con el cliente (CRM): Este módulo engloba las relaciones que tiene la empresa con sus clientes, con él se pueden crear oportunidades de negocio, seguimiento puntual por medio de fases de un cliente, etc.

Gestión de Proyectos: Se pueden crear proyectos y asignarlos a un grupo de usuarios, administrar sus recursos etc.

Gestión de almacenes: Entradas, Salidas, Inventarios, de uno o varios almacenes, remisiones de envío de entrada, etc.

Facturación: Instala los componentes para realizar la facturación, este módulo no nos sirve al 100% en México pero posteriormente mostraré como instalar los módulos de facturación mexicana.


Gestión de compras: Permite llevar el control de requisisiones de compra, autorizaciones, provedores, etc.

Herramientas extras: Informes, comidas y caja de ideas.

Terminal punto de venta: Terminales punto de venta

Gestión de ventas: Permite llevar el control de las ventas, presupuestos, pedidos, etc

Gestión de conocimiento: Comparte experiencias de sus empleados

Fabricación: Gestiona empresas que fabrican productos

Contabilidad y finanzas: Pues eso !

Recursos humanos: Asistencia, estructura, etc

Marketing: Campañas de mercadeo

Recomendación: Si están probando por primera vez el sistema les recomiendo que instalen un módulo que les interese, lo prueban y luego añaden otro ya que existe inter operabilidad entre módulos y entre mas módulos tengan instalados más compleja se vuelve la curva de aprendizaje.

Esperamos un momento ya que demora al configurar los módulos seleccionados, y a partir de aquí dependiendo de los módulos que hayamos seleccionado se nos preguntará configurar algunas características básicas de ellos.

Todas las configuraciones se pueden realizar después así que es su decisión realizarlas en este momento o posteriormente.

Disfruten del mejor sistema de ERP creado hasta hoy Open ERP.


3. Instalación OpenERP 6.0.4 WEB en Ubuntu



1. Instalamos las dependencias

# sudo apt-get install python-dev build-essential

2. Descargamos el paquete OpenERP de la pagina oficial

# wget http://www.openerp.com/download/stable/source/openerp-web-6.0.4.tar.gz

3. Descomprimimos el paquete y nos vamos a esa carpeta

# tar xvf openerp-web-6.0.4.tar.gz
# cd openerp-web-6.0.4

4. Lo instalamos

# sudo python setup.py install

5. Probamos si todo esta en orden, esto arrancará el Open ERP

# python openerp-web.py&

6. Para conectarnos debemos realizarlo desde un navegador, recomendado ampliamente Firefox ya que en google Chrome y Explorer a mi en particular me provoca errores de carga.


http://la-ip-de-su-maquina:8080

Listo, su OpenERP WEB debe estar funcionando a la perfección.