2

Ansible と Wikimedia command-line install scriptを使用して、ウィキメディアのインストールを自動化しようとしています。

現在のバージョンには、拡張機能をインストールするためのスクリプト パラメータが含まれていることに気付きました。スクリプトのヘルプ コマンドから:

$ php maintenance/install.php --help

CLI-based MediaWiki installation and configuration.
Default options are indicated in parentheses.

Usage: php install.php [--conf|--confpath|--dbgroupdefault|--dbname|--dbpass|--dbpassfile|--dbpath|--dbport|--dbprefix|-
-dbschema|--dbserver|--dbtype|--dbuser|--env-checks|--extensions|--globals|--help|--installdbpass|--installdbuser|--lang
|--memory-limit|--mwdebug|--pass|--passfile|--profiler|--quiet|--scriptpath|--server|--skins|--wiki|--with-extensions] [
name] <admin>

...

Script specific parameters:
    --extensions: Comma-separated list of extensions to install
    --with-extensions: Detect and include extensions

ただし、これらのパラメーターの最適な使用方法に関する他の情報を見つけることができません。install.php スクリプトまたは拡張機能に関するウィキメディアのマニュアル ページには、次のように記載されていません。

これらのパラメーターに関する詳細なドキュメントを参照したり、使用方法の例を提供したりできますか?

私はいくつかの試行錯誤を行うことを計画しており、他の誰かが答える前にそれらがどのように機能するかを理解したら、この質問に自分で答えます. ただし、拡張機能のインストールが複雑になる可能性があり、通常は構成ファイルの更新が必要になることを知っているので、ガイドとなる既存のドキュメントを見つけていただければ幸いです。

4

1 に答える 1

1

簡潔な答え

これらの拡張パラメーターは、実行時に拡張をロードするために、LocalSettings.php指定された拡張がディレクトリ内で見つかった場合にファイルに行を追加するだけです。extensions

長い答え

これで少し遊んだ。--with-extensionsヘルプ ドキュメントに従って、 whichをテストしましたdetect and include extensions。これが意味しているように見えるのは、拡張機能ディレクトリをスキャンし、そこにある拡張機能をインストールするということです。

次のコマンドを実行しました。

php maintenance/install.php --with-extensions --dbserver="localhost" --dbname=foo --dbuser=foo --dbpass=foo --server="https://wiki.foo.localhost" --script path=/mediawiki -en --pass=foo "My Wiki Name" "Admin"

LocalSettings.php現在のバージョンの Mediawiki コアに含まれる既定のパッケージを一覧表示する構成ファイルに、次のブロックが作成されました。

# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtensions('ExtensionName');
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'CategoryTree' );
wfLoadExtension( 'Cite' );
wfLoadExtension( 'CiteThisPage' );
wfLoadExtension( 'CodeEditor' );
wfLoadExtension( 'ConfirmEdit' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Interwiki' );
wfLoadExtension( 'LocalisationUpdate' );
wfLoadExtension( 'MultimediaViewer' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'OATHAuth' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'PdfHandler' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'Renameuser' );
wfLoadExtension( 'ReplaceText' );
wfLoadExtension( 'SpamBlacklist' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'TitleBlacklist' );
wfLoadExtension( 'WikiEditor' );

このパラメーターの複雑さは、おそらく賢明なことですが、それ以上のものではありません。

このコマンドを実行して、パラメーターがGoogleLogin 拡張機能--extensions=GoogleLoginを自動的にインストールするかどうかを確認してみました。それはしませんでした。むしろ、次のエラーが報告されました。

Could not find the registration file for the extension "GoogleLogin"

したがって、よりフル機能の Composer のような拡張パッケージ マネージャーを探しているなら、これはそれではありません。

GoogleLogin 拡張機能をダウンロードしてextensionsディレクトリに配置し、--with-extensionsパラメーターを実行したところ、構成ファイルの拡張機能ブロックに含まれていました。

明示的にテストせずに、明示的に指定され、ディレクトリ見つかった拡張子のみを構成ファイルに書き換えることを除いて、--extensionsパラメーターは と同じように動作すると結論付けました。--with-extensionsLocalSettings.phpextensions

于 2019-04-08T01:01:39.150 に答える