Archive for the ‘Uncategorized’ Category

Howto: Replica base de datos MySql

Saturday, February 20th, 2010

Esta vez voy a escribir sobre algo que aprendí hace poco y logré hacer dos veces (en un servidor OpenSuse y en uno Debian GNU/Linux), el procedimiento fue el mismo las dos veces, solo que noté un pequeño cambio en asuntos de permisos en ambas distribuciones.

Contando un poco, hay una base de datos llamada “registro” en mysql a la cual varias personas necesitan hacer consultas, la información de la base de datos y el servidor son bien sensibles y o se les puede dar acceso directo a todas las personas, por lo que estuve pensando como puedan hacer consultas sin conectarse directamente a ese servidor, así que me puse a investigar y encontré algo llamado “Replicación de servidor MySql“. Lo que esto hace, es crear una copia idéntica de una base de datos en otro servidor, los registros se van actualizando en el servidor replica de manera automática conforme van entrando datos al servidor maestro o principal.

De esta manera, dejo de preocuparme de accesos no autorizados a la base de datos maestra, bien pude haberlo hecho con un usuario de consulta pero lo que se necesita es que no se acceda a la base de datos de ninguna manera. Así que manos a la obra.

Vamos a partir del supuesto que ya hay una base de datos creada y con información. Lo primero que debemos de hacer es ejecutar el siguiente comando en el servidor maestro

mysqladmin variables -u root -p | grep log_bin

y nos fijamos en la linea log_bin, si esta linea dice OFF, tenemos que activar.

| log_bin | ON |
| log_bin_trust_function_creators | OFF |

Para activar esto, nos vamos al archivo my.cnf (en Debian el archivo esta en /etc/mysql/my.cnf y en OpenSuse /etc/my.cnf y agregamos (o modificamos) las siguientes lineas

  • log-bin=/var/lib/mysql/mysql-bin. #para llevar el registro de modificaciones a la base de datos
  • server-id = 1 #para identificar al servidor maestro
  • binlog-do-db = registro #nombre de la base de datos de la cual se llevara el registro

reseteamos nuestro servidor.

/etc/init.d/mysqld restart

Entramos al CLI del MySql maestro y creamos un usuario con persmisos de replicación para el servidor esclavo ejecutando el siguiente comando en la CLI MySql GRANT

REPLICATION SLAVE ON *.* TO ‘usuario-replica’@'ip-del-esclavo’ IDENTIFIED BY ‘contraseña-replica’;

Cuando ya tenemos esto, necesitamos copiar los registros de la base de datos del servidor maestro al servidor esclavo para que ambos tengan los mismos datos y no exista conflictos al momento de pasar los registros de un lado a otro, la idea es que ambos servidores inicien con la misma información. Ejecutamos el comando (siempre en la CLI MySql del maestro)

FLUSH TABLES WITH READ LOCK;

este comando sirve para enllavar MySql y que no pueda guardarse ningún registro, así que en este punto lo ideal es que nadie ingrese información mientras este proceso esta pasando. Necesitamos unos datos para configurar el esclavo mas adelante, así que (siempre dentro la CLI MySql) ejecutamos

SHOW MASTER STATUS;

y obtenemos algo parecido a

+——————+———-+—————————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+—————————–+——————+
| mysql-bin.000002 | 98 | registro,registro | |
+——————+———-+—————————–+——————+

Los datos que debemos de anotar y no perder son File y Position, que vamos a ocupar en el esclavo.

Copiamos la base de datos maestra al esclavo, se puede hacer con un mysqldump o copiando el directorio de la base de datos en /var/lib/mysql, aquí va al gusto del cliente. Voy a explicar como hacerlo copiando el directorio completo.

Nos ubicamos en /var/lib/mysql del maestro y ejecutamos (según el nombre de ejemplo que puse arriba) en nuestra bash tar -cf registro.tar registro/, pasamos este archivo .tar al esclavo usando scp registro.tar root@ip-del-esclavo:/var/lib/mysql/.

Ahora le toca el turno al esclavo, en el servidor esclavo

  • Nos ubicamos en el directorio /var/lib/mysql y ejecutamos el comando tar -xf registro.tar, podemos dar un ls para asegurarnos que el directorio registro está ahí.
  • Nos vamos al my.cnf del eslavo y buscamos la linea server-id y la dejamos así server-id= 2. Nos aseguramos que la linea bind-address (en Debian) o skip-networking (en OpenSuse) esté comentada, volvemos a la bash y reiniciamos /etc/init.d/mysql restart.
  • Volvemos a la CLI MySql y dentro ejecutamos el comando

    CHANGE MASTER TO MASTER_HOST=’ip-del-servidor-maestro’, MASTER_USER=’usuario-replica’, MASTER_PASSWORD=’contraseña-replica’, MASTER_LOG_FILE=’mysql-bin.000002′, MASTER_LOG_POS=98;

  • Activamos el servidor esclavo (en la CLI MySql) START SLAVE;.

Para terminar, nos vamos a la CLI del MySql maestro y escribimos UNLOCK TABLES; para desactivar el bloqueo de ingreso de registro que hicimos anteriormente.

Con todo esto (si no tuvimos ningún error) debemos de tener funcionando nuestro servidor replica, para asegurarnos que sea así ejecutamos (en la CLI del MySql esclavo) SHOW SLAVE STATUS\G; y buscamos la linea

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Si dicen YES, estamos listo! :) ahora para probar, agregamos un registro en el maestro y hacemos la consulta en el esclavo.

