如何通过命令行(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

方法二:

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

相关内容