miércoles, 29 de octubre de 2014

FUDCon Managua


Del Jueves 23 al sábado 25 de octubre la Universidad de Ciencias Comerciales (UCC) fue la sede la Conferencia de Usuarios y Desarrolladores de Fedora en América Latina (FUDCon Latam), este es el primer evento premiere de la comunidad al que asisto, claro con la ventaja de estar como local de evento.

From Thursday 23 to Saturday 25 October the University of Commercial Sciences (UCC) hosted the Conference of Users and Developers of Fedora in Latin America (FUDCon Latam), this is the first premiere community event to which I go, of course with the advantage of being at event city.

Foto: Alejandro Pérez


Antes que nada agradecer a Neville, Aura Lila, Fernando, Eduardo y Samuel por su trabajo de organización del evento, yo en realidad fue muy poco lo que colabore con la organización de la conferencia.

First of all thank Neville, Aura Lila, Fernando, Edward and Samuel for their work in organizing the event, I was actually very little to assist the organization of the conference.

Fueron tres días de charlas, conferencias, talleres y sesiones de trabajo y es difícil resumir en un post todo lo que paso en el evento, algunos puntos remarcables fueron:

There were three days of talks, lectures, workshops and work sessions and is difficult to summarize in a post everything that happened at the event, some remarkable points were:

Robótica Educativa (Educational Robotics):
No cabe duda que el trabajo de Valentín Bazel con Icaro es algo más que destacable, junto con las mesas de trabajo de Kiara Navarro fueron de los eventos más concurridos.

No doubt the work of Valentin Bazel with Icarus is more than remarkable, along with worktables with Kiara Navarro were among the most popular events.

Foto: Eleazar Muñoz

Foto: Luis Bazan
 Computación en la Nube (Cloud Computing):
Mucho se habla de computación en la nube en estos días pero es difícil encontrar a alguien que pueda explicar cómo funciona la computación en la nube mejor que alguien que trabaja día a día en eso. Gracias a Abdel de Panamá y Eduardo de Venezuela pudimos ver un poco de computación en la nube con temas como Docker, OpenShift y OpenStack. También tuvimos la participación de Rino Rondan de Argentina quien compartió con los asistentes su experiencia en virtualización en Fedora.

Much is said about cloud computing these days but it's hard to find someone who can explain how the cluod computing works better than someone who works every day in this . Thanks to Abdel  of Panama and Eduardo from Venezuela we could see some cloud computing topics such as Docker, OpenShift and OpenStack. We also had the participation  Rino Rondan from Argentina who shared with the audience his experience  virtualizacion in Fedora.

Foto: Rino Rondan

Empaquetado de RPM (RPM Packaging):
Un tema infaltable en un evento de este tipo: como contribuir con Fedora creando paquetes RPM que puedan ser incluidos dentro de la distribución, en este particular mi primer paquete fue revisado, corregido y aprobado, cabe mencionar que el Nicaragua tiene a uno de las empaquetadores más jóvenes dentro del Proyecto Fedora siendo Eduardo Mayorga un colaborador activo que esta a punto de terminar su secundaria, cuatro colaboradores mas están  trabajando en ser aprobados como empaquetador así que esperamos que la comunidad de empaquetadores en Nicaragua crezca aun mas despues de FUDCon Managua.

An important topic at an event of this kind: to contribute to Fedora creating RPM packages that can be included in the distribution, in this particular my first package was reviewed, edited and approved, it should be mentioned that Nicaragua has one of the youngest packers within the Fedora Project, Eduardo Mayorga being an active contributor who is about to finish his high school, four collaborators are working on being approved as packager so hopefully packers community grow even more in Nicaragua after FUDCon Managua.

Foto: Rino Rondan

Talentos locales (Local talent):
En un evento lleno de colaboradores extranjeros es importante que varios miembros de la comunidad local dieran un pie al frente para compartir que es lo que ellos hacen actualmente en la comunidad local, entre ellos: Leandro Gómez, Yader V, Marconi Poveda entre otros.

In an event filled with foreign partners is important that several members of the local community give a foot to the front to share what they are currently doing in the local community, including: Leandro Gomez, Yader V,Marconi Poveda  and others.

Foto: Luis Bazan
Chicos de México (Boys of Mexico):
Parte de la experiencia FUDCon es conocer gente, y toda la comunidad de Fedora Latam se llevo a la grata de sorpresa de conocer a dos colaboradores mexicanos:  Efren Robledo y Oscar Gonzales viajaron por dos días en bus para asistir al evento, ellos tienen tiempo de estar promoviendo el uso de Fedora por su cuenta en México y tuvieron la oportunidad de conocer más la comunidad latinoamericana en FUDCon, además hay que mencionar que la conferencia tuvo una afluencia de participantes relativamente baja, por lo que su esfuerzo de pertenecer a este evento merece mención.

