como instalar um módulo webmin por linha de comando (bash)?

como instalar um módulo webmin por linha de comando (bash)?

Quero instalar um módulo no webmin por linha de comando (bash). Como você faz isso?

Exemplo:

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

dentro deste .gz: text-editor.wbm

sudo tar -xf text-editor.wbm.gz

insira a descrição da imagem aqui

O módulo (neste caso editor de texto) quando instalado via GUI:

insira a descrição da imagem aqui

Ele envia os arquivos para vários lugares. Exemplo:

Para/usr/share/webmin/editor de texto

insira a descrição da imagem aqui

Para :/etc/webmin/editor de texto

insira a descrição da imagem aqui

Para:/var/webmin/modules/editor de texto(vazio):

insira a descrição da imagem aqui

Importante:

Métodos de instalação do Webmin usados ​​em meu teste:

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

Eu perguntei ao autor (Jamie Cameron) sem resposta até a data, pois ele é o autor do webmin eo autor do móduloque eu tento 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

Atualizar:

Consegui fazer um script que instala o módulo editor de texto. Não é muito “elegante”, mas 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

No entanto, deve haver um método melhor para instalar qualquer módulo webmin por linha de comando

Responder1

Introdução --------- O Webmin foi projetado para permitir a adição fácil de novos módulos sem alterar nenhum código existente. Um módulo pode ser pensado como algo como um plugin do Photoshop ou um aplicativo para iPhone - ele pode ser escrito por alguém que não seja os desenvolvedores do Webmin e distribuído sob uma licença escolhida pelo desenvolvedor.

Um módulo deve ser escrito para administrar um serviço ou servidor, como o arquivo de senhas Unix ou o servidor web Apache. Algumas funções complexas do sistema podem até ser divididas em vários módulos - por exemplo, particionamento de disco, montagem de discos e gerenciamento de cotas de disco são 3 módulos separados na distribuição padrão do Webmin.

Os módulos podem, teoricamente, ser escritos em qualquer idioma. No entanto, para fazer uso da API Webmin, deve-se usar Perl versão 5.8 ou superior. Um módulo deve ser escrito inteiramente em Perl, sem funções C ou programas binários externos. O objetivo é que os módulos sejam tão portáveis ​​quanto possível em diferentes sistemas Unix e tipos de CPU.

Módulos escritos em outras linguagens não serão exibidos usando a UI padrão do Webmin e não poderão chamar sua API. Por estas razões, o uso de Perl é fortemente recomendado.

Na sua forma mais simples, os módulos são apenas diretórios de programas CGI executados pelo servidor web do Webmin. No entanto, existem certas regras que devem ser seguidas para garantir que funcionem com a API Webmin, menu principal e sistema de controle de acesso. Mesmo que você possa simplesmente colar qualquer script CGI existente em um diretório de módulo, isso não é uma boa ideia.

Arquivos necessários

Cada módulo possui seu próprio diretório no diretório base do Webmin, no qual todos os CGIprogramas e arquivos de configuração do módulo devem ser armazenados. Por exemplo, se a Webminbase fosse /usr/libexec/webmin, um módulo chamado foobar seria criado ou instalado em /usr/libexec/webmin/foobar.

Você pode encontrar esse diretório base observando a linha raiz do seu /etc/webmin/miniserv.confarquivo. Será diferente dependendo de qual sistema operacional Webminestá instalado.

Para que um módulo seja exibido no Webminmenu principal, ele deve conter pelo menos os seguintes arquivos. Apenas module.infoé obrigatório.

module.info Este arquivo contém informações sobre o módulo e os sistemas operacionais nos quais ele é executado. Veja abaixo detalhes sobre seu formato. images/icon.gif O ícone exibido no menu principal deste módulo. O ícone deve ter 48x48 pixels e usar o mesmo esquema de cores dos demais ícones do menu principal. lang/en As strings de texto usadas por este módulo, conforme explicado na seção Internacionalização desta documentação. install_check.pl Programa que verifica se o serviço ou programa está instalado e utilizável, retornando um valor diferente de zero em caso afirmativo.

Cada nome de módulo no Webmin'smenu esquerdo é um link para o diretório do módulo. Assim você deve ter um arquivo index.cgi para ser exibido quando o usuário clicar no link. Um módulo típico contém muitos .cgi programas vinculados ao index.cgi, cada um dos quais executa alguma função, como exibir um formulário ou salvar entradas de um formulário.

Quando você cria um novo módulo pela primeira vez, ele não estará na lista de permitidos de nenhum usuário Webmin e portanto você não poderá vê-lo no menu principal. Para corrigir isso, você deve primeiro excluir o arquivo /etc/webmin/module.infos.cachepara limpar o cache dos módulos conhecidos. Em seguida, para tornar seu módulo visível, edite o arquivo /etc/webmin/webmin.aclou use o módulo Usuários Webmin para conceder acesso.

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


Encontrei um guia para o webmin module installation and removalque você está tentando:

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

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

e aqui:

Aqui está uma página de download do módulo:

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

aqui estão todos os módulos de terceiros:

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


Use um pacote rpmou pré-construído deb:

A distribuição atual do Webmin está disponível em vários formatos de pacote para download em:

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

http://webmin.com/download.html

Se você quiser usar o comando apt para arquivos deb, use-o assim:

sudo apt install path_to_deb_file

Se você quiser usar o comando dpkg para instalar pacotes deb, veja como fazer:

sudo dpkg -i path_to_deb_file

Em ambos os comandos, você deve substituir path_to_deb_file pelo caminho e nome do arquivo deb que você baixou.

Na página do github:

Requisitos

Perl 5.10 ou superior. Instalação

O Webmin pode ser instalado de duas maneiras diferentes:

Baixando um pacote pré-construído, disponível para diferentes distribuições (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris e outras) em nossa página de download;

Nota: É altamente recomendável adicionar repositório ao seu sistema para ter atualizações automáticas.

Fazendo download, extraindo o arquivo de origem e executando o script setup.sh, sem argumentos, que será configurado para executá-lo diretamente deste diretório ou com um argumento de linha de comando, como o diretório de destino.

Nota: Se você estiver instalando o Webmin no sistema Windows, deverá executar o comando perl setup.pl. A versão para Windows depende de diversos programas e módulos que podem não fazer parte da distribuição padrão. Você precisará do comando process.exe, do comando sc.exe e do módulo Win32::Daemon Perl.

Responder2

Parece *.wbm.gzser um arquivo tar ball do diretório do módulo webmin. Então, acredito, mas ainda não verifiquei totalmente, que você pode simplesmente extrair o arquivo no diretório Webmin da seguinte maneira. No RHEL, o diretório Webmin é /usr/libexec/webmin. No Ubuntu, o diretório Webmin é /usr/share/webmin. por favor, verifique.

Para remover o módulo, basta

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

Mas alguém já criou um instalador

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

Responder3

De acordo com o criador Jamie Cameron, funciona assim:

insira a descrição da imagem aqui

Então, no meu caso seria:

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

informação relacionada