コマンドライン (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/モジュール/テキストエディタ(空の):
重要:
私のテストで使用した 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
方法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 サーバーなどの 1 つのサービスまたはサーバーを管理するには、モジュールを作成する必要があります。複雑なシステム機能の中には、複数のモジュールに分割されるものもあります。たとえば、ディスクのパーティション分割、ディスクのマウント、ディスク クォータ管理は、標準の Webmin ディストリビューションでは 3 つの個別のモジュールになっています。
モジュールは理論的にはどの言語でも記述できます。ただし、Webmin API を使用するには、Perl バージョン 5.8 以上を使用する必要があります。モジュールは、C 関数や外部バイナリ プログラムを使用せず、完全に Perl で記述する必要があります。目的は、さまざまな 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 このモジュールのメイン メニューに表示されるアイコン。アイコンは 48 x 48 ピクセルで、メイン メニューの他のアイコンと同じ配色を使用する必要があります。lang/en このモジュールで使用されるテキスト文字列 (このドキュメントの国際化のセクションで説明)。install_check.pl
サービスまたはプログラムがインストールされ使用可能かどうかを確認し、インストールされていれば 0 以外の値を返すプログラム。左側のメニューにある各モジュール名は、
Webmin's
モジュール ディレクトリへのリンクです。したがって、ユーザーがリンクをクリックしたときに表示される index.cgi ファイルが必要です。一般的なモジュールには、.cgi
index.cgi からリンクされている多くのプログラムが含まれており、各プログラムはフォームの表示やフォームからの入力の保存などの機能を実行します。新しいモジュールを初めて作成すると、そのモジュールはどの Webmin ユーザーの許可リストにも含まれず、メイン メニューに表示されません。これを修正するには、まずファイルを削除して、
/etc/webmin/module.infos.cache
既知のモジュールのキャッシュをクリアする必要があります。次に、モジュールを表示するには、ファイルを編集するか/etc/webmin/webmin.acl
、Webmin ユーザー モジュールを使用して自分自身にアクセス権を付与します。
https://doxfer.webmin.com/Webmin/モジュール開発
あなたが試しているようなガイドを見つけました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
deb パッケージのインストールに dpkg コマンドを使用する場合は、次の手順に従います。
sudo dpkg -i path_to_deb_file
どちらのコマンドでも、path_to_deb_file を、ダウンロードした deb ファイルのパスと名前に置き換える必要があります。
github ページから:
要件
Perl 5.10以上。インストール
Webmin は 2 つの方法でインストールできます。
弊社のダウンロード ページから、さまざまなディストリビューション (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
は、webmin モジュールのディレクトリの tar ball ファイルのようです。したがって、次のように Webmin ディレクトリにアーカイブを抽出できると思いますが、まだ完全には確認していません。RHEL では、Webmin ディレクトリは です。Ubuntu/usr/libexec/webmin
では、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