Para posibles fallos, podemos revisar el syslog y si queremos volver a hacer pruebas debemos de eliminar los archivos de log, en el esclavo los archivo relay y el master.info y en el maestro los archivos mysql-bin*

Espero que esto le sirva a alguien, si no, igual me queda de material de consulta a mi :)

Cualquier problemita que tengan y si puedo ayudarles, dejen un comentario y ay vemos que hacemos.

Referencias:

Mediawiki y OpenID

Monday, July 6th, 2009

Como ya todos y todas :) saben, mediawiki es una herramienta CMS para manejar Wiki (un sistema de creación de paginas web colaborativos, donde pueden participar muchos voluntarios, un sistema de gestión web descentralizado) y como he comentado en post anterior, he estado medio estudiando este CMS y viendo que se le puede hacer.

Ahora le toca el turno a openid, pues quiero ver si puedo poner algo de esto en linuxtour.org, así que vamos a ver como salimos.

Según un manual que me encontré, instalamos primero los paquetes php5-gmp y php-openid

sudo apt-get install php5-gmp php-openid

Instalados estos paquetes, necesitamos descargar el paquete de openid y extraer el contenido al directorio extensions

  • wget http://upload.wikimedia.org/ext-dist/OpenID-MW1.15-r48532.tar.gz
  • sudo tar -xzf OpenID-MW1.15-r48532.tar.gz -C /var/www/w/extensions

Extraido el paquete en el directorio extensions, procedemos a instalar php5-cli, pues lo vamos a necesitar para poder instalar la extensión openid en nuestro mediawiki, procedemos a ejecutar los comando siguientes

  • sudo apt-get install php5-cli
  • sudo mv /var/www/w/AdminSettings.sample /var/www/w/AdminSettings.php

Entramos a editar el archivo AdminSettings.php y ubicamos en las variables $wgDBadminuser y $wgDBadminpassword la información de conexión de usuario y contraseña de la base de datos donde esta mediawiki.

Procedemos a ejecutar el archivo de mantenimiento para actualizar nuestra base de datos con el comando sudo php /var/www/w/maintenance/update.php.

Ejecutado el script de actualización, agregamos esta linea a LocaleSettings.php

require_once(“$IP/extensions/OpenID/OpenID.setup.php”);

Y listo! tenemos nuestro mediawiki funcionando con openid

openidwiki1

openidwiki1

Y despues del ECSL…….

Tuesday, June 23rd, 2009

Bueno, hace dos días terminamos el Primer Encuentro Centroamericano de Software Libre, y que hicimos? para que nos reunimos? El primer día pudimos conocer la situación de las comunidades Centroamericanas, me di cuenta que Nicaragua es uno de los países con una peculiaridad, pues aquí existen comunidades orientadas por una distribución GNU/Linux, en otros países existen comunidades locales de universidades y en otras comunidades son grupos que se ubican en una misma zona geográfica.

