Servidores XS School Server, SQUID Proxy y uno de mis programitas de practica en Python.

Dejar un comentario

En esta ocasión me he animado a poner un pequeño código usado en el servidor XS para las olpc’s, pero antes les dire algo basico del servidor XS.

XS Server School es la infraestructura que se usa en las escuelas para dar acceso a internet a las xo’s, ya que se necesitan centralizar aspectos importantes de las mismas como lo son seguridad (permitir solamente a las xo’s conectarse, entre otras), tambien el cuidado de las websites vistidas
por los niños, controlandolas ya sea atraves del SQUID proxy o el openDNS que es lo que se usa en Nicaragua.

La configuración basica de software sobre el servidor esta provista atraves de YUM de Fedora asi como del Administrador de Paquetes RPM.
Importancia de activar el SQUID Proxy!

- activar cache web, ya que con esto podremos optimizar el acceso a paginas ya visitadas, esto es visitando la pagina en cache.
- revisar periodicamente la Cache Web para ver las paginas visitadas y que lograron pasar por OpenDNS y por las mismas restricciones del SQUID Proxy.
(aca es donde se me vino hacer un extractor de dominios visitados en Python).

Pero antes de seguir, iniciemos el Web Caching!

 /etc/sysconfig/olpc-scripts/TURN_SQUID_ON

para probar algun servicio activo en nuestro systema tendremos que ejucutar lo siguiente:
service SQUID status
y para ver en tiempo real el cache web:

 tail -f /var/log/squid/access.log

aca es donde extraemos las paginas visitadas con el programita donde ya les pondre el código.

En fin hay muchas cosas mas, pero es algo que en primera instancia me llamaron la atención.
Aca les dejo el código, y no esta de mas, que por lo general los niños lo que mas visitan son Juegos :) .

Una cosa más, y es que tu seguro lo puedes mejorar. pues yo lo hice para poner en practica lo aprendido en su momento con python, por falta de tiempo por ahora no lo puedo mejorar, aunque he conocido de muchas formas :)

#! /usr/bin/env python
#write by Walter D. Vargas 
# Programa que lee un archivo con logs de la cache web
# y extrae los dominios guardandolos en un nuevo archivo, agregando
# los duplicados una vez y los no duplicados
"""El objetivo es supervisar que paginas estan viendo los ninos,
  aunque normalmente puedes verlo en tiempo real, atraves del SQUID"""
import string
from sets import Set
def submain():
       """leemos el archivo con los logs"""
