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
El módulo (en este caso, editor de texto) cuando se instala mediante GUI:
Envía los archivos a varios lugares. Ejemplo:
A/usr/share/webmin/editor de texto
A :/etc/webmin/editor de texto
A:/var/webmin/modules/editor de texto(vacío):
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
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
CGI
se deben almacenar todos los programas y archivos de configuración del módulo. Por ejemplo, si laWebmin
base 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.conf
archivo. Diferirá según el sistema operativoWebmin
instalado.Para que un módulo se muestre en el
Webmin
menú principal, debe contener al menos los siguientes archivos. Aunque solomodule.info
es 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's
el 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.cache
para borrar el caché de los módulos conocidos. Luego, para que su módulo sea visible, edite el archivo/etc/webmin/webmin.acl
o 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 removal
similar 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 rpm
o 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.gz
ser 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