lunes, 18 de noviembre de 2013

Cómo crear un módulo de Webmin personalizada

Creación de una costumbre Webmin módulo es más fácil de lo que parece. 

Cree las

Webmin es una interfaz basada en Web que se utiliza para la administración del sistema en los sistemas basados ​​en Unix. Le permite configurar cuentas de usuario y uso compartido de archivos. Debido a su diseño, puede agregar nuevos módulos con facilidad sin necesidad de cambiar el código existente. Módulos de Webmin son similares a las aplicaciones del iPhone en términos de integración.Aunque un módulo debe administrar un servicio o servidor, las funciones del sistema complejos pueden ser manejadas por más de un módulo.



Cree una nueva carpeta en el directorio base Webmin y el nombre foobar. Un módulo de Webmin es básicamente un directorio que contiene los programas CGI se ejecutan por el servidor web del Webmin. La ruta por defecto al directorio base es / usr / libexec / webmin.



Cree un archivo en su nuevo directorio y el nombre de module.info. Este archivo contiene la información de metadatos de su módulo. Este archivo debe contener al menos las etiquetas desc, os_support y categoría.



Abra el archivo module.info con un editor de texto y añada las siguientes líneas:



desc = Foo Web Servidor os_support = *-linux category = servidores



desc contiene la descripción de su nuevo módulo, os_support contiene una lista de los sistemas operativos compatibles con el módulo y la categoría especifica la categoría del menú que se muestra el módulo.



Crear un nuevo archivo en el directorio de su módulo. Se debe tener el mismo nombre que la carpeta, además de una parte-lib.pl. En nuestro ejemplo, el nuevo archivo se llamará foobar-lib.pl. Este archivo debe contener funciones llamadas por programas CGI de su módulo y llamará a las funciones de inicialización en Webmin.



Abra el archivo foobar-lib.pl con un editor de texto y añadir este código de ejemplo:



= Head1 foobar-lib.pl foreign_require (foobar, foobar-lib.pl); @ sitios = foobar :: list_foobar_websites () = corte begin {push (@ INC, ..);}; uso WebminCore; init_config () = head2 get_foobar_config () = corte sub get_foobar_config {my $ Lref = read_file_lines ($ config {'foobar_conf'}); mi @ rv; mis $ LNUM = 0; foreach my $ line (@ $ Lref) {my ($ n, $ v) = dividir (/ \ s + /, $ line, 2); if ($ n) {push (@ rv, {'nombre' = $ n, 'value' = $ v, 'línea' = $ LNUM}) ;} $ LNUM + +;} return @ rv;}



El init_config (); línea inicializa el entorno de su nuevo módulo. El sub get_foobar_config es un simple ejemplo de una función que puede ser llamado por un script CGI que gestiona uno de los servidores para leer el archivo de configuración del servidor.



Crear un nuevo archivo llamado index.cgi. En este archivo a todos los programas CGI su módulo sirve. Abra el archivo con un editor de texto. He aquí un ejemplo de un archivo index.cgi:



! # / Usr / bin / perl requieren 'foobar-lib.pl'; ui_print_header (UNDEF, $ texto {'index_title'}, undef, 1, 1), $ conf = get_foobar_config (), $ dir = find ($ conf, root), texto print ('index_root', $ dir), p \ n; ui_print_footer (/, $ text {'index'});



El require 'foobar-lib.pl'; line accede biblioteca de funciones del módulo y llama a la función de inicialización, el ui_print_header genera cabecera HTML de la página y el ui_print_footer se utiliza para crear un enlace a la oferta principal de Webmin.



Cree una nueva carpeta en el directorio del módulo y el nombre lang. Crear un nuevo archivo en la carpeta y el nombre en. Esta contendrá todos los mensajes utilizados por los scripts de líneas de texto, uno por cada mensaje. Este es un ejemplo en el archivo:



index_title = Foobar index_root servidor Web = El directorio raíz es de $ 1.



 

No hay comentarios:

Publicar un comentario