我想通过命令行(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
使用预构建rpm
或deb
包:
当前的 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