¿Cómo instalar un módulo webmin mediante línea de comando (bash)?

¿Cómo instalar un módulo webmin mediante línea de comando (bash)?

Quiero instalar un módulo en webmin mediante línea de comando (bash). ¿Cómo haces esto?

Ejemplo:

wget https://download.webmin.com/download/modules/text-editor.wbm.gz

dentro de este .gz: text-editor.wbm

sudo tar -xf text-editor.wbm.gz

ingrese la descripción de la imagen aquí

El módulo (en este caso, editor de texto) cuando se instala mediante GUI:

ingrese la descripción de la imagen aquí

Envía los archivos a varios lugares. Ejemplo:

A/usr/share/webmin/editor de texto

ingrese la descripción de la imagen aquí

A :/etc/webmin/editor de texto

ingrese la descripción de la imagen aquí

A:/var/webmin/modules/editor de texto(vacío):

ingrese la descripción de la imagen aquí

Importante:

Métodos de instalación de Webmin utilizados en mi prueba:

Método 1:

sudo sh -c 'echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list'
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -
sudo apt -y install webmin

Método 2:

wget https://prdownloads.sourceforge.net/webadmin/webmin_1.910_all.deb
sudo dpkg --install webmin_1.910_all.deb

Le pregunté al autor (Jaime Cameron) no hay respuesta a la fecha, porque es el autor de webmin yel autor del móduloque intento instalar

Text Editor 1.4
Description Provides a simple interface for editing text files, with a history of recently-edited files.
Download    text-editor.wbm.gz
Author  Jamie Cameron
Last updated    2007-04-18 11:27:19

Actualizar:

Logré crear un script que instala el módulo de edición de texto. No es muy "elegante", pero funciona:

sudo chmod +x text-editor.sh && sudo ./text-editor.sh

#!/bin/bash

fshare=/usr/share/webmin/text-editor
fetc=/etc/webmin/text-editor
fvar=/var/webmin/modules/text-editor

