Apache configuration/ja

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

Apache モジュールとしての PHP
MediaWiki は、PHP を Apache モジュールとして使用するように書かれています. 以下のような URL で始まる場合は、おそらく PHP はモジュールとして設定されています: example.com/index.php/Main_Page PHP の設定とバージョンは、ウィキの Special:Version ページを見るか、または [$link phpinfo] を使用して確認できます.

RedHat/Fedora ベースの Linux
PHP をインストールします: httpd を再読み込みします:
 * 1) yum install php php-xml
 * 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版
apache2 php5 モジュールを有効化します: Apache を再起動します:
 * 1) sudo apt-get install libapache2-mod-php
 * 1) a2enmod php5
 * 1) service apache2 restart

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

CGIWrap
ご利用のサーバでApacheを採用、として走らせているなら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
ためのお勧めの方法には mod_alias が必要です. 他の方法では代わりに mod_rewrite を使います.

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

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

スパイダーとボット
悪意のないスパイダーに指示し、動的に生成されたページをダウンロードさせないためには、必ずファイルを使用します. これによりウェブサーバの負荷軽減と帯域幅の維持、検索エンジンでコンテンツが重複する問題を防ぐことができます. しかし悪意のあるボットによってウェブサーバを拘束されると、大量のページを非常に迅速にダウンロードさせられてしまい、帯域幅を無駄にする可能性があります. その防止に役立つのがRequest throttlingです. This can reduce the load on your webserver, preserve your bandwidth, and prevent duplicate content issues with search engines. However, malicious bots could tie up your webserver and waste your bandwidth by downloading a large volume of pages extremely quickly. Request throttling can help protect against this.