如何透過命令列(bash)安裝 webmin 模組?

如何透過命令列(bash)安裝 webmin 模組?

我想透過命令列(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/文字編輯器

在此輸入影像描述

到 :/etc/webmin/文字編輯器

在此輸入影像描述

到:/var/webmin/modules/文字編輯器(空的):

在此輸入影像描述

重要的:

我測試中使用的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

方法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 Web 伺服器。一些複雜的系統功能甚至可以拆分為多個模組 - 例如,磁碟分割區、安裝磁碟和磁碟配額管理是標準 Webmin 發行版中的 3 個獨立模組。

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

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

最簡單的來說,模組其實只是 Webmin 的 Web 伺服器執行的 CGI 程式的目錄。但是,應遵循某些規則,以確保它們與 Webmin API、主選單和存取控制系統配合使用。儘管您可以將任何現有的 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 使用者模組授予您自己存取權限。

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 模組。

答案2

*.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

答案3

根據創始人傑米·卡梅倫的說法,它的運作方式如下:

在此輸入影像描述

所以,就我而言,它將是:

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

相關內容