как установить модуль webmin с помощью командной строки (bash)?

как установить модуль webmin с помощью командной строки (bash)?

Я хочу установить модуль в webmin через командную строку (bash). Как это сделать?

Пример:

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

внутри этого .gz: text-editor.wbm

sudo tar -xf text-editor.wbm.gz

введите описание изображения здесь

Модуль (в данном случае текстовый редактор) при установке через графический интерфейс:

введите описание изображения здесь

Он отправляет файлы в несколько мест. Пример:

К/usr/share/webmin/текстовый редактор

введите описание изображения здесь

К :/etc/webmin/текстовый-редактор

введите описание изображения здесь

К:/var/webmin/modules/текстовый-редактор(пустой):

введите описание изображения здесь

Важный:

Методы установки Webmin, использованные в моем тесте:

Метод 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

Метод 2:

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

Я спросил автора (Джейми Кэмерон) нет ответа на дату, потому что он является автором webmin иавтор модулячто я пытаюсь установить

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

Обновлять:

Мне удалось сделать скрипт, который устанавливает модуль текстового редактора. Он не очень "изящный", но работает:

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

Однако должен быть лучший способ установки любого модуля Webmin с помощью командной строки.

решение1

Введение --------- Webmin разработан для того, чтобы обеспечить легкое добавление новых модулей без изменения существующего кода. Модуль можно рассматривать как нечто вроде плагина Photoshop или приложения iPhone — он может быть написан кем-то, кроме разработчиков Webmin, и распространяться по лицензии, которую выберет разработчик.

Модуль должен быть написан для администрирования одной службы или сервера, например файла паролей Unix или веб-сервера Apache. Некоторые сложные системные функции могут быть даже разделены на несколько модулей, например, разбиение диска на разделы, монтирование дисков и управление дисковыми квотами — это 3 отдельных модуля в стандартном дистрибутиве Webmin.

Модули теоретически могут быть написаны на любом языке. Однако для использования API Webmin следует использовать Perl версии 5.8 или выше. Модуль должен быть написан полностью на Perl, без функций C или внешних бинарных программ. Цель состоит в том, чтобы модули были максимально переносимыми между различными системами Unix и типами ЦП.

Модули, написанные на других языках, не будут отображаться с использованием стандартного пользовательского интерфейса Webmin и не смогут вызывать его API. По этим причинам настоятельно рекомендуется использовать Perl.

В самом простом смысле модули — это просто каталоги программ CGI, которые запускает веб-сервер Webmin. Однако есть определенные правила, которым следует следовать, чтобы они работали с API Webmin, главным меню и системой контроля доступа. Хотя вы можете просто вставить любой существующий скрипт CGI в каталог модуля, это не очень хорошая идея.

Необходимые файлы

Каждый модуль имеет свой собственный каталог в базовом каталоге Webmin, в котором должны храниться все программы и файлы конфигурации модуля CGI. Например, если бы Webminбаза была /usr/libexec/webmin, модуль с именем foobar был бы создан или установлен в /usr/libexec/webmin/foobar.

Вы можете найти этот базовый каталог, посмотрев на корневую строку в вашем /etc/webmin/miniserv.confфайле. Она будет отличаться в зависимости от Webminустановленной операционной системы.

Для отображения модуля в главном Webminменю он должен содержать как минимум следующие файлы. Только module.infoявляется обязательным.

module.info Этот файл содержит информацию о модуле и операционных системах, под управлением которых он работает. Подробности о его формате см. ниже. images/icon.gif Значок, отображаемый в главном меню для этого модуля. Значок должен быть размером 48x48 пикселей и должен использовать ту же цветовую схему, что и другие значки в главном меню. lang/en Текстовые строки, используемые этим модулем, как описано в разделе Интернационализация этой документации. install_check.pl Программа, которая проверяет, установлена ​​ли служба или программа и доступна ли она для использования, возвращая ненулевое значение, если это так.

Каждое имя модуля в Webmin'sлевом меню — это ссылка на каталог модуля. Таким образом, у вас должен быть файл index.cgi, который будет отображаться, когда пользователь нажимает на ссылку. Типичный модуль содержит много .cgi программ, которые связаны с index.cgi, каждая из которых выполняет некоторую функцию, например, отображение формы или сохранение входных данных из формы.

Когда вы впервые создаете новый модуль, он не будет в списке разрешенных ни одного пользователя Webmin, и поэтому вы не сможете увидеть его в главном меню. Чтобы исправить это, вы должны сначала удалить файл, /etc/webmin/module.infos.cacheчтобы очистить кэш известных модулей. Затем, чтобы сделать свой модуль видимым, либо отредактируйте файл /etc/webmin/webmin.acl, либо используйте модуль Webmin Users, чтобы предоставить себе доступ.

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


Я нашел руководство, подобное тому, что webmin module installation and removalвы пытаетесь сделать:

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

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

и здесь:

Вот страница загрузки модуля:

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

вот все сторонние модули:

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


Используйте готовый пакет rpmили deb:

Текущий дистрибутив Webmin доступен в различных форматах пакетов для загрузки по адресу:

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

http://webmin.com/download.html

Если вы хотите использовать команду apt для deb-файлов, используйте ее следующим образом:

sudo apt install path_to_deb_file

Если вы хотите использовать команду dpkg для установки deb-пакетов, вот как это сделать:

sudo dpkg -i path_to_deb_file

В обеих командах вам следует заменить path_to_deb_file на путь и имя загруженного вами deb-файла.

Со страницы github:

Требования

Perl 5.10 или выше. Установка

Webmin можно установить двумя способами:

Загрузив готовый пакет, доступный для различных дистрибутивов (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris и других) с нашей страницы загрузки;

Примечание: Настоятельно рекомендуется добавить репозиторий в вашу систему для автоматического обновления.

Загрузив, извлеките исходный файл и запустите скрипт setup.sh без аргументов, что позволит настроить его запуск непосредственно из этого каталога или с аргументом командной строки, например, целевым каталогом.

Примечание: Если вы устанавливаете Webmin в системе Windows, вместо этого необходимо запустить команду perl setup.pl. Версия Windows зависит от нескольких программ и модулей, которые могут не входить в стандартный дистрибутив. Вам понадобятся команда process.exe, команда sc.exe и модуль Win32::Daemon Perl.

решение2

Кажется *.wbm.gz, это файл tar ball каталога модуля webmin. Поэтому я считаю, хотя еще не полностью это проверил, что вы можете просто извлечь архив в каталог Webmin следующим образом. В RHEL каталог Webmin — /usr/libexec/webmin. В Ubuntu каталог Webmin — /usr/share/webmin. пожалуйста, проверьте.

Чтобы удалить модуль, просто

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

Но кто-то уже создал установщик

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

решение3

По словам создателя Джейми Кэмерона, это выглядит так:

введите описание изображения здесь

Итак, в моем случае это будет:

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

Связанный контент