if [ ! -d $fshare ]; then mkdir -p $fshare; fi
if [ ! -d $fetc ]; then mkdir -p $fetc; fi
if [ ! -d $fvar ]; then mkdir -p $fvar; fi
touch $fetc/files
wget -c https://download.webmin.com/download/modules/text-editor.wbm.gz
tar -xf text-editor.wbm.gz
cp -f -R text-editor/* $fshare
cp text-editor/config $fetc
sed -i '$ s/$/ text-editor/' /etc/webmin/webmin.acl
sh -c 'echo "text-editor=1" >> /etc/webmin/installed.cache'
/etc/init.d/webmin restart

Sin embargo, debería haber un método mejor para instalar cualquier módulo webmin mediante la línea de comando

Respuesta1

Introducción --------- Webmin está diseñado para permitir la fácil adición de nuevos módulos sin cambiar nada del código existente. Se puede considerar un módulo como algo así como un complemento de Photoshop o una aplicación para iPhone: puede ser escrito por alguien que no sea los desarrolladores de Webmin y distribuido bajo una licencia que el desarrollador elija.

Se debe escribir un módulo para administrar un servicio o servidor, como el archivo de contraseñas de Unix o el servidor web Apache. Algunas funciones complejas del sistema pueden incluso dividirse en varios módulos; por ejemplo, la partición de discos, el montaje de discos y la administración de cuotas de discos son 3 módulos separados en la distribución estándar de Webmin.

En teoría, los módulos pueden escribirse en cualquier idioma. Sin embargo, para hacer uso de la API de Webmin se debe utilizar Perl versión 5.8 o superior. Un módulo debe estar escrito completamente en Perl, sin funciones C ni programas binarios externos. El objetivo es que los módulos sean lo más portátiles posible entre diferentes sistemas Unix y tipos de CPU.

Los módulos escritos en otros idiomas no se mostrarán utilizando la interfaz de usuario estándar de Webmin y no podrán llamar a su API. Por estos motivos, se recomienda encarecidamente utilizar Perl.

En su forma más simple, los módulos son en realidad solo directorios de programas CGI que ejecuta el servidor web de Webmin. Sin embargo, existen ciertas reglas que se deben seguir para asegurarse de que funcionen con la API de Webmin, el menú principal y el sistema de control de acceso. Aunque puede simplemente insertar cualquier script CGI existente en un directorio de módulo, no es una buena idea.

Archivos requeridos

Cada módulo tiene su propio directorio en el directorio base de Webmin, en el que CGIse deben almacenar todos los programas y archivos de configuración del módulo. Por ejemplo, si la Webminbase fuera /usr/libexec/webmin, se crearía o instalaría un módulo llamado foobar en /usr/libexec/webmin/foobar.

Puede encontrar este directorio base mirando la línea raíz de su /etc/webmin/miniserv.confarchivo. Diferirá según el sistema operativo Webmininstalado.

Para que un módulo se muestre en el Webminmenú principal, debe contener al menos los siguientes archivos. Aunque solo module.infoes obligatorio.

module.info Este archivo contiene información sobre el módulo y los sistemas operativos bajo los que se ejecuta. Consulte a continuación para obtener detalles sobre su formato. images/icon.gif El icono que se muestra en el menú principal de este módulo. El ícono debe tener 48x48 píxeles y debe usar el mismo esquema de color que los demás íconos del menú principal. lang/en Las cadenas de texto utilizadas por este módulo, como se explica en la sección Internacionalización de esta documentación. install_check.pl Programa que verifica si el servicio o programa está instalado y es utilizable, devolviendo un valor distinto de cero si es así.

Cada nombre de módulo en Webmin'sel menú de la izquierda es un enlace al directorio del módulo. Por lo tanto, debe tener un archivo index.cgi que se mostrará cuando el usuario haga clic en el enlace. Un módulo típico contiene muchos .cgi programas vinculados desde index.cgi, cada uno de los cuales realiza alguna función, como mostrar un formulario o guardar entradas de un formulario.

Cuando crea un nuevo módulo por primera vez, no estará en la lista permitida de ningún usuario de Webmin y, por lo tanto, no podrá verlo en el menú principal. Para solucionar este problema, primero debe eliminar el archivo /etc/webmin/module.infos.cachepara borrar el caché de los módulos conocidos. Luego, para que su módulo sea visible, edite el archivo /etc/webmin/webmin.aclo use el módulo Usuarios de Webmin para otorgarse acceso.

https://doxfer.webmin.com/Webmin/Module_Development


Encontré una guía webmin module installation and removalsimilar a la que estás intentando:

https://www.smarthomebeginner.com/install-webmin-modules/

https://www.linode.com/docs/websites/cms/how-to-install-a-webmin-control-panel-and-modules/

y aquí:

Aquí hay una página de descarga del módulo:

http://www.webmin.com/standard.html

Aquí están todos los módulos de terceros:

http://www.webmin.com/cgi-bin/search_third.cgi?modules=1


Utilice un paquete rpmo prediseñado deb:

La distribución actual de Webmin está disponible en varios formatos de paquetes para descargar desde:

https://prdownloads.sourceforge.net/webadmin/webmin_1.910_all.deb 14,8 MB

http://webmin.com/download.html

Si desea utilizar el comando apt para archivos deb, utilícelo así:

sudo apt install path_to_deb_file

Si desea utilizar el comando dpkg para instalar paquetes deb, aquí le explicamos cómo hacerlo:

sudo dpkg -i path_to_deb_file

En ambos comandos, debes reemplazar path_to_deb_file con la ruta y el nombre del archivo deb que has descargado.

Desde la página de github:

Requisitos

Perl 5.10 o superior. Instalación

Webmin se puede instalar de dos formas diferentes:

Descargando un paquete prediseñado, disponible para diferentes distribuciones (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris y otras) desde nuestra página de descargas;

Nota: Se recomienda encarecidamente agregar un repositorio a su sistema para tener actualizaciones automáticas.

Descargando, extrayendo el archivo fuente y ejecutando el script setup.sh, sin argumentos, que se configurará para ejecutarlo directamente desde este directorio, o con un argumento de línea de comandos, como el directorio de destino.

Nota: Si está instalando Webmin en un sistema Windows, debe ejecutar el comando perl setup.pl. La versión de Windows depende de varios programas y módulos que pueden no formar parte de la distribución estándar. Necesitará el comando Process.exe, el comando sc.exe y el módulo Win32::Daemon Perl.

Respuesta2

Parece *.wbm.gzser un archivo tar del directorio del módulo webmin. Por lo tanto, creo, aunque todavía no lo he comprobado por completo, que simplemente puede extraer el archivo en el directorio Webmin de la siguiente manera. En RHEL, el directorio Webmin es /usr/libexec/webmin. En Ubuntu, el directorio Webmin es /usr/share/webmin. por favor, compruebe.

Para quitar el módulo, simplemente

 # Be carefull with rm -rf, no *,?,. !
 # RH
 rm -rf /usr/libexec/webmin/text-editor
 # Debian-Ubuntu
 rm -rf /usr/share/webmin/text-editor

Pero alguien ya ha creado un instalador.

 #RH
 /usr/libexec/webmin/install-module.pl 
 # Debian-Ubuntu
 /usr/share/webmin/install-module.pl

Respuesta3

Según el creador Jamie Cameron, funciona así:

ingrese la descripción de la imagen aquí

Entonces, en mi caso sería:

sudo /usr/share/webmin/install-module.pl text-editor.wbm

información relacionada