Posts Tagged ‘informatica’

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:

MINED y Software libre?

Tuesday, July 7th, 2009

El uso de tecnologías en la educación debe de ser prioridad para todo centro de enseñanza o ministerio de educación, pues lleva al y a la estudiante, a conocer todo un mundo que desconocen en su aula de clases, a prepararlos de una mejor manera para sus próximos niveles escolares o su inserción al mundo laboral, aumenta su nivel de aprendizaje, se logra captar de una mejor manera la atención de los y las estudiantes.

Es una herramienta valiosa para llevar la clase fuera de las cuatro paredes del salón, pues hoy en día los educadores y las educadoras no deben de enfocarse solamente en el salón, la pizarra y sus apuntes, si no, dejar que descubran todo un mundo que existe fuera del colegio a través de la Internet, que puedan interactuar con estudiantes de otros colegios, que investiguen por su propia cuenta, que les permita colaborar entre el mismo grupo, que les permita crear y contribuir. El y la docente debe de convertirse en un facilitador para que los y las estudiantes puedan aprender mas cosas que las que pueden aprender en su aula.

El Software Libre no es solamente un programa de informática que nos sirve para realizar una tarea, si no, que creo que el Software Libre es toda una filosofía que nos enseña a ser mejores personas cada día, a no ser egoístas, a no ser soberbios ni creídos. El Software Libre nos enseña compartir lo que vamos aprendiendo, a ser una persona humilde y no tener aires de grandeza, a ayudar a quien lo necesite sin esperar alguna retribución (claro, esto no quiere decir que no hay retribuciones, las hay indirectamente pero no es lo que se persigue), a ser amigo o amiga con quien lo necesite, a trabajar en equipo, y nos enseña muchos valores éticos y morales que harán de los y las estudiantes, unas mejores personas.

Por consecuencia de mi trabajo monográfico, tuve acceso a un documento que habla sobre los pilares de la “Educación Nicaragüense”. A continuación les enumero los pilares:

  • Aprendan a Ser: Este pilar fortalece el desarrollo del ser humano con valores sociales, ambientales, éticos, cívicos, humanísticos y culturales, que les permita construir su identidad, la formación del carácter y el fortalecimiento de su autonomía, así como el desarrollo de su proyecto de vida, en beneficio de la colectividad, para vivir una vida saludable y gratificante.
  • Aprendan a Conocer: Articulando un saber general suficientemente amplio, que permita al estudiante desarrollar aprendizajes básicos y necesarios para su formación integral, diseñando un Currículo que considere un equilibrio apropiado entre el conocimiento científico, humanístico, técnico, laboral, artístico y recreativo.
  • Aprendan a Hacer: Adquiriendo competencias amplias que permitan al estudiante apropiarse de los métodos y de los procedimientos que puedan utilizarse a partir de los conocimientos, para actuar sobre la información, sobre sí mismos y sobre las diversas situaciones, desarrollando la capacidad para actuar de manera reflexiva, con iniciativa, creatividad, ser originales, innovadores
  • Aprendan a Convivir: Formando una nueva ciudadanía comprometida con el desarrollo del país, de su comunidad, de su integración a la región Centroamericana, Latinoamericana y su ubicación equilibrada a nivel mundial. Se enfoca en el desarrollo y práctica de los valores de transparencia, tolerancia, el respeto a los derechos humanos, a una Cultura de Paz que forma en deberes y derechos, el respeto a la Constitución Política y sus Leyes.
  • Aprender a Emprender: Concretando de manera creativa los aprendizajes, forjando nuevas ideas, nuevas formas de actuar ante el conocimiento, la tecnología y el trabajo. Este pilar está íntimamente relacionado con el Enfoque Politécnico, el emprendedurismo, la orientación vocacional y profesional; fomentando la practica del aprendizaje permanente orientado a la inserción cultural y laboral de calidad; así como el desarrollo de aptitudes, habilidades y destrezas laborales útiles para la vida, desarrollando actitudes hacia la productividad y el amor al trabajo

Ahora, leyendo estos pilares, me pregunto:

  • Estos pilares tienen relación con los objetivos que persigue el Software Libre?
  • Seria descabellado pensar en usar Software Libre en la Educación?
  • No sería incoherente el uso de software propietario en el sistema escolar viendo los pilares que sostienen a la Educación de Nicaragua?

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

Drupal Camp Centroamericano

Tuesday, April 14th, 2009

Parece que este 2009 estará cargado de eventos de software libre en la región centroamericana, este año ha iniciado con bastante acercamiento entre las comunidades de software libre de nuestros países.

Este sábado la unión centroamericana en materia de software libre continua, organizado por la comunidad drupalera y por nuestro amigo xamanu este sábado 18 de Abril en la UCA se llevara a cabo el Primer DrupalCamp Centroamérica.

Durante este evento se impartirán charlas como Drupal en múltiples idiomas, como hacer themes para Drupal, como producir módulos para Drupal, también charlas de experiencias usando Drupal, entre otros.