Part of the FUDCon experience is meeting people, and the entire community of Fedora Latam pleasantly surprised to meet two Mexican contributors took: Efren Gonzales and Oscar Robledo traveled for two days by bus to attend the event, they have promoting the use Fedora in Mexico and had the opportunity to meet the Latin American community in FUDCon, we must also mention that the conference had a relatively low influx of participants, so your effort to be part of this event deserves mention.

Foto: Robert Mayr


Jared Smith (Jared Smith):

Para quienes no conozcan a Jared Smith fue líder del Proyecto Fedora, desarrollador de Asterix y coautor del libro La Guía Definitiva a Asterix, tuvimos la suerte de tenerlo en  FUDCon Managua compartiendo sus conocimientos sobre Publican y Asterix, deben saber que él se tomo el tiempo de venir a Managua en su apretada agenda que implica viajar de Australia a Managua y se ahí salir al día siguiente a Estados Unidos.

For those unfamiliar with Jaden Smith was leader of the Fedora Project developer of Asterix and co-author of The Definitive Guide to Asterix, we were lucky to have him in FUDCon Managua sharing their knowledge in Publican and Asterix, should know that he took the time coming to Managua in his busy schedule involving travel from Australia to Managua and then leave the next day to the United States.

Foto: Fernando Ezpinoza

Fedora Next (Fedora Next):

Un tema importante para la comunidad global de Fedora estuvo en manos de Robert Mayr y Dennis Gilmore, consideramos que es muy importante que de FUDCon Managua no solo participarón embajadores y empaquetadores, si no que tuvimos presencia de otros equipos dentro de la comunidad Fedora.

A major issue for the global community of Fedora was held by Robert Mayr and Dennis Gilmore, we consider it very important that not only participarón FUDCon Managua ambassadors and packagers, if we did not have the presence of other teams within the Fedora community.

