addons.mozilla.orgのコードをローカルで動作させる手順

第2回CakePHP勉強会で行った「addons.mozilla.org@CakePHP」はおかげさまでよい反響を頂くことが出来ました。あまり時間の余裕が無かったので駆け足になりましたが、特にソースコードを実際に動作させた部分などについて感想を頂きました。
実はローカルで動作させる事は意外と簡単です。今回はデモの際に使ったWindows上のXAMPP環境をセットアップする手順を紹介します。


1.ソースコードの入手
Remoraのソースコードリポジトリは公開されているので手持ちのsvnクライアントでチェックアウトする事ができます。
リポジトリのアドレスは下記のとおり。

 http://svn.mozilla.org/addons/trunk/

svnクライアントを用意するのが面倒な人の為にチェックアウトしたソースをzipで圧縮したものを用意しました。

入手したソースコードはxamppのディレクトリ内のhtdocs配下にremoraという名前で配置します。


2.DocumentRootの設定
Remoraを動作させるにあたってはDocumentRootを変更するように案内されています。
とはいえxamppのphpmyadminなどと共存させたかったので私はポート番号を切り替えてRemoraを利用できるように設定してみました。

まずはアクセス可能なポート番号を増やす為にhttpd.confのListenの部分に任意のポート番号を追加します。
今回は8080を追加してみます。
xampp/apache/conf/httpd.conf

Listen 80
Listen 8080

さらに8080番でのアクセスの際のDocumentRootを設定する為にVirtualHostを設定します。
初期状態の例を編集するなどして下記の設定をします。
xampp/apache/conf/extras/httpd-vhosts.conf (コメント部を省略)

NameVirtualHost *:8080


    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot /xampp/htdocs/remora/site/app/webroot
    ServerName dummy-host2.example.com

これで「http://localhost:8080/」にアクセスした際にローカルのremoraにアクセスできるようになります。


3.データベーススキーマの設定
次にデータベーススキーマとサンプルデータを反映します。必要なファイルはソース内に含まれているのでコマンドを実行するだけで反映できます。
コマンドプロンプトか「コマンドを指定して実行」で下記を行います。

c:/xampp/mysql/bin/mysql -p -D remora < c:/xampp/htdocs/remora/site/app/config/sql/remora.sql
c:/xampp/mysql/bin/mysql -p -D remora < c:/xampp/htdocs/remora/site/app/tests/data/remora-test-data.sql
c:/xampp/mysql/bin/mysql -p -D remora-test < c:/xampp/htdocs/remorasite/app/config/sql/remora.sql
c:/xampp/mysql/bin/mysql -p -D remora-test < c:/xampp/htdocs/remorasite/app/tests/data/remora-test-data.sql


4.設定ファイルの編集
Remoraのアプリケーションの設定ファイルを作成します。雛形として config.php.default というファイルがありますので、これをコピーして config.php としてデータベースの設定などを記載します。
xampp/htdocs/remora/site/app/bin/config.php (150行目付近)

define('DB_USER','root');
define('DB_PASS','');
define('DB_NAME','remora');


5.memcacheの設定
ここまでの設定で通常の動作は行えますがmemcachedを使ったキャッシュをテストする場合はmemcachedを設定します。
config.phpにはデフォルト値が設定されているのでmemcahcedを起動しておけば自動的にキャッシュ処理に利用されます。
windows版のmemcachedは下記のものを利用しました。

以上でデモ用のセットアップが完了です。RemoraのWikiによるとPHP4でないと動かない事になっていますが、PHP5でも一応動いているようです。
おそらくコードを読んで参考にする際も動く環境があるとよりわかりやすいでしょう。
Remoraのコードを参考にしようと思っている方はセットアップしてみてはいかがでしょうか。

今回の手順は下記のページを参考にしました。
http://wiki.mozilla.org/Update:Remora_Server_Requirements