Programacion de modulos de Webmin en 10 minutos

El otro dia se me ocurrio programar modulos para el Webmin, el webmin para los que no lo conocen, por asi decirlo a groso modo, es un panel web de administracion de servidores UNIX. Hace poco estuve leyendo un tutorial basante basico pero muy bueno en www.geocities.com/j4nusx/index.html . Hay estan los lineamientos basicos para la implementacion de un modulo webmin. Ademas estuve leyendo la documentacion de la API de webmin, para programar modulos, y me di cuenta que los permisos del servidor son por directorio, o sea el grupo o usuario que quiere permiso a un modulo lo toma por el directorio de lo modulo, ademas al ser todo CGI se pueden programar modulos en cualquier lenguaje, ya sea Perl (por default es perl ademas webmin esta hecho en perl y por lo general todos los modulos de webmin estan hechos en perl), o si no tambien en PHP, Python etc, ademas hay ports de las librerias de webmin a estos lenguajes.

Para empezar debemos tener instalado webmin en nuestro sistma, ya sea de un tar.gz un paquete .deb o un rpm, las instalacion varian, ejemplo en debian esta en /usr/share/webmin o redhat en /usr/libexec/webmin, y dentro de estos path esta contenido el webmin con sus modulos etc.

El webmin tiene un propio servidor https escrito en perl, miniserv.pl, el mismo crea un socket https en el puerto 10000 de dicho host.

Primero debemos crear el directorio para nuestro modulo ej:

/usr/libexec/webmin # mkdir miprimermodulo

Luego hay una serie de archivos y directorios principales que hacen a la estructura de nuestro modulo

como el archivo config, config.info module.info etc, y el directorio images, que contiene el icon.gif que es el icono que representa a nuestro modulo en la administracion de webmin Otro directorio con el que nos podemos topar es el directorio lang, que contiene los mensajes o cadenas traducibles y a mostrar que se guardaran en la variable tipo array $text, ejemplo podemos tener el archivo lang/es de la siguiente manera con las variables traducibles

index_title=Comandos Remotos
index_return=Regresar a la pagina principal del modulo
crear_host=Crear nuevo host
crear_host_tb=Nombre del host
crear_host_ip=Direccion IP del host

Otro archivo importante es el defaultacl

#~cat defaultacl
user=root

Que tiene los accesos por default para el modulo, cabe destacar que los permisos en webmin pueden ser por grupo o por usuario ( mirar los archivos webmin.acl webmin.groups dentro de /etc/webmin )

Hay unos archivos principales de funciones en webmin, ellos son web-lib.pl y ui-lib.pl, el primero tiene funciones basicas y minimas para el funcionamiento del modulo de webmin, y el segundo tiene funciones que hacen a la estetica y el funcionamiento del mismo.

Funciones basicas a conocer header($text{‘index_title’}); &footer(«», $text{‘index_return’}); ui_print_header(); &ui_print_footer (); y la variable text es el array con las cadenas de texto que se mostraran en las funciones. Para acceder a variables de configuracion dentro del archivo config lo hacemos por medio de la matriz $config{‘mivariable_deconfiguracion’} etc

Si queremos programar un modulo en php, en debian tenemos que utilizar el php-cgi y en redhat como no esta, solo esta el php comun en miniserv.pl en la linea 1947 hay que hacer una modificacion y agregar:

$ENV{«REDIRECT_STATUS»} = 200;

Una vez que queremos probar como funciona nuestro modulo, o por lo menos sin funciona o no :p

Eliminamos el archivo /etc/webmin/module.infos.cache , que es una cache en la que el webmin guarda los datos de los modulos, entonces al reconstruir esa cache reescanea todos los modulos y reconstruye su lista interna, haciendolo visible en la lista principal.

Es recomendable tener un buen conocimiento de Perl o de programacion en general para encarar esta tarea, asi que el que no esta muy ducho con Perl, que lea un rato 😉 , lo que mas en claro tienen que tener es el manejo de variables globales en perl (todas son globales :p ) , el manejo de arrays hashes etc %variable @variable , funciones como push etc, manejo de archivos OPEN, ciclos como while etc. Cosas basicas pero que hay que conocerlas bien.

Ah al ser cgi, todos los archivos que queramos ejecutar deben tener la extencion CGI, aunque no es necesario que tengan permisos 755 con 644 funciona igual :), y todos deben tener #!/usr/bin/perl o #!/usr/bin/python o #!/usr/bin/php4-cgi dependiendo del lenguaje, para que sepa como ejecutarlos a los archivos.

Hoy la verdad mucho «no me esmere» en escribir por que ando con muy poco tiempo y se que si no posteaba ahora iba a pasar bastante tiempo hasta que lo haga, asi que sepan entender el mal formateo y la escritura rapida, ah y por ahi hay letras que no van para que no tengo mi teclado, estoy en otra maquina, y quiero escribir lo mas rapido posible y no es lo mismo sin el teclado de casita.

El 12 de octubre, como tenia que trabajar deje bajando todo el streaming del dia de canal 7, con tres programas alusivos a esa fecha, con participante de comunidades Mapuches, Toba, Tehuelches, Aymaras entre otros, y videos debates etc. Espero poder editar los 600MB de WMA, ya que tengo que convertilo a un formato editable por Kino, Avidemux etc, o algun editor libre que ande bajo GNU/Linux, alquien que haya tenido un caso de exito editando este tipo de video que me avise que una vez que pueda recortar los programas etc lo subo a youtube y lo pongo aca en el Blog.

