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

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

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