Manual:LocalSettings.php

From mediawiki.org
This page is a translated version of the page Manual:LocalSettings.php and the translation is 99% complete.
警告 警告: BOM (バイトオーダーマーク) を追加してしまうテキストエディター (Windows 10 version 1809以前のメモ帳、TextEdit など該当するものすべて) で LocalSettings.php を編集しないでください。 これらはウィキでの PHP の実行を阻害します。 代わりに、VimNotepad++ のようなコード エディターを使用してください。 これらはファイルのエンコーディングを適切に処理できます。 さらに、テキストエディターで以前破損してしまったファイルを復元することもできます。

LocalSettings.php ファイルは (DefaultSettings.php ファイルに基づいて) MediaWiki インストレーションの基本的な構成設定を提供します。 このファイルの設定を確認するためには時間が必要です。 ファイルは通常、Web ベースの MediaWiki インストーラーによって生成されますが、Apache の設定と協調してパラメーターを変更できます。 ウィキ ファームとして構成された MediaWiki インストレーションでは、CommonSettings.php を使用できます。

サーバー内での場所

LocalSettings.php ファイルはウィキページではないため、ウェブブラウザーで開くことができません。 その代わり、サーバーのファイルシステム内のファイルです。 その内容は ウィキの初期設定時に生成され、ファイルとしてサーバに手動で転写する必要があります。 当該のファイルの保存先は MediaWiki をインストールしたフォルダとし、他のフォルダー includes/skins/、またファイル api.php と同じ階層に置きます。 もし当該ファイルを指定された階層に「置かなかった」場合、ウィキは動作しません - ウィキが「動作する」なら、 ファイルは「正しく置かれた」状態です。 保存先がわからないときはコマンドラインからたとえばfind / -iname LocalSettings.php -print と入力して探します。

