Я хочу установить модуль в 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
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