El evento esta programado para iniciar el Sábado a las 9 AM y terminar a las 7 PM y contara con la presencia de personas de Panamá, Costa Rica, México, Honduras, Guatemala. Hasta donde he visto, promete ser un evento interesante el cual seguro no me voy a perder :)

El día Domingo se tiene pensado hacer una gira turística por el Volcán Mombacho y Granada para que las personas que vienen del exterior puedan conocer y para los nacionales que no conozcan y quieran conocer o solamente quieran ir a vagar! :)

Así que ya saben, acompañemos a la comunidad Drupalera este sabado en el Primer Drupal Camp Centroamerica desde las 9 AM

Pizza Bash Abril

Monday, April 13th, 2009

Esta semana tenemos dos actividades, ambas muy interesantes. Como ya es de costumbre, desde hace 5 meses (increíble, ya llevamos 5 meses con esto? no me había dado cuenta), se viene el Pizza Bash el día viernes 17 de Abril, como dice en la web de linuxtour

Es una actividad mensual informal para dar soporte presencial. Está organizada por Grupo de Usuarios Linux en Nicaragua y esta llegando a su quinta edición consecutiva. No hay charlas, no hay talleres, solo un grupo de personas reunidas para platicar sobre software libre y en particular GNU/Linux. Un espacio para contestar preguntas sobre problemas de instalación/configuración/actualización de software libre. Es también una forma de esparcimiento para salir de la rutina del ciberespacio y vernos cara a cara. Para poder asociar una cara a un Nick

Donde va a ser? en el Salón Sacuanjoche de Hotel Mansion Teodolinda, desde las 3 pm hasta las 7 pm, como dice la definición de Pizza Bash, al no haber agenda no importa la hora en que tengan que llegar y tengan que irse, lo importante es llegar y compartir con las demás personas que quieran saber sobre Software Libre :)

Como su nombre lo indica, vamos a tener pizza, normalmente se hace una recolecta entre todos los que estan para comprar pizza y gaseosas, así que ya sabes, te esperamos el viernes 17 de abril desde las 3 pm hasta las 7 pm para hablar de Software Libre y comer algo de pizza.

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.

The making of the SFD 2008 Nicaragua

Sunday, December 14th, 2008

Watch it on

Youtube.

Ogv format.

Inicia EDUSOL

Sunday, November 9th, 2008

Mañana inicia el EDUSOL, EDUSOL es una propuesta para generar un espacio de discusión sobre temas que tienen que ver con la educación, tecnología y software libre. Este evento, en su cuarta edición, se va a dar del 10 de Noviembre al 21 de Noviembre del 2008, y todo se realiza vía internet.

Queres asistir??? sos libre de hacerlo! solo entra al sitio web de registro EDUSOL, leer sobre la forma de trabajo.

Una vez creada tu cuenta, ingresas en el sistema y podes visualizar el calendario de actividades.

Las conferencias por IRC

Red: irc.oftc.net
Canal: #edusol.
Puerto: 6667

Adios campus party y hasta pronto amigos

Sunday, November 2nd, 2008

Ayer fue el acto de clausura del Campus Pary Iberoamerica edición El Salvador, y hoy ya estoy de regreso en Nicaragua, el vuelo salio a las 11.30 AM y aquí veníamos Adelmo Sandino, Nicaragüense que participo en Astronomía, 3 compañeros dominicanos y compañeros panameños.

Que puedo decir? aparte de los inconvenientes que hubieron, puedo decir que fueron 5 días espectaculares, el conocer personas con los mismos deseos que apoyar, el poder intercambiar ideas con comunidades de software libre de otros países, conocer a personalidades latinoamericanas de internet. Creo que eramos muchos los que aun no queríamos que el campus terminara :)

Se hicieron muchos amigos, Elio de Perú, Andres, Francisco y Luis de Uruguay, Elias y Joan de Dominicana, Cesar, Noel y Yeshua de Honduras, Pedro de Ecuador, Hugo, Eduardo y Aeromental de Bolivia, Sebastian de Venezuela, la comunidad de software libre de el salvador, Norcecy, Juan y Adelmo de Nicaragua que no los conocía, un compañero Chileno que olvide su nombre pero muy buena onda y si se me escapa alguien disculpas, tanta gente que aveces cuesta recordar a todos :)

A continuación les dejo un video, donde habla un poco sobre las personas que estabamos en el area de inclusion digital.

Y el video de despedida del campus party :) gracias a todas las personas que hicieron posible esta gran experiencia que a todos nos ha dejado un buen sabor

Pizza & blogs

Friday, October 31st, 2008

Ayer aqui en el salvador, hubo una reunión geek latinoamericana llamada pizza & blogs y organizada por bloggers de España. Bloggers y twitteros de República Domicana, Bolivia, España, honduras, México, Colombia, Venezuela, Chile, Argentina, El Salvador, Nicaragua.

Fue una reunión interesante ya que conocí a otras personas con la misma pasión que yo tengo en software libre, personas que en sus países han levantado el software libre contra viento y marea, han peleado para lograr cosas significativa en pro de la disminución de la brecha digital.