Segundo día, se dieron las mesas de trabajo, se hablo sobre le tema de licenciamiento, mesa que fue moderada por Gunnar Wolf(México), Carolina Flores (Costa Rica) y Josue Abarca (Guatemala), donde uno de los acuerdos como países fue estudiar la legislación nacional en el sector de derechos de autor, y crear un grupo donde los desarrolladores de Software Libre puedan consultar sobre el tipo de licencia al momento de liberar código. En la mesa de educación, contamos con la presencia de Alejandro Miranda A.K.A pooka a su mejor estilo, a través de videoconferencia. La mesa de inclusión de genero, presento puntos muy interesantes sobre el porque las mujeres tienen un bajo porcentaje en el mundo TI y mucho mas bajo en el mundo de Software Libre, y se hicieron algunos análisis y propuestas para elevar el porcentaje de mujeres en el Software Libre, y para esto se impulsara la creación de una comunidad de usuarias de Software Libre centroamericana, donde todas puedan tener un espacio cómodo y poder sentirse en confianza. En la mesa de políticas publicas no pude estar muy presente, pues andaba dando vueltas por todos lados (ya parecía trompo).

Tercer día, aquí presentamos los resultados de todo lo que se hizo, desde la grandiosa comunidad el limón con apenas pocas horas de existencia, hasta comisiones nuevas que se van a formar para impulsar proyectos centroamericanos. También hicimos la despedida por la noche, donde pudimos ver los talentos de todos y todas, talentos artísticos, cantando, bailando, tocando guitarra. Talentos deportivos en la perrera, potra, chamusca, mejenga o como quieran decirle :)

La despedida fue una fiesta tremenda, durante ese momento estaba con felicidad, contento, al ver como una comunidad centroamericana que no se conocía, estaba comportándose como que si existiera una amistad de años, para mi fue algo increíble ver el espacio de socialización que tuvimos.

Gracias a gwolf y a muchos fotógrafos, logramos tener documentación visual del evento, y gracias a otro equipo lograremos en poco tiempo tener un boletín informativo para las comunidades y medios de comunicación, en donde se informe lo sucedido en el evento. Aun no tengo ninguna foto, espero poder tener algunas pronto!!! así que compartan sus links !!

Que puedo decir? el Primer Encuentro Centroamericano de Software Libre fue un COMPLETO EXITO!!!!!!!!!! sobrepasamos todas las expectativas, la unión regional fue un hecho desde México hasta Panamá (si, gwolf nos mostró el compañerismo y su aprecio por la región centroamericana), salieron iniciativas demasiado interesante y bastantes compromisos para levantar la región y mostrar que si existimos.

Se vieron proyectos sobre portales educativos en linea, tratar de involucrarnos en EDUSOL, proyectos sobre apoyo al sector salud a traves de openmrs, accesibilidad a traves de Un Mundo Accesible, incidencia política, derechos de autor, inclusión de genero, y otros mas.

No sigo agregando mas, solo me queda FELICITAR a la comunidad Nicaragüense en especial por tomar la batuta y ser el organizador de este grandioso evento, el primero pero no el ultimo, vendrán muchos mejores, pero si no hubiésemos arrancado, quien sabe cuando hubiese sido.

Sin dejar a un lado, agradezco enormemente la compañía de todos y todas :) (voy x otra camiseta!!), todo este evento no hubiera tenido el éxito y calidad de no haber sido por la asistencia de tantas personalidades centroamericanas.

Espero no vernos hasta el Segundo ECSL, si no, que empecemos a hacer intercambios entre nuestros países desde ya para seguir cultivando la hermandad centroamericana, así que esta es una tremenda directa para cualquier país que desee adoptarme de septiembre en adelante acepto invitación para irme a vagar y seguir apoyando el Software Libre!!! :)

Encuentro Centroamericano de Software Libre 2009

Sunday, May 17th, 2009

In this moment, we are planning the “Free Software Central American Meeting“, this will be the first edition and the venue will be in Esteli, Nicaragua. What are we planning to do in this event? We are planning to have 4 activities, the first one an exchange of experience between all the FLOSS communities from Central America, the second one, sharing knowledge making workshop, the third one, planning some strategies so we can make regional projects for the benefit of Central America.