(Vagrant を使用する場合は MediaWiki-Vagrant#MediaWiki_settings も参照)。

セキュリティ

通常 LocalSettings.php にはデータベースログインなどの機密情報が書かれています。 このデータは「絶対に」公開してはいけません! サーバ上のどこかでセキュリティ違反が 発生した時に、このファイルの内容が他の利用者に暴露されかねないからです。 データのセキュリティを向上するには、このファイルに対するUNIX 許可をきちんと設定します。Webサーバの利用者には、必ずこのファイルにアクセス権を設定します。 ファイルの所有者アカウントと同じ場合は、許可を「600」に設定可能です。 当該ファイルのオーナーがウェブサーバー「ではない」けれども、オーナーの UNIX 利用者グループに入っている場合があります。 そういう場合には許可は「640」で大丈夫です。強化したセキュリティでは、可能な限り許可を狭めてください。

さらに、ウィキが使うデータベースだけに権限を制限したMySQLユーザーをつくり、そのユーザーの認証情報を LocalSettings.php に記しておくことができます。またデータベースサーバーへはlocalhostからしか接続できないよう設定することもできます。これにより認証情報が流出した場合も外部からのアクセスを防ぐことができます。

LocalSettings.php の重要な部分を別のディレクトリの別のファイルに移動する方法については、Manual:データベースパスワードを安全に保管するには も参照してください。‎

ファイルの内容

LocalSettings.php を編集するときは、適切なエンコーディングで上書き保存するようにしてください。エンコーディングは「ANSI as UTF-8」(バイト オーダー マーク (BOM) なしの UTF-8 エンコーディングを意味する) にしてください。(訳注: 「ANSI as UTF-8」は Notepad++ でしか使われない用語。)

LocalSettings.php にはPHPコードが含まれています。その内容は主に変数の定義とその定義値です。通常、設定を変更することはPHP変数の値を変更することを意味します。変更内容はファイルをサーバに保存するとすぐに反映されます。手動で「再起動」する必要はありません。ただし、場合によっては変更内容が実際反映されたのを確認するのにブラウザキャッシュを消去する必要があるかもしれません。

より多くの設定に関する初期の値は includes/DefaultSettings.php に設定されていますが、このファイルは編集すべきではありません。もし値を変更したい変数について LocalSettings.php にまだ記されていないときは、DefaultSettings.php から該当する行をコピーし、希望する内容に修正して LocalSettings.php に追記してください。 新たな行は LocalSettings.php の最後に追加するといいでしょう。

ファイルの中に extensions を指す 'require_once "$IP/extensions/extension.php";' のような行を記すこともできます。 このような記述によってその拡張機能がウィキで使えるようになります。 拡張機能を利用するには LocalSettings.php に追加の変数値を設定する必要があるかもしれません。該当する拡張機能に関する詳細な指示が書かれた説明文書を確認してください。

MediaWiki におけるほとんどの PHP ファイルと同じく、LocalSettings.php も PHP の終了タグ ?> では終わっていません。これは管理者が誤って新たな情報をこのタグの後に書き込んでしまうのを防ぐためです。PHP は終了タグがなくても正常に動作します。

MediaWiki ウィキファーム上でウィキを持つ場合、LocalSettings.php ファイルへの書き込み権限 (および読み込み権限でさえ) がないかもしれません (例えば次を参照: [1])。ウィキファーム企業はあなたの望みに合わせて変更してくれないことがあります。おそらくはウィキファームのすべてのウィキ群上でほとんど同じ設定をすることが望まれています。

このファイルは、セキュリティ上の理由からサーバーに自動的には書き込まれません。その代わりに、現在はファイルがダウンロードされる形で提供されており、ウィキを稼働させる前にこのファイルをサーバーにアップロードしておかなければなりません。より詳しい説明が必要な場合はこちらの説明を参照してください。

利用できる設定の概要

設定項目一覧や設定ファイルのコメントをみると各変数の役割を知る上で助けになるでしょう。よく使われる機能と合わせ、最も重要な変数を挙げた短いリストを以下に示します。

標準設定

インストール パス

$IP (インストール パス) 変数はウィキのベース インストレーションへのローカル ファイル のパスを保持します。 MediaWiki 1.18 以降は システムが $IP を自動的に設定します。 $IPLocalSettings.php で手動で設定する必要はもうありません。 $IP は既定で現在の作業ディレクトリになり、手動で定義しなくても使用できます。 $IP (または MW_INSTALL_PATH) に LocalSettings.php で設定しようとすると、予期しない結果が生じる可能性があります。

DefaultSettings.php ファイルは IP 変数に指定されたディレクトリから読み込まれます。

サイト名

$wgSitename はウィキのセットアップの名前を保持します。この名前は、MediaWiki:Pagetitle などシステム全体で多く含まれます。例えばウィキペディアのタグラインの「From Wikipedia, the free encyclopedia」はこの設定を使用しています。

サイト名の語形変化

いくつかの表示言語はサイト名の語形変化に対応しています。 $wgGrammarForms の変数に適切な語形を設定できます (事例については $wgSitename 説明文書ページを参照してください)。

サイトの言語

ウィキの表示言語は $wgLanguageCode の設定で制御します。 ウィキ利用者はこの設定にかかわらず個人設定で表示言語を変更できます。この変数はすべての非ログイン利用者と大半の登録利用者に適用される初期設定言語を設定するものです。

スクリプトパス

$wgScriptPath は MediaWiki の中心的なコードのアクティング ピースであるメインの MediaWiki スクリプトにアクセスするための URL パスの接頭辞です。 この設定は、とりわけ Apache の rewrite ルールを利用している場合、必ず Apache 設定と一致しなければなりません。

サーバー名

$wgServer にはサーバのベースURL が保持され、プロトコルも伴いますが後置のスラッシュは無視され、もし存在してもサブディレクトリは無視されます。ウィキの動作しているローカルホストか、イントラネットまたはインターネットからか、メール通知と他の数種類のコンピューターメッセージは通常、アクセス元により異なる URL で配信されます。

MediaWiki 1.34 以降、$wgServer は LocalSettings.phpに設定の必要あり。 それ以前のバージョンでは MediaWiki がサーバ名を自動検知し、$wgServer はオプションで自動検知の値を上書きしていました。

www.example.com がインターネットから見られるウィキのサーバーアドレスである場合、次のような行を追加する:

$wgServer = 'http://www.example.com';

ウィキページでは {{SERVER}} というマジックワードの変数が使えます。これは $wgServer と同じ値になります。しかしウィキメディア ファミリーでみられるようなあるウィキでは相対 URL が用いられていて、完全には展開されません。例えばこのサイトでは //www.mediawiki.org と表示されます。クリックすることも、それ自体をコピーしアドレス バーに貼り付けることもできません。

以下のように、プロトコル相対 URL も使用できます。 プロトコル相対 URL を使用する場合は、必ず $wgCanonicalServer を設定してください。 $wgCanonicalServer は、プロトコルやホスト名を持つオリジンが必要なコードのいくつかの場所で必要とされます。

$wgServer = '//www.example.com';
$wgCanonicalServer = 'https://www.example.com';

スクリプト名

$wgScript はメインの MediaWiki の PHP スクリプトの名前で、既定では index.php です。スクリプト名を変更するのはおそらく好ましくありません。しかし、変更したい場合は、変更する場所はこの変数です。やろうとしていることを理解してから変更してください。

記事へのパス

$wgArticlePath は MediaWiki のページにアクセスする際に使用するパスです。 パスはメインスクリプト (通常は $wgScript を使用) へのパスを含み、記事名部分に $1 プレースホルダーを使用します。

プリティ URL またはショート URL を作成するために Apache のリライト ルールを使用する場合、おそらく正しいパスを指し示す $wgArticlePath を調整する必要があります。 wgArticlePath は MediaWiki の範囲内から URL を構築するために使用されることに注意してください。 間違いがあった場合、正しいURLを手作業で指定することでメインページにアクセスできるかもしれない一方で内部リンクは不正に表示されます。 URL の構成の詳細情報は Manual:短縮URL を参照してください。

典型的な値は以下の通り:

"$wgScript/$1" セパレーター「/」による記事名を渡す
"$wgScript?title=$1" パラメーターとして記事名を渡す (古いスタイル)
"/mypath/$1" カスタムパス。「mypath」をメインスクリプトにアクセスする適切なパスに変換するために Apache のリライトルールを使用する

スタイルシートの位置

設置されている MediaWiki インストールのために CSS がある場所への URL を設定するには $wgStylePath 変数を使用します。 $wgStyleDirectory 変数は同じ場所を指定しますが、ファイル システムにアクセスする内部スクリプトで使用されるため、ローカル ファイル システムであることにご注意ください。

アップロードの位置

アップロードディレクトリは利用者によってアップロードされたファイルが保存される場所です。$wgUploadPath 変数には URL パスを、$wgUploadDirectory にはローカルファイルシステムパスを指定します。

ロゴ

$wgLogo は、すべての MediaWiki のページに既定で左上隅に表示されるグラフィカルなロゴを指定します。初期設定で指定されたロゴのディレクトリ /wiki/skins/common/images/ の /wiki を、MediaWiki ソフトウェアをインストールしたディレクトリのパスに置き換えます。

まず何か使いたいロゴのファイルを /wiki/skins/common/images/ にコピーします(/wiki は MediaWiki をインストールしたディレクトリのパスに置き換えてください)。

次に、以下のような行を LocalSettings.php の中から見つけてください:

$wgLogo = "$wgStylePath/common/images/wiki.png";

もしそのような行が見つからなければ、上記の行をコピーしファイルの最後に追記してください。

そしてロゴファイルを指すようにその行を編集してください。ロゴはウェブ上でアクセスできるようになっていなくてはいけません。この変数の値はウェブブラウザに渡され、ユーザはその値を使ってロゴを取得します。もし設定値がよく分からないとき、ここに設定する値を決めるよい方法は、ウェブブラウザでそのロゴのアドレスにアクセスしてみることです(例えばこのウィキの場合、ロゴのURLは http://upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png です)。そして完全なURLをこの変数の値に設定してください。

skins/common/images/wiki.png ファイルを自身で用意したロゴに置き換えるだけにしようとする人がいますが、これは推奨しません。なぜならアップグレードする際、このカスタマイズしたロゴは上書きされてしまうからです。

MediaWiki 1.35 では、$wgLogos が導入され、同じロゴの複数のバージョンを使用できます。 複数のロゴを使用する例を以下に示します。

$wgLogos = [
	'1x' => "$wgStylePath/common/images/1x_version.png",
	'1.5x' => "$wgStylePath/common/1.5x_version.png",
	...
	'tagline' => [
		'src' => "$wgStylePath/common/tagline_version.png",
		'width' => 135,
		'height' => 15,
	],
];

コンタクト情報

$wgEmergencyContact 変数は何か問題が発生した際に連絡するための利用者のメールアドレスです。メールアドレスは内部バグ報告を送るために使用されます。管理者として、あなたのメールアドレスをここに掲載しておきます。

$wgPasswordSender 変数は、パスワードを忘れた利用者にパスワードが送信される際に使用されるメールアドレスです。トラブルや混乱の際に、利用者がメールを送信できるメールアドレスを指定します。

データベースの設定

ページ、利用者情報や多くのものを保存するために MediaWiki はデータベース (現在は MySQLPostgreSQL のいずれか) にアクセスする必要があります。

$wgDBserver はデータベースのホスト名を含みます。多くの場合、同じシステム上で動作しているデータベースとしては「localhost」が当てはまりますが、さまざまなインストールのために、データベースが動作しているコンピューターの十分に確認されたドメイン名を入力する必要があります。

$wgDBname は MediaWiki によって使用される データベース名 です。単独の MySQL または PostgreSQL では一つ以上のデータベースを保存することができ、一つのサーバーで多くの MediaWiki を動作させることができます。正しいデータベース名を記載して同じデータベースサーバー上の異なるウィキインストールのために異なるデータベース名を使用することを確認します。

$wgDBuser 変数と $wgDBpassword 変数はデータベースにアクセスするために MediaWiki によって使用されるログイン名とパスワードを含みます。データベースサーバー上でウィキのテーブルを操作できる適切なアクセス権を指定された利用者が所有することで確認できます。

また、LocalSettings.php の機密情報を別のディレクトリに別のファイルとして移動する方法については、Manual:データベースパスワードを安全に保管するには も参照してください。

利用者の権限

$wgGroupPermissions は連想配列で、異なる利用者グループのためにページを作成と編集する権限を制限します。この配列において、カスタムパーミッションレベルが作成され、異なる利用者グループのためにパーミッションレベルが設定されます。異なるパーミッションと利用可能な利用者グループについては Help:User rights でより詳細な情報を見ることができます。

大文字リンクの強制

既定では、小文字 (ラテン文字) でページ名は始まらず、最初の文字を大文字に変換されます。リンクターゲット、含まれるページ、画像またはカテゴリは小文字で始まる名前で指定され、実際のターゲットなどは大文字で始まるページに対応します。

代替的にはページ名は大文字、数字に加えて、小文字で始めることができます。そのためには $wgCapitalLinks 変数を調整しなければなりません。false に設定することで小文字を許可し、true は既定の振る舞いをします。

下位ページの有効化

LocalSettings.php において、$wgNamespacesWithSubpages 変数を使用することで名前空間ごとに下位ページを有効にします。例えばメインの名前空間で下位ページを有効にする場合:

$wgNamespacesWithSubpages[NS_MAIN] = 1;

画像のアップロード

MediaWiki システムにファイルをアップロードすることを利用者に許可する前に、この機能を有効にしなければなりません。アップロードディレクトリが適切に設定され、Apache ウェブサーバープロセスによって書き込み可能でなければなりません。$wgEnableUploads 変数を true に設定することでウェブユーザーインターフェイスでアップロードすることが可能になります。

以下のコードは LocalSettings.php の設定例で includes/DefaultSettings.php から由来しています:

$wgUploadPath       = "$wgScriptPath/uploads";      ## Wiki 1.5 defaults to /images, but allows more than just images
$wgUploadDirectory  = "$IP/uploads";                ## Wiki 1.5 defaults to /images, but allows more than just images

## To enable image uploads, make sure the above '$wgUploadPath' directory is writable by Apache User or group.
## ''(i.e.  chmod og+w uploads images)''  then the following should be true:
$wgEnableUploads       = true;

$wgUseImageMagick      = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";

## If you want to use image uploads under safe mode, create the directories images/archive, images/thumb and
## images/temp, and make them all writable. Then uncomment this, if it's not already uncommented:
$wgHashedUploadDirectory = false;

動作中に素早く画像をリサイズできるようにしてサムネイルをサポートしたい場合、MediaWiki には有効なImageMagickが必要です。 ImageMagick をシステムにインストールしてテストが済んだら $wgUseImageMagick true を設定します。 $wgImageMagickConvertCommand convert コマンドのインストールの適切な位置を指定し、コマンドがウェブ サーバーのプロセスによって実行可能であること、$wgMaxShellMemory が十分に大きいことを確認します。 詳細な情報と障害探索の方法は Manual:Image administration#Image thumbnailing を参照してください。

また、利用可能な拡張子の修正を行いたい場合、次のように $wgFileExtensions 内に設定します:

$wgFileExtensions = [ 'png', 'jpg', 'jpeg', 'ogg', 'doc', 'xls', 'ppt', 'mp3', 'sxc', 'pdf' ];

ImageMagick で次のようなエラーメッセージが表示された場合。

Fatal error: mime_magic could not be initialized, magic file is not available in includes/MimeMagic.php on line 506

さらに以下の行を LocalSettings.php に追加してみてください:

$wgMimeDetectorCommand = "file -bi";

インターウィキのサポート

インターウィキ サポートは MediaWiki に組み込まれていますが、内部リンクのために使用される接頭辞を設定する必要があります。 この接頭辞は通常 $wgSitename と同じですが、変更する場合、$wgLocalInterwikis 変数をご希望の名前に設定します。


ユーザーインターフェイスの言語

MediaWikiは様々なローカライズされたユーザーインターフェイスの言語を利用できます。英語ではない言語でウィキを運営する場合、$wgLanguageCode を適切な言語コードに設定します (例えば、ドイツ語なら「de」、スペイン語なら「es」、など)

languages/i18n ディレクトリ内にファイルがあれば、あらゆる言語を使用できます。例えば es.json がある場合は、スペイン語に「"es"」を使用できます。先頭が大文字の「"Es"」を使用しないでください。動作するように見えるかもしれませんが、すべてのテキストが翻訳されているわけではありません。

言語コードを変更したら、PHPスクリプトを実行してそれを有効化する必要があるでしょう。 端末ウインドウでウィキディレクトリに移動し、さらにその下の maintenance に移動して php rebuildMessages.php --rebuild を入力してください。 Windows環境では恐らく、PHPフォルダーが PATH 環境変数に含まれていないので、php をプログラムパスの前に付け足す必要があるでしょう。

すべての言語に対応しているわけではありません。 TranslateWiki の翻訳統計を参照して、どの言語に対応しているか、そしてどの程度の翻訳が行われているかの最新の一覧を参照してください。 その一覧は MediaWiki コアの現在の状態を反映しており、ご利用のバージョンによっては違いがあるかもしれません。

サイトのための著作権の設定

$wgRightsPage が空ではない場合、著作権/ライセンス内のリンクはサイト上のそのページにリンクします。$wgRightsPage が空の場合は代わりに $wgRightsUrl にリンクします。

サイトの著作権宣言を修正するために以下の行を LocalSettings.php に追加します:

$wgRightsPage = "YourWiki:Copyright";
$wgRightsText = "copyright YourWiki";

後で適切なメッセージを表示するためにMediaWiki:Copyrightを編集します。"$1" を使用して著作権ページへのリンクの位置を示します。

例: クリエイティブ・コモンズライセンスを設定します

クリエイティブコモンズライセンスを設定するために以下のように行います:

<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
<img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights30.png" />
</a>
This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License</a>.
  • $wgRightsURL のために、最初のアンカーから href 情報を入力します:
$wgRightsUrl = "http://creativecommons.org/licenses/by-nc-sa/3.0/";
  • $wgRightsText のために 2 番目のアンカーからテキストを入力する(文法的に正しいバージョンであるために "a" をウィキ変数に追加します)
$wgRightsText = "a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License";
  • $wgRightsIcon のために最初のアンカーの img リンクからソースの情報を入力します。Crative Commons サイトからあなたのサイトにバッジをコピーしたい場合は以下のコードを追加します。
$wgRightsIcon = "http://creativecommons.org/images/public/somerights30.png";
  • 著作権についての RDF メタデータを使用するには、LocalSettings.php に以下の行を追加します:
$wgEnableCreativeCommonsRdf = true;
$wgEnableDublinCoreRdf = true;


カスタムの名前空間

$ExtraNamespaces 配列を宣言して $wgExtraNamespaces $wgNamespacesWithSubpages 配列を修正すると、MediaWiki インストレーションに名前空間を追加できます。また $wgNamespaceAliases 配列を宣言すると名前空間の別名を追加できます。 同じ名前空間で既に命名したページ、例えば「Technical:Support」というページがあるのに「Technical:」という名前空間を作成すると、そのページは消え、そればかりか Special:Allpages から除去できなくなることに留意が必要です。 これを修正するにはまず名前空間を削除、「Technical:Support」をメインの名前空間の「Support」に移動させてリダイレクトを削除します。次に名前空間を再び作成して「Technical:Support」に戻します。 詳細な情報はカスタム名前空間 をご覧ください。

外装

サイトの既定の外装は $wgDefaultSkin 変数で修正できます。

関連項目