Howto: Instalando Rocket.Chat en Docker

Rocket.chat para mi es una de las mejores plataformas de chat OpenSource que existen, es muy flexible a la hora de adaptarlo y lo mejor, tiene cliente para toda las plataformas.

En este caso, realizaremos la instalación de Rocket.chat en docker, por el cual no importara la distribución linux que utilicemos, pero en este caso utilizare Centos 7 como host de mis contenedores para hacer el despliegue.

Instalación:

Vamos a usar varios contenedores y para lograr la comunicación entre ellos, se usara Docker Compose, el cual nos permite hacer despliegues de servicios el cual involucra varios contenedores.

Docker:

Instalamos docker usando el script que se encuentra en su pagina oficial.

Al finalizar el proceso usamos systemctl para subir el servicio y dejarlo habilitado para que inicie cuando se inicie el servidor.

(más…)

Autentificación LDAP Vtiger CRM 6

Vtiger-Logo-1

Vtiger es un CRM de código abierto muy potente que trata de acercarse  a grandes crms como salesforce y SugarCRM, pero en esta ocasión veremos como autentificarlo hacia LDAP.

Con un gran compañero de la compañía Gabo, logramos hacer la autentificación continuación describo los pasos para lograrla.

Para lograr la autentificación debemos usar los archivos de autentificación de Vtiger de 5.x,  estos archivos los encuentran en github.

https://github.com/braybaut/ldap-vtiger

(más…)

Howto: como crear un contenedor de datos en docker

docker

los contenedores no son persistentes en sus datos al ser ejecutados, esto quiere decir que al terminar una ejecución de un contenedor este pierde sus datos.

Existen varias practicas para realizar la persistencia de los datos, en esta ocasión usaremos un contenedor de datos ( data container) para hacer la persistencia.

Este contenedor solo guardara la información que se requiere sea persistente, no es necesario que este iniciado ya que  lo podemos compartir sin necesidad  de que este ejecutado.

(más…)

Docker: Ingresar al bash de un contenedor iniciado | Script

docker

Ultimamente he trabajado mucho con docker y en el maravilloso recorrido que he tenido con docker se me presento un problema gigante,  inicio el contenedor con su servicio pero por X o Y motivo quiero ingresar al bash y el “docker attach” no funciona porque el docker no lo inicie con /bin/bash

Una solución es abrir el puerto 22 e ingresar por ssh, pero no es la gracia trabajar de esta manera ya que estamos con container. Navegando por la red encontré un comando un poco largo para poder ingresar al bash del container y un compañero de la compañía donde trabajo también me paso uno parecido, pero me pareció algo fastidioso usar un comando largo para ingresar al bash entonces me tome la tarea de crear un script para que me facilite esta tarea, se los mostrare:

(más…)

Introducción Vpn Full Mesh con Tinc y configuración en Raspberry Pi

http://platform.twitter.com/widgets.js

Con tinc Podemos crear una VPN tipo full mesh(Nodos conectados entre si),  Estableciendo la comunicación de todos los host conectados a cada nodo. Cabe aclarar que cada nodo es el servidor donde esta configurado tinc.

Tinc esta lanzada bajo licencia GPL que en pocas palabras podemos decir que es Software Libre =D, este maravilloso protocolo nos ofrece unas caracteristicas que son:

  • Encryptation, Authenticatión and compressión: Comprime los paquetes antes de enviarlos, encripta los datos para que uestra información viaje segura en este medio tan inseguro como lo es la internet, ofrece la autentificación para que los nodos desconocidos no se puedan conectar a nuestra red.
  • Automatic Full Mesh routing: Sin importar la configuración del demonio, tinc siempre buscara la mejor ruta entre la mesh para no tener que dar saltos o si este es necesario, lograr de que los saltos sean menores.
  •  Easily expand your VPN: tinc se destaca por su facil configuración para que otro nodo ingrese a la mesh, solo se tiene que configurar dos nodos, el primero el nodo que va a ingresar a la mesh y el otro nodo el que ya esta en la mesh conectados con los otros. Ya cuando estos dos nodos esten conectados, el nodo nuevo podra ver a todos los nodos conectados. Es recomendable hacer las conexiones con mas de un nodo ya que si se pierda la conexión con un nodo, este ira por otra conexión o en pocas palabras otra ruta.