Sin mas saludos a todos, ahhh y el lunes tengo el examen de Barmanager en el Club del Barman, tengo que estudiar lejislacion, sobre el codigo alimentario y unas cuantas cosas mas :s no se si llego con todo!!! jaja pero bue hay que leer, anoche no me fue muy bien en la prueba de los tiempos preparando tragos, pero despues repunte un poco :p

Pepsi Music 2007 – Dia 8 – Marilyn Manson en Argentina

Ayer fui al recital de Marilyn Manson en el Pepsi, estuvo muy bueno, fue algo corto pero bue

puedo decir que fui a ver a Marilyn Manson jaja, los mas copados fueron sweet dreams , the dope show , rock is dead, disposable teens, the beatiful people, the fight song entre otros

Aca algunos videitos que filme, me costo mucho lograrlo por que habia mucho pogo jaja

 

Este es un video de otro que fue al recital y que si pudo grabar the beautiful people 🙂

 

Bue y despues del recital, fui a un boliche de Lomas, por que tenia que ayudar a Fede, lleve mis herramientas,

cocteleras etc, por que con lo que ganaban en la barra tenian que recaudar para el colegio 🙂

 

En fin fue un finde semana bien invertido y la pase muy bien

Programando Webmin

Es tarde y deberia estar durmiend, pero tengo que hacer cosas, y para postear algo les comento que estoy programando un modulo de Webmin, que lo que hace basicamente «crea magicamente unos formularios» :p y uno le da click ejecuta ciertos comandos en una n* cantidad de servidores, como crear multiples usuarios o detener o reinciar servicios etc, lo estoy haciendo en perl y php con la web-lib.php que es un port del la libreria de webmin a php no es guau !! pero algo se hace con eso

ah mañana voy a participar del programa Siempre Hay Mas sobre un debate cultural etc espero despertarme a tiempo jaaj

les prometo a todos los que me envian email o comentarios al blog contestarles :), ah este sabado me voy a ver a Marilyn Manson 🙂

saludos a todos y que la fuerza los acompañe…

nos me gusta hacer posts vacios como este, pero bue no tengo tiempo que postear y queria que lo supieran,

para la proxima prometo un manual de programacion de modulos de webmin 😉

Evento de Maridajes

El dia jueves asistí al evento de Maridajes en la Universidad de Palermo, estuvo muy bueno, solo pude asistir a la ultima charl, en la cual Tres Blasones exponian sus productos de lujo, hicieron enfacis en Cointreau, Remy Martin, Drambuie, Absolut Vodka y Absolut Level. Hablaron del reconocimiento de cada una de las marcas, como su simbologia, sus colores, look & feel y packaging, y de como estas marcas si perder su distinción supieron adaptarse a los nuevos tiempos y segui innovando sin perder su esencia

Cointreau y su campaña CointreauVersia

Tambien hablaron del reconocimiento por parte de sus consumidores y de como definen el target de estos

Rémy Martin es una Casa fundada en 1724, en la actualidad es propietaria de dos terceras partes de los viñedos del área de Fine Champagne, territorio de donde provienen los viñedos más prestigiosos de Francia. El V.S.O.P. es el coñac insignia de la marca, tiene como características un equilibrio perfecto y ricas texturas que otorgan sensaciones poderosas al tener mayor intensidad.

Tambien estuvo presente la gente de Sabia con su stand del cual probe un Whyte & Mackay

En la foto no entro del todo, pero a la izquierda se puede ver un embase de Ginebra BOLS en botella de ceramica

Y el agua siempre presente :p

y la exibicion de Flair del Club del Barman

Evento gratis de Management Gourmet y Hoteleria

En el dia de ayer Maridajes me envio una invitación por email para el siguiente evento el cual me parece resultara muy interesante al público bartender

Hace Click en la siguiente imagen para ver el programa

Windows Vista vs. Ubuntu 7.04

Con 17 páginas y 117 imágenes, el sitio argentino MaximoPC hace una de las comparaciones entre Windows y Linux más exahustiva que me tocó leer en este último tiempo. Su revisión enfrenta a Windows Vista Ultimate (U$S 499) contra Ubuntu 7.04 «Feisty Fawn» ($0) en una variedad de criterios: su instalación, las aplicaciones ofrecidas por cada OS y su soporte de drivers de video en 3 escenarios típicos: el uso diario, la multimedia y la reproducción de videos. Todo ésto en una configuración envidiable:

  • Core2Extreme X6800 (2.93Ghz)
  • 2Gb G.Skill PC2-8500 (1066Mhz)
  • ECS nForce 680i SLI
  • MSI Geforce 8800GTX OC
  • Seagate 320Gb SATA2 HDD
  • Pioneer DVR212 SATA
  • LG 17″ LCD (1280×1024)

La conclusión final es imperdible, y comienza con este reveladora premonición:

«El reinado de Microsoft se va acercando a su fin, es claro que para las cosas que hemos comparado aquí, uso diario, video y escritorio 3D, Ubuntu no tiene competencia».

El nacimiento del Linux como sistema operativo de Escritorio para las masas recien ha comenzado, la versión Ubuntu Feisty Fawn es a mi criterio la primer versión totalmente amigable al usuario y que puede permitir que cientos de personas cambien al Linux.

No suelo publicar este tipo de noticias pero como estaba muy buena la saque de VivaLinux y la pegue aca, no me interesa el producto de la empresa esa de Redmon (el software ventanas o como le digan), y hace ya varios años que no lo utilizo pero me resultó interesante que alguien se tomara el trabajo de realizar este informe.