Conclusiones (Conclusions:

En conclusión, nuestro evento no fue pequeño, llego poca gente fuera de la comunidad local, quienes lamentablemente se perdieron el que seguramente fue el evento mas importante sobre software libre en Nicaragua de todo el 2014.

In conclusion, our event was not small, few people came out of the local community who unfortunately lost that surely was the most important event on free software in Nicaragua of 2014.



sábado, 18 de octubre de 2014

Instalando ERPNext en Centos 6.5


ERPNext es un ERP con interfaz web desarrollado en la India por Web Notes Technologies, es una herramienta muy completa para llevar el control contable, financiero y operativo de empresas pequeñas y medianas.

Este post es un combinación de las instrucciones oficiales de instalación y mi experiencia personal, estoy trabajando sobre una instalación limpia de CentOS 6.5, un droplet de Digital Ocean, es importante que selección un sistema operativo a 64 bits como base.

Si te manejas bien con Linux no deberías tener problemas con la instalación, pero si no te manejas bien con Linux podrías considerar contratar una instancia directamente a los desarrolladores de este software y dejarles la configuración y mantenimiento a ellos.

1- Iniciamos sesión vía SSH con el IP y Contraseña facilitada por el proveedor del VPS.

# ssh@ip

2-  Actualizamos el sistema y nos aseguramos de tener instalado wget y git

# yum -y update && yum install -y wget git

3- Creamos un usuario para ERPNext y le asignamos una contraseña

# useradd erpnext
# passwd erpnext

4- Iniciamos sesión con el nuevo usuario

# su - erpnext

5- Clonamos el script de instalación que proporcionan el desarrollador:

$ wget https://raw.githubusercontent.com/frappe/bench/master/install_scripts/setup_frappe.sh

6- Ejecutamos como root el script


$ su -c "/bin/bash /home/erpnext/setup_frappe.sh"

Si el script no presenta errores ya deberiamos tener todo instalado.

7- Iniciamos MariaDB

$ su -c "service mysql start"

8- Ejecutamos el script de configuración segura de MariaDB

$ su -c mysql_secure_installation

El paso fundamental aca es configurar la contraseña de root de MariaDB

9- Iniciamos la bench

$ cd ~ && bench init frappe-bench

Si les aparece este error lo pueden obviar:

File "/home/erpnext/frappe-bench/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 64
    yield from self.wsgi.close()
             ^
SyntaxError: invalid syntax

Lo importante al final es recibir el mensaje:

Bench frappe-bench initialized
 
10- Descargamos vía bench ERPNext (no voy a bajar la aplicación de e-comerce)

$ cd frappe-bench && bench get-app erpnext https://github.com/frappe/erpnext

11- Creamos nuestro nuevo sitio

$ bench new-site nombre-sitio

12- Instalamos vía bench ERPNext en nuestro sitio

$ bench frappe --install_app erpnext nombre-sitio

13- Abrimos el puerto 8000

$ su -c "iptables -A INPUT -p tcp -m tcp --sport 8000 -j ACCEPT"

14- Comprobamos si podes iniciar ERPNext

$ cd /home/erpnext/frappe-bench/ && bench start

15- Comprobamos poder acceder vía el navegador en el puerto 8000


El usuario es Administrator la contraseña se nos solicito en el paso 11

Hasta aca ya tenemos ERPNExt funcionando en nuestro Centos, pero si cerramos la terminal desde la que arrancamos el proceso, o matamos el proceso con "Ctrl + C" el sitio web dejara de estar disponible.

Para configurar nuestre ERPNext para, por ejemplo, autoiniciar con el sistema necesitamos pasos adicionales.

16- Volvemos nuestra terminal y matamos el proceso con "Ctrl + C"

17 - Cerramos la sesión de erpnext para volver a ser root

$ exit

18 - MariaDB ya esta corriendo pero necesitamos que inicie al inicio

# chkconfig mysql on

19 - Configuramos el autoinicio de redis

# chkconfig redis on

20- Configuramos el autoinicio de memcached

# chkconfig memcached on

21- Configuramos memcached para escuchar en el localhost

# vi /etc/sysconfig/memcached

Tiene que quedar con el siguiente contenido

# Running on Port 11211  
PORT="11211"

# Start as memcached daemon  
USER="memcached"

# Set max simultaneous connections to 1024  
MAXCONN="1024"

 # Set Memory size to 2048 - 4GB(4096)  
CACHESIZE="2048"

#Set server IP address  
OPTIONS="-l 127.0.0.1"

Si vas a usar ERPNext de forma local puedes llegar hasta aca, si vas a configurar ERPNext para servir de forma remota es recomendable configurar supervisor y nginx.

22- Configuramos el autoinicio de nginx

# chkconfig nginx on

23- Instalamos supervisor

# easy_install supervisor
24- Creamos un script de autoinicio de ERPNext

# touch /etc/erpnext.sh

25-  Editamos el archivo

# vi /etc/erpnext.sh

y agregamos

#! /bin/bash

cd /home/erpnext/frappe-bench/
bench star

 25- Hacemos ejecutable el archivo

# chmod +x /etc/erpnext.sh

26- Creamos el archivo /etc/supervisord.conf

# touch /etc/supervisord.conf 

27- Editamos el archivo 

# vi  /etc/supervisord.conf

y agregamos lo siguiente:

[supervisord]
nodaemon = false

[program:erpnex]
command=/etc/erpnext.sh
28- Editamos el  archivo /etc/rc.local

# vi /etc/rc.local

y agregamos la siguiente linea

supervisord -c /etc/supervisord.conf
Ahora deberiamos ser capaces de apagar el servidor reiniciarlo y verificar que ERPNext se inicia de forma automatica gracias a supervisor.

init─┬─auditd───{auditd}
     ├─crond
     ├─master─┬─pickup
     │        └─qmgr
     ├─memcached───5*[{memcached}]
     ├─6*[mingetty]
     ├─mysqld_safe───mysqld───18*[{mysqld}]
     ├─nginx───nginx
     ├─redis-server───2*[{redis-server}]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─sshd───sshd───bash───pstree
     ├─supervisord───erpnext.sh───honcho─┬─frappe───python2.7───{python2.7}
     │                                   ├─python───python
     │                                   ├─python
     │                                   └─3*[{honcho}]
     └─udevd───udevd

El siguiente paso es configurar Nginx

 29- Abrimos el puerto y verificamos poder ver la página de inicio de Nginx

# iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
 
 30- Iniciamos sesión con el usuario erpnext

# su - erpnext

31- Generamos un archivo de configuración

$ cd frappe-bench && bench setup nginx

32- Creamos un link a la carpera de nginx

$ su -c "ln -s /home/erpnext/frappe-bench/config/nginx.conf /etc/nginx/conf.d/frappe.conf"

33- Eliminamos el archivo por defecto de nginx

$ su -c "rm /etc/nginx/conf.d/default.conf"

34- Podemos verificar que nginx esta funcionando como proxy inverso en la página de prueba y cerrar el puerto 80

Listo

Al reiniciar el servidor supervisor ERPNext se iniciara automaticamente.

miércoles, 15 de octubre de 2014

Inscripciones para Fudcon Latam abiertas


Estamos a poco mas de una semana para la Fudcon Managua, ya pueden inscribirse e ir votando por su charla favorita en http://fudconlatam.org/