Existen diferentes topologias que podemos usar para establecer la conexión entre los nodos, ya es cuestión de comodidad en conexiones y uso de cada usuario.

    Tenemos que redireccionar en nuestro router el puerto 655 (TCP y UDP) hacia nuestro raspberry donde estara tinc

    Ahora vamos al grano, para instalar tinc en nuestro raspberry Pi, los pasos son sencillos, !Iniciemos!

    Antes de instalar tinc, procedemos a activar tun, para poder gestionar la interfaz virtual

    modprobe tun 

    Ahora si:

    Rasbian

    sudo apt-get install tinc

    Archlinux arm

    sudo pacman -S tinc

    Configuración

     

    Creamos los directorios de configuración:

    sudo mkdir /etc/tinc/vpnraspberry
    sudo mkdir /etc/tinc/vpnraspberry/hosts

    Creamos el archivo /etc/tinc/vpnraspberry/tinc.conf:

    Name = raspberry
    Device = /dev/net/tun
    <
    PrivateKeyFile = /etc/tinc/vpnraspberrypi/rsa_key.priv
    Interface = rp0 ##Nombre de la interfaz, cada quien es libre de darle un nombre

    Creamos el archivo /etc/tinc/vpnraspberry/host/raspberry:


    Subnet = 10.0.0.1/32
    Address = 1.2.3.4 ## en esta linea ira la ip publica.

    Generamos las llaves para el nodo:
      

    sudo tincd -n vpnraspberry -K
    Generating 1024 bits keys:
    ..............++++++ p
    ..............++++++ q
    Done.
    Please enter a file to save private RSA key to [/etc/tinc/vpnraspberry/rsa_key.priv]:
    Please enter a file to save public RSA key to [/etc/tinc/raspberry/hosts/raspberry]:
    Appending key to existing contents.
    Make sure only one key is stored in the file.

    Configuramos la interfaz rp0, en este caso crearemos un script en “/etc/tinc/vpnraspberry/tinc-up”, que usara Tinc para arrancar la interfaz

    #!/bin/sh
    ifconfig rp0 10.0.0.1 netmask 255.255.0.0

    Damos permisos de ejecución

     

    # chmod +x /etc/tinc/tinc-up

    Por ultimo,, creamos un script, que dará de baja la interfaz usada cuando Tinc no este activo, Al igual como el script anterior, le damos permisos de ejecución

    #!/bin/sh
    ifconfig rp0 down

    !!Listo!!  La configuración de tinc en nuestra raspberry ya esta terminada, ahora para arrancar tinc escribimos en nuestra consola

    sudo tincd -D -d -n vpnraspberry


    Si todo esta a la perfección tinc nos mostrara :

    Para que otros nodos tinc  se conecten a nuestro nodo tenemos que compartirle nuestro archivo raspberry alojado en /etc/tinc/vpnraspberry/hosts/ y alojarlo en el directorio hosts de dicho nodo, este Archivo contiene la llave generada anteriormente, adicionalmente ese nodo debe ingresar en el tinc.conf la linea connectTo = raspberry, esa linea especifica que se conectada al nodo raspberry. Para permitir la conexión de ese nodo, debemos tener en nuestro directorio hosts, El archivo donde se encuentra la llave del nodo que desea conectarse con nuestro nodo.

    Mas adelante explicare como lograr que otros nodos se conecten a la raspberry logrando la creación de una mesh, también hablare un poco sobre la unión de tinc, con openvpn, pptd y otras herramientas.

    Proyecto Tinc: http://www.tinc-vpn.org/

    http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4dcde18b394a19ad