Apache configuration/ja

Apache はMediaWiki に使用される率が最も高いウェブサーバーです.

Apache モジュールとしての PHP
MediaWiki は、PHP を Apache モジュールとして使用するように書かれています. 以下のような URL で始まる場合は、おそらく PHP はモジュールとして設定されています:

example.com/index.php/Main_Page

PHP の設定とバージョンは、ウィキの Special:Version ページを見るか、または phpinfo を使用して確認できます.

RedHat/Fedora ベースの Linux
PHP をインストールします:


 * 1) yum install php php-xml

httpd を再読み込みします:


 * 1) service httpd reload

Debian ベースの Linux
apache2 php5 モジュールをインストールします:


 * 1) apt-get install apache2 libapache2-mod-php5 php5-cli php-apc php5-mcrypt

Ubuntu 16.04.2 LTS版

 * 1) sudo apt-get install libapache2-mod-php

apache2 php5 モジュールを有効化します:


 * 1) a2enmod php5

Apache を再起動します:


 * 1) service apache2 restart

CGI としての PHP
PHP が CGI として動作している場合は、既定では「醜い」URL になるでしょう. それでも短い URL にすることはできます.

CGIWrap
ご利用のサーバで Apache を採用していて、PHP を CGI として稼働させている場合は CGIWrap をインストールします. このツールで CGI ごとにユーザーを切り替えて Apache サーバーを稼働させることができます.

そうすると MediaWiki ページに新しいユーザーを作れます. CGIWrap のインストールは、ご利用のサーバごとにコンパイルする必要があるため、この文書では説明しません. ただし簡単な目安として以下のルールに従います.

useradd -M -s /sbin/nologin wikiuser
 * ウィキメディアの利用者を作成します
 * cgi-bin フォルダーを作り CGIWrap を保存します (サンプルは /home/myuser/cgi-bin を参照). 構成が完了した段階でこのフォルダーに cgiwrap のみ残し、デバッグ版が必要なときに備えるなら他のフォルダーに移動します. cgiwrap ファイルは Apache からのアクセスのみ許可します (chown と chmod も同様).

ln -s /home/myuser/public_html/wiki /home/myuser/cgi-bin/wikilink AddHandler php-wrapper .php Action php-wrapper /cgi-bin/cgiwrap/wikiuser/wikilink
 * cgi-bin フォルダー内に、ウィキメディアのルートへのシンボリック リンクを作成します.
 * ウィキの .htaccess ファイルに、以下の定義を追加します:
 * 最後に Wikimedia フォルダ内のすべての .php ファイルを chown と chmod 処理しアクセス権を wikiuser に限定します.

ファイルへは通常通りアクセスできます. パスで cgi-bin を特定しなくても、透明に処理されます.

ご利用のPHPラッパーとして、実際の処理を明確に示す /cgi-bin/cgiwrapd/... を使うよう強く推奨します. またこれはまさに試行錯誤のプロセスで長い時間がかかるため、すべてが完璧に動作するまで、CGIWrapのソースフォルダを削除しないことを強くお勧めします. しかしながら、ご利用のMediaWikiは他のuidを妨害することなく、独自のuidを使い独自のプロセスで実行されるため、それだけの時間を費やす価値が十分にあります. 逆もまた真ですが、rootを除くと、どこでも何でも読み取れます.

mod_alias / mod_rewrite
URL を美しくするためのお勧めの方法には mod_alias が必要です. 他の方法では代わりに mod_rewrite を使います.

mod_security
は MediaWiki との共存で問題を起こすことが知られています. 一見、エラーが不規則に起こっているような場合は、それが問題を引き起こしているかどうかを見るために、エラー ログを確認してください.

VisualEditor and Subpages
In order to prevent errors contacting the Parsoid server,  must be added to the wiki's VirtualHost config block (or to the general server config if VirutalHosts are not used).

スレッドのスタックサイズ
各 Apache スレッドのスタック サイズは設定可能で、その既定値はオペレーティング システムごとに異なります. Windows 環境で MediaWiki を動作させるためには、（問題があるならば）スタック サイズを増やす必要があるかもしれません. 標準の 1MB は小さく、PHP スクリプトの実行中にスタック オーバーフローを引き起こす可能性があるためです. 以下の httpd.conf 設定はスタック サイズを約 8MB（ほぼ、標準的な Linux の既定値）に設定します:

スパイダーとボット
悪意のないスパイダーに指示し、動的に生成されたページをダウンロードさせないためには、必ず ファイルを使用します. これによりウェブサーバーの負荷軽減と帯域幅の維持、検索エンジンでコンテンツが重複する問題を防ぐことができます. しかし悪意のあるボットによってウェブサーバーを拘束されると、大量のページを非常に迅速にダウンロードさせられてしまい、帯域幅を無駄にする可能性があります. その防止に役立つのが Request throttling です.