Ubuntu

如何通過命令行(bash)安裝 webmin 模組?

  • February 26, 2022

我想通過命令行(bash)在 webmin 中安裝一個模組。你怎麼做到這一點?

例子:

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

在這個.gz裡面:text-editor.wbm

sudo tar -xf text-editor.wbm.gz

在此處輸入圖像描述

通過 GUI 安裝時的模組(在本例中為文本編輯器):

在此處輸入圖像描述

它將文件發送到幾個地方。例子:

到**/usr/share/webmin/text-editor**

在此處輸入圖像描述

收件人:/etc/webmin/text-editor

在此處輸入圖像描述

至:/var/webmin/modules/text-editor(空):

在此處輸入圖像描述

重要的:

我的測試中使用的Webmin安裝方法:

方法一:

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

我問作者(Jamie Cameron)沒有回复日期,因為他是 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 模組

簡介 ——— Webmin 旨在允許在不更改任何現有程式碼的情況下輕鬆添加新模組。模組可以被認為是 Photoshop 外掛或 iPhone 應用程序——它可以由 Webmin 開發人員以外的其他人編寫,並根據開發人員選擇的許可證分發。

應該編寫一個模組來管理一項服務或伺服器,例如 Unix 密碼文件或 Apache Web 伺服器。一些複雜的系統功能甚至可能被拆分為多個模組——例如,磁碟分區、掛載磁碟和磁碟配額管理是標準 Webmin 發行版中的 3 個獨立模組。

模組理論上可以用任何語言編寫。但是,要使用 Webmin API,應該使用 5.8 或更高版本的 Perl。一個模組應該完全用 Perl 編寫,沒有 C 函式或外部二進製程序。目的是使模組盡可能跨不同的 Unix 系統和 CPU 類型進行移植。

用其他語言編寫的模組將不會使用標準 Webmin UI 顯示,也無法呼叫其 API。由於這些原因,強烈建議使用 Perl。

在最簡單的情況下,模組實際上只是 Webmin 的 Web 伺服器執行的 CGI 程序的目錄。但是,應遵循某些規則以確保它們與 Webmin API、主菜單和訪問控制系統一起使用。即使您可以將任何現有的 CGI 腳本粘貼到模組目錄中,這也不是一個好主意。

所需文件

每個模組在 Webmin 基本目錄下都有自己的目錄,所有模組的CGI程序和配置文件都必須儲存在該目錄中。例如,如果Webminbase 是/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 使用者模組授予您自己的訪問權限。

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


使用預建rpmdeb包:

目前的 Webmin 發行版以各種包格式提供,可從以下位置下載:

https://prdownloads.sourceforge.net/webadmin/webmin_1.910_all.deb 14.8 MB

http://webmin.com/download.html

如果要對 deb 文件使用 apt 命令,請像這樣使用它:

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 腳本,不帶任何參數,它將直接從該目錄執行它,或者使用命令行參數,例如目標目錄。

注意:如果您在 Windows 系統上安裝 Webmin,則必須執行命令 perl setup.pl。Windows 版本取決於幾個可能不屬於標準分發的程序和模組。您將需要 process.exe 命令、sc.exe 命令和 Win32::Daemon Perl 模組。

*.wbm.gz似乎是 webmin 模組目錄的 tar 球文件。因此,我相信但尚未完全檢查過,您可以簡單地提取 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

引用自:https://unix.stackexchange.com/questions/523052