Phabricator のインストールメモ

Facebook 社製プロジェクト管理ツール Phabricator のインストールメモです。
使いやすかったら、Trac から移行したいです。

  • 環境
    • OS: Debian GNU/Linux squeeze (6.0.7/x86_64)
    • Web: Apache 2.2 (2.2.16-6+squeeze11)
    • DB: Percona Server 5.5 (5.5.30-rel30.1-465.squeeze) *1
    • PHP: PHP5 (5.3.3-7+squeeze15)
  • 前提条件
    • Apache、Percona Server、PHP、git はインストール、セットアップ済み*2

必要なライブラリのインストール

$ sudo aptitude install libapache2-mod-php5 php5-curl php-apc php5-mysql php5-gd

Percona Server (MySQL) の設定

Phabricator 用のユーザーを作成します。
Apache と Percona Server を同一ホストで動かすので、localhost のみ接続可能とします。

$ mysql -uroot -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'phabricator'@'localhost' IDENTIFIED BY 'pass' WITH GRANT OPTION;

Phabricator のインストール

ディレクトリを作成して、git clone します。
/opt/phabricator にインストールしました。

$ sudo mkdir -p /opt/phabricator
$ sudo chown myuser:myuser /opt/phabricator
$ cd /opt/phabricator
$ git clone git://github.com/facebook/libphutil.git
$ git clone git://github.com/facebook/arcanist.git
$ git clone git://github.com/facebook/phabricator.git

設定ファイルの作成

ここを参考に設定ファイルを作成します。

$ mkdir -p phabricator/conf/custom
$ cd phabricator/conf/custom
$ vi myconfig.conf.php
<?php
return array(
    'phabricator.base-uri' => 'http://phabricator.example.com',
    'mysql.host' => 'localhost',
    'mysql.user' => 'phabricator',
    'mysql.pass' => 'pass',
    'metamta.default-address' => 'phabricator@example.com',
    'metamta.domain'          => 'example.com',
    'metamta.mail-adapter' => 'PhabricatorMailImplementationPHPMailerLiteAdapter'
) + phabricator_read_config_file('production');
?>

設定ファイルを読み込むように環境変数を設定します。

$ vi ~/.bashrc
export PHABRICATOR_ENV=custom/myconfig
$ . ~/.bashrc

データベースの初期化

$ cd /opt/phabricator/phabricator
$ ./bin/storage upgrade

PHP の設定

Timezone を設定します。

$ cd /etc/php5/apache2
$ sudo vi php.ini
date.timezone = 'Asia/Tokyo'

Apache の設定

Phabricator 用にヴァーチャルホストを設定します。

$ cd /etc/apache2/sites-available
$ sudo vi phabricator
<VirtualHost *:80>
	ServerName phabricator.example.com
	ServerAdmin webmaster@example.com
	DocumentRoot /opt/phabricator/phabricator/webroot

	RewriteEngine on
	RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
	RewriteRule ^/favicon.ico   -                       [L,QSA]
	RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]

	SetEnv PHABRICATOR_ENV custom/myconfig

	<Directory /opt/phabricator/phabricator/webroot/>
		Options FollowSymlinks
		AllowOverride None
		Order allow,deny
		Allow from all
	</Directory>
</VirtualHost>

ヴァーチャルホストと rewrite モジュールを有効化し、Apache を再起動します。

$ sudo a2ensite phabricator
$ sudo a2enmod rewrite
$ sudo /etc/init.d/apache2 restart

初期ユーザーの作成

$ cd /opt/phabricator/phabricator
$ ./bin/accountadmin 

ユーザー名やパスワードなどを聞かれるので、環境に合わせて入力します。
1人目のユーザーなので、administrator として作成します。

確認

http://phabricator.example.com にアクセスして、作成した初期ユーザーでログインします。
設定に問題があると、画面上部に "You have an unresolved setup issue…" と表示されるので問題を修正します。


Phabricator
Facebook製。プログラマー向けのプロジェクト管理「Phabricator」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ

*1:MySQL でも OK です

*2:全てaptitude install