How to become a MediaWiki hacker/ja

他の言語: English

このページは、ウィキペディアの開発プロセスについての情報の収集と、新参の開発者の質問への回答を目的とするものです. もし、あなたが私達のコーディングの手伝いを考えていて、まだ必要とされるスキルを持ち合わせていないなら、此処は手始めにはうってつけの場所となります.

最初に、幾つかの重要なリンクを:


 * The Wikipedia-code web page ソフトウエアの開発作業についての一般的な情報のページです.
 * The Wikipedia SourceForge Project page コードを見たり、バグを報告するために使うことができるサイトです. 但し、私たちはSourceForgeのパッチトラッカーは使っていないので気をつけてください. （パッチが何かご存じない方は、下の説明を参照して下さい. ）
 * メディアウィキアーキテクチャ さらに解説があります.

オペレーティング・システム
ウィキペディアのコードは、PHP プログラムング言語 と MySQLデータベース に基き動作します. これらは様々なオペレーティング・システムに移植されており、この中には、殆どのUnixのヴァージョンとマイクロソフト・ウィンドウズ、その他のオペレーティングシステムが含まれます. . 従って、これらのシステムにウィキペディアをインストールし使用することができます. といっても、殆どの開発者はUnix環境にあるUnix界で作られたツールの使用を好みますので、Unixを使った方が、おそらくより良いサポートを受けることができるでしょう.

もし、Unixへの乗り換えを考えているなら、フリーな （オープン・ソースの） Unixのバージョンが入手可能です. その中で最も一般的なものは Linux で、これは予めパッケージ化された状態で入手でき、また、それなりにインストールが簡単です. Unixの世界に詳しくなるには Rute Tutorial がとくにお勧めです. それから、日々の作業についてはLinux cookbookが、より複雑な問題については Linux documentation project もまた参考になるでしょう.

PHP プログラミング言語
もし、PHP(「PHP: Hypertext Preprocessor」の略)に関する知識が無くても、その他のオブジェクト指向のプログラミング言語を知っているなら、心配は要りません. PHPを習得するのは簡単です.

PHPも、その他のオブジェクト指向言語もご存知でないとすれば、あなたは、クラスや、オブジェクトや、メソッド、イベント、継承といった概念に慣れる必要があるでしょう.

一切のプログラミング言語の知識が無いのであれば、PHPはプログラミングを始めるにはもってこいの言語で、他の近代的な言語とも似てはいますが、それが実行される目的ははっきりしています.

殆どのプログラムと違い、PHPスクリプトは一般にコマンドラインやウィンドウ・マネージャから実行することができません. その代わり、PHPスクリプトは、あなたがウェブサーバから「.php」という拡張子(だけではないけれど)の付いたファイルの要求を出すことで実行されます. そうすることで、ウェブサーバ(我々の場合は Apache ですが)は、PHPインタープリタ(おそらくウェブサーバの中に構築されているでしょう)を呼び出し、PHPファイルを解釈して、その結果をブラウザに返します. PHPファイルは、通常のHTMLとPHPプログラムとを含むことができ、静的なウェブページへの動的な機能の追加が比較的容易になります.

Related links:


 * PHP tutorial （PHPチュートリアル　様々な言語で提供されています）
 * The PHP manual （PHPマニュアル　こちらも様々な言語で提供されています）

SQL と MySQL
ウィキペディアでは現在、データベースのバックエンドに MySQL を使用しています. PHPに MySQLのサポートが追加されていることを確認して下さい!

我々は他のデータベースのバックエンドを使ってウィキを動かすことも試みていて、特にpostgresqlの、性能と軽便さに注目しています.

ウィキペディアのインストール
CVSからソースを得る方法は、w:Wikipedia:PHP script(英語)をご覧下さい.

きっと、ソースの中にある INSTALL ファイルに不可思議な記述を見掛けるでしょう. 次のようにしてみて下さい.

もし、一緒に使うための実在するデータベースのローカル・コピーをセットアップしたいなら、最初にMySQLで空のデータベースを作成し、「maintenance」サブディレクトリにある「createdb.php」スクリプトを走らせます (きちんと設定してあるか確認して下さい!). このメンテナンス用のスクリプトはメインのソース・ディレクトリからファイルを include していることに注意して下さい; PHPのインクルード・ディレクトリを設定するか、または、単にファイルをコピーするかして下さい.

その後、一度は、使用したい言語の SQL ダンプ を取得する必要があります. 次の様にしてインポートして下さい.
 * Linux
 * gzip -dc cur_table.sql.gz | mysql -u wikiadmin -padminpass wikidb
 * gzip -dc old_table.sql.gz | mysql -u wikiadmin -padminpass wikidb
 * cd maintenance ; php rebuildlinks.php

unzip the file
 * Windows (may need -u wikiadmin -padminpass wikidb as above)
 * mysql < cur_table.sql
 * mysql < old_table.sql
 * cd maintenance ; php rebuildlinks.php

リンク・テーブルの再構築には、かなりの時間がかかります. 英語版の膨大なデータベースをインストールした場合にはとくに. （お望みなら、古いテーブルをスキップできることも注記しておきます. )）See Database layout on what rebuilding.php is good for.

ちなみに、ウィキペディアのパブリック・ミラーを設置したい場合には、これは必ずしも最適の方法ではないことにご注意下さい. もしこの方法でミラーを設置された場合、コードを変更して、それがミラーであることを明示し、メインサイトへのリンクバックを提供するようにして下さるようよろしくお願いします.

Your first feature
...

See also: Development policy