The last one, its an programming contest, where the hackers from Central America will be working in a software development that help to all the countries of the region.

This event will be on 17th June to 21th June of 2009, so we have time to organize a great event! I would like to make an special invitation to people who don’t live in Central America to join us and share with the Central American tux family :)

Also, this is the first time we are going to have all the Ubuntu Central America Communities Leaders, with the presence of Ubuntu LoCo Teams from Panama, Costa Rica, Nicaragua, Honduras, El Salvador and Guatemala.

If you want to join us, just let me know.

Linux Tour Tegucigalpa

Wednesday, March 25th, 2009

El sábado pasado estuve en el Linux Tour Tegucigalpa, llegamos un poco tarde porque un día antes tuvimos la fiesta de bienvenida y andábamos algo desvelados :)

Cuando llegamos saludamos a sue helen, alejandro, y parte de la comunidad que estaban ahí. La primer conferencia fue de Kadaj, muy interesante sobre introducción al software libre, la segunda conferencia ni vale la pena mencionarla. Luego le toco el turno a Neville, esta conferencia sobre porque unirse a la comunidad, pero tuve que salir con cesarius a buscar a los compañeros Salvadoreños que llegaron a acompañarnos al evento.

Por la tarde se expuso sobre un sistema de gestión académica, idea que nació en El Salvador y la retomo Honduras a través de la UNPFM, mi exposición fue la siguiente y trato sobre un proyecto de migración de ooo a la lengua nativa misquito (esta exposición era presentada por Fitoria y/o Jimbo, pero ninguno fue), al final de la charla, la directora de registro y miembro de la comunidad se comprometió a hacer contactos con estudiantes de la UNPFM de origen misquito para ver la posibilidad de empezar el proceso de traducción.

Luego por la noche nos fuimos a casa de Yeni, donde estuvimos con GUL-TGU compartiendo en un asado + bebidas, para mi, la reunión nocturna fue mucho mas productiva que la reunión de la mañana, conversamos personas de comunidades distintas (linux.org.sv, gultgu y gulnic) sobre la situación de nuestras comunidades, sobre el encuentro centroamericano y pudimos intercambiar bastantes ideas que tenemos al respecto.

Solo me resta agradecer a la comunidad Ubuntu-HN, a luis, ivan, diego, elvira, mirtha y a UNITEC, por hacer de nuestra estadía en San Pedro Sula algo muy placentero. En Tegucigalpa a cesarius, sue helen, alejandro, yeni, hguerra, yeshua y demás por todas las atenciones brindadas, siento que hice muy buenos amigos por allá, espero poder visitarlos pronto nuevamente o a como les dije, espero verlos pronto por tierras Nicas :)

Les dejo fotos de san pedro sula y tegucigalpa

Bladimir Ocon – San Pedro Sula
Jose Luis – Tegucigalpa
Sue Helen – Tegucigalpa
Norman Garcia – San Pedro Sula
Norman Garcia – Tegucigalpa

Como hacer una llave SSH

Monday, January 19th, 2009

Una llave SSH tiene la misma o parecida razón de ser que una llave GPG, mientras una llave GPG nos sirve para identificarnos y poner nuestra firma digital. Una llave SSH es utilizada para darle a conocer a un servidor al que queramos acceder remotamente somos nosotros. Al igual que GPG, en llaves ssh contamos con dos archivos, un público que sera el que compartiremos con los servidores ssh para identificarnos y un privado que sera el que nosotros guardamos en nuestro computador y no puede ser copiado.

Generar una llave SSH es un proceso sencillo, para iniciar confirmamos que tenemos instalado openssh-client, en caso de que no, pues procedemos a instalarlo, usando el sistema APT, lo podemos instalar con el comando apt-get install openssh-client.

Una vez instalado esto, nos movemos a la carpeta ssh que normalmente esta ubicada en $HOME/.ssh, una vez ahí, ejecutamos el comando ssh-keygen -t RSA/DSA en dependencia del algoritmo de encriptación que queramos usar. Luego de esto, la primer solicitud que nos hace es escribir el nombre de archivo donde guardaremos nuestra llave, es recomendable aqui dejarlo en blanco presionando un enter para que el genere el nombre del archivo que vendría siendo id_rsa (en mi caso porque use el algoritmo rsa).