#aca va la direccion origen del archivo log del proxy
       fichero = open('direcciones.txt', 'r')
       oficial = []
       lista = []
       while 1:
                """leemos linea a linea"""
                linea = fichero.readline()
                linea = linea.rstrip()
                """si linea es vacia, paramos el bucle"""
                if linea == "":
                         break
                #"""validamos si existen saltos de linea al final \n"""
                #if linea[-1]=='\n':
                #        linea = linea[:-1]
                """guardamos en una lista cuando separamos en elementos la linea"""
                lista = string.split(linea, '/')
                 """recorremos la lista y agregamos a otra lista el elemento que contenga
www.dominio.com"""
                 for word in lista:
                          cad = str(word)
                          if string.find(cad, 'www')!=-1:
                                   oficial.append(word)
        """cerramos el fichero de lectura"""
        fichero.close()
        """eliminamos duplicados y ordenamos
        oficial = list(Set(oficial))
        oficial.sort()
        f_output = open('nuevo.txt', 'w')
        for i in oficial:
                 i = i+'\n'
                 f_output.write(i)
        f_output.close
submain() 

Nuestro nuevo ambiente de Cocina, Django!

Dejar un comentario

Hey un saludo. Siempre me ha llamado la atencion temas relacionado a Python, y bueno, creo que Django no se queda atras,  por el simple hecho que es un Framework Web, diseñado para simplificarnos la vida, ya les contare porque.

Asi que de ahora en adelante, he decidido darle pase a mi humilde blog, posteando cosas mientras voy a aprendiendo.

Para comenzar es muy importante aclarar nuevos terminos y este basado en la definicion de el libro “El Libro de Django“, el termino ya citado antes, Framework.

Framework Web, es el encargado de proveer un infraestructura de programación para tus aplicaciones, es decir que tu te puedas concentrar en escribir codigo limpio y de facil mantenimiento, sin tener que reinventar la rueda”
. De manera simplificada.

Básicamente, la estructura de este Framework esta diseñado para poder trabajar en el proyecto web, a veces sin tener conocimiento profundo de diseño de paginas web, pues de esta manera programaremos la funcionalidad sin tener que trabajar con el diseño, aunque la idea es extender el sistema creando nuestras propias plantillas.

“En Django, Una Plantilla, no es mas que una cadena de texto con el objetivo de separar la presentación de nuestro documento y los datos en si”

Lo que debiamos haber echo antes XD , pero no importa de nada nos perdimos. Entonces Hagamoslo!

Para los que no tienen instalado Django, es muy sencillo, basta con ir a la pagina oficial del proyecto y descargarnos la ultima version, pero apartir de aca se asume que se tiene conocimiento básico de programacion en Python.
http://www.djangoproject.com/download/

Lo Descargastes?… si. Entonces sigue estos pasos.
1- Descomprimimos
tar xzvf Django-*.tar.gz #el * significa cualquier version.
2- cd Django-*
3- python setup.py install #y ya lo tenemos.

#recuerdo que yo habia probado django en fedora 9, y no conseguia hacerlo trabajar, habia que hacer toda una serie de pasos, pero ahora en Fedora 13 no tuve ningun problema.

para probar inmediatemente la instalacion abre un terminal, y ejecuta python, dentro importa django que sin mas te muestra la version instalada.

Bien, segun el libro de Django, mas adelante podriamos necesitar una Base de Datos, asi que no hay que preocuparse, Python, ya trae SQLite 3, si tienes python 2.5.* en adelante ya esta integrada. De hecho, yo trabajare con SQLite 3.

y como ultima cosa, agregemos un directorio de trabajo. Aca es donde estaran todas las configuraciones iniciales de nuestro proyecto, la estructura y funcionalidades las veremos en la proxima entrega.

1- abrimos un terminal y nos ubicamos donde queremos almancenar nuestro projecto.
2- ejecutamo django-admin.py startproject mi_sitio # donde mi_sitio es el nombre del projecto, puedes
cambiarlo.
3- cd mi_sitio # este es el directorio creado y en donde se encuentran las configuraciones iniciales,
que es lo que explicaremos en la proxima.

Listo? … entonces por ahora esto es todo, nos queda mucho camino por recorrer, seguro hay quienes ya dominan esto, o hay quienes prefieren hacerlo todo a su manera, para lo que yo digo, no importa, seguro habran personas como yo, que a veces no quieren leerse todo un manual para trastear un rato con una herramienta o aprender un nuevo concepto, y lo más importante de todo, lo hago para afianzar conocimientos.

A proposito del FLISOL

Dejar un comentario

Informacion sobre el Flisol

Bueno, he preparado rapidamente esta breve informacion acerca del proximo Festival Latinoamericano de instalacion de Software Libre 2010.

Realmente, hay muchas cosas que debo aclarar para los que no saben a que se refiere el termino de software libre. Es que muchas veces ya se nos ha preguntado si se refiere a software gratis, y otras veces simplemente no se dan cuenta de su existencia.

De hecho, el FLISOL esta dedicado a llenar ese vacio de conocimientos de personas que se tratan de evitar la fatiga, aunque por otro lado se quiebren la cabeza con cosas como virus, falta de privacidad, entre otras.

Veamos algunas puntos muy importantes:

- que es o que significa Software Libre. – es todo aquel software que garantiza a los usuarios derechos de ejecucion, exploracion del codigo fuente para revision y modificacion, con la unica condicion que tanto el programa compilado a partir del codigo fuente original, asi como del nuevo codigo el cual contiene modificaciones, sean de caracter libre, es decir, lleven las caracteristicas anteriores (vaya, esta definicion me huele un poco a “definicion recursiva” para los que son programadores).

la definicion anterior, como pueden leer conlleva un aporte muy interesante, y es el del apoyo colectivo, pues a decir verdad, se promueve la libre distribucion de codigos, y formas de como funcionan las cosas, ayudando a terceros como mi persona en particular, a entender primeramente para luego desarrollar y aportar a la sociedad, pues esto reduciria una extensa lista de problemas, por mencionar una, costes de desarrollo y mantenimiento de una firma.

Software libre es gratuito?…. No… esto porque no siempre un software libre no siempre es gratis. pues de hecho, todo profesional o tecnico especialista necesita en que apoyar su trabajo, pero es un hecho, mas bien seria por soporte tecnico, y por alguno que otro encargo de adaptacion del software para una empresa especifica, esto es, modificicaciones del codigo para que el software se adecue a lo que queremos nosotros.

Una ultima cosa sobre lo de gratis….. alguien te podria ofrecer un software gratuito, pero como no es libre, no puedes ver la estructura del codigo, y este podria contener virus, y segun en que pais se este, las leyes de propiedad podrian ser un gran problema para el que intente modificar el codigo.

una ultima cosa, muy importante, es sobre la Licencia de Software Libre, General Public Licence (GPL).
un breve resumen que me encontre en una de las revista de software libre aca:

La licencia GPL se puede resumir así:

1    Cualquiera es libre de utilizar el Software Libre para cualquier propósito.
2    Cualquiera es libre de acceder a su código fuente y estudiarlo.
3    Cualquiera es libre de distribuirlo.
4    Cualquiera es libre de mejorarlo o adaptarlo y de distribuir el programa modificado.
5    La única obligación es que si se distribuye, haya que hacerlo bajo la misma licencia GPL. (*)

Cuando se distribuye un programa libre se puede cobrar por los siguientes conceptos:

1   Por el hecho de hacer una copia con un medio físico.
2   Por el hecho de ofrecer servicios de mantenimiento y garantía.
3   Por el hecho de incluir otros programas o documentos que no tienen licencia GPL.
4   El texto legal de la licencia GPL está en inglés en http://www.gnu.org/copyleft/gpl.html

Bien, y volviendo al tema del FLISOL, como es de dar a conocer las creaciones del software libre, esta lo que hoy conocemos en sus diferente gustos y colores:
Linux, con sus distintas distribuciones o distros:
- Fedora.
- Debian.
- Ubuntu.
- Knoppix.
- y muchas mas.
Pero para que contartelo si puedes vivirlo el sabado 24 de Abril, en nuestro pais Nicaragua, estaremos ubicado en Tres Ciudades, Esteli UNI-Norte …. Granada Casa de los tres mundo….. Managua  American College.. desde las 8:00 AM. todo el dia.

Presentacion de Software libre en Celula EVA

Dejar un comentario

Hola a todos, Bendiciones a los que me leen!

Si!! quiero comentarles el hecho que estare realizando una pequeña presentacion sobre software libre, y pues una demostracion con fedora de las cosas que se logran con este Sistema Operativo 100% free.

Pero, lo que quiero comentarles es acerca de lo que son las Celulas EVA´S, ya que ese nombre tal vez les llame la atención.

Celulas EVA´S son lugares de reuniones de Jóvenes, con el objetivo de conversar acerca de las situaciones que nos rodean: escolares, labolares, familiares, y como ciudadanos que somos, de forma de poder resolver nuestras inquietudes, poniendolas al cuidado de Nuestro Gran Dios.

Asi que ayudamos a los jovenes con concejos practicos de su vida cotidiana, pero tambien ofrecemos una Solución, de hecho Cristo es la Única Solución, y es a el a quien debemos nuestras reuniones.

por mi parte, estoy aprovechando la oportunidad para sembrar la palabra de Dios y pues a la vez presentar algo en lo que he estado trabajando desde hace no mucho, eso es Software Libre, Linux.

Saludos, y de alguna forma estoy aportando un granito para la comunidad de software libre en Masaya y Nicaragua en general!

Aprovecho para saludar a mi amiga, Estefania que se encuentra en Canada.

Agregando Screenlets a Fedora 12!

Dejar un comentario

Tratando de darle una mejor apariencia a mi Fedora 12, he revizado como instalarle Screenlets, y pues esto es lo  unico  que  he hecho:

  1. descargarme lo siguiente:   http://www.dfm.uninsubria.it/compiz/…c11.noarch.rpm

Lo ejecuto y lista, el solo se instala. Ya puse mi pantallazo, aunque no le agrege muchos, y es que en realidad solo se los instale para probarlos, pues me gusta dejar las cosas a su minima expresion de simplicidad.

Esto lo he tomado de : http://forums.fedoraforum.org/showthread.php?t=228488&highlight=screenlets, pues de tanto buscar hasta el google te facilita la vida.

Migrando nuestro colegio a Linux

Dejar un comentario

Hola hola, una vez mas. A decir verdad me siento muy alegre, y esta es la razon:

Me han dicho los encargados del proyecto de las XO´s en nuestro centro y en algunos otros, que ya esta en marcha el proyecto de Migración a Linux.

 

Vaya, esto si que es muy alentador. Será un buen ragalo de año nuevo para los alumnos de secundaria, sobre todo, siento que mi voz a echo un eco con muy buenos resultados y que nada ha sido en vano.

Exitos para el colegio Laura Vicuña.

Algunas memorias y tomadas desde mi XO

Dejar un comentario

Y bien, creo que estas son unas pocas memorias que tengo de lo que ha sido del proyecto que me ha involucrado las XO´s de OLPC.

XO´s

Algunos profesores de mi centro

Yo con la boca abierta je.

Ya en el Lab.

Lab. Nica

y son mas!

fedora 12 tomada desde mi xo recien instalado.

aca estamos en pizza bash XI.

Bueno, a decir verdad es que yo siempre me animo a tomar foto desde mi xo, pero nunca las respaldo, y por eso solo estas tengo.

En fin, solo queria compartirlas. Es una excelente herramientapara los niños.

Entradas más antiguas

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.