n0rm@kicker-desktop:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/n0rm/.ssh/id_rsa):

Luego la segunda solicitud que nos hace es introducir una frase, esta frase se da para brindar mas seguridad al algoritmo, aquí podemos escribir lo que queramos, se recomiendo escribir una frase larga, esta frase será pedida la primera vez que nos conectemos al servidor donde usemos nuestra llave.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/n0rm/.ssh/id_rsa.
Your public key has been saved in /home/n0rm/.ssh/id_rsa.pub.

Terminado esto, nos dice que nuestros archivos públicos y privados fueron creados, como podrán observar el archivo con extensión .pub es nuestra llave publica, que daremos a nuestros servidores remotos. Para que podamos usar nuestra llave ssh, debemos guardar el texto contenido en el archivo .pub dentro del archivo $HOME/.ssh/authorized_keys2 del equipo servidor al que queremos acceder remotamente (en caso de que no exista, creamos el archivo).

Ya ubicada nuestra llave publica pues nos resta hacer la prueba, entrar por ssh al computador y listo.

LinuxTour Nicaragua se va para Honduras

Monday, January 5th, 2009

Hace un tiempo en un evento aquí en Nicaragua, platicando con unos amigos se nos ocurría la idea del porque no organizar algo de software libre con compañeros de Honduras, teniendo en cuenta que somos países vecinos, y de paso poder conocernos y establecer lazos de amistad, asi que decidimos empezar a darle vuelta a la idea. No fue hasta que andando en Esteli, con leogg y neville para ver lo del ECSL, que la idea volvió y fue cuando empezamos a platicar con unos amigos de Honduras.

Después de dos semanas de platicas, ya hay algunos avances, el LinuxTour, se traslada a la ciudad de Tegucigalpa el día viernes 20 de Febrero, el evento esta siendo organizado en Honduras gracias a GUL-TGU, aun no contamos con un local y horario confirmado, pero el 20 de febrero la comunidad nica estará en Honduras.

Si estas interesado en mas información sobre el evento podes visitar la wiki donde se esta llevando todo lo relacionado al evento en linuxtour honduras. En esta misma sección de linuxtour.org publicaremos el lugar, horario y agenda una vez estén confirmado. También te invitamos a participar, ya sea como expositor o espectador.

Si deseas contactarte con los organizadores del evento podes hacerlo a la lista de correos de gultgu.

[MEME] Propósitos para el 2009

Thursday, January 1st, 2009

1. Academico: Pues para el 2009 tengo pensado terminar mi tesis monográfica, aprender si se puede, un lenguaje de programacion. Hace algunos años habia tomado el curso CCNA, y este año me gustaria tomar el examen de certificación.

2. Laboral: Tengo pensado dos o tres proyectos laborales, espero poder realizarlos este año, aparte de seguir trabajando en el ISI e ir impartiendo poco a poco, mas cursos de software libre y así seguir levantando el negocio de la familia.

3. Comunidad de software libre: Llevar a niveles mas altos a la comunidad de usuarios de software libre de Nicaragua, dar a conocer el trabajo que se hace en Nicaragua en otros paises. Seguir promoviendo trabajos de migración, demostrar que aquí en Nicaragua SI hay personal para atender las necesidades de software libre.  Poder reunir a la comunidad de software libre centroamericana!! va a ser un gran reto :)

4. Varios: Volver a natación!! tengo como 8 meses que no volví a nadar y la verdad me hace mucha falta. Aprender a tocar guitarra, otra cosa que inicie este año, pero no lo he terminado por pereza.

Seguramente algo se me olvidó y seguro habrán cosas que no pueda cumplir este año, pero bueno, las metas se ponen para mantenerse ocupado y no estar de vago :)

Meme leído del blog de :

Fitoria.
Byron.
Cesarius.

Soy un antivirus

Tuesday, June 3rd, 2008

Si, asi a como dice mi post, hace dos dias me di cuenta que soy un antivirus :( asi como lo leen, resulta que en el mundo español (de españa), mi nombre es una empresa que ofrece soluciones de seguridad informatica (lease anti-spyware, anti-virus, anti-malware, etc)