一 安装要求
Phabricator 是一个LAMP应用套件, 因此最基本的要求就是LAMP环境:
- Linux:Linux的不同发行版及变种是必需的。Mac OS X是一个可接受的Linux变种,Windows不是。Phabricator不能安装在Windows系统上。在Mac OS X,Amazon Linux,Ubuntu,RHEL和CentOS上运行的 Phabricator 有活跃的贡献者。
- Apache(或nginx,或lighttpd):需要Apache 2.2.7以上版本。
- MySQL:MySQL必需
- PHP:需要PHP5.2以上版本
- 域名(例如:phabricator.my.com)
- Phabricator的命令行接口-Arcanist,可以在Windows上正常运行。参考Windows下Phabricator Arcanist的安装与使用(官方页面:Arcanist User Guide: Windows)。
- LAMP: Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
二 安装必须的组件
Phabricator安装必须的组件包括
- git (usually called "git" in package management systems)
- Apache (usually "httpd" or "apache2") (or nginx)
- MySQL Server (usually "mysqld" or "mysql-server")
- PHP (usually "php")
- 必须的 PHP 扩展: mbstring, iconv, mysql (or mysqli), curl, pcntl (these might be something like "php-mysql" or "php5-mysql")
- 可选的PHP 扩展: gd, apc (安装该扩展如果有困惑,请看下面的APC安装说明), xhprof (仅在你对Phabricator做二次开发时需要)
以上大部分组件在Ubuntu上可以通过脚本install_ubuntu.sh完成。
ubuntu下获取文件的命令:
wget http://www.phabricator.com/rsrc/install/install_ubuntu.sh
安装APC (可选)
如同所有写在PHP中的东西一样, Phabricator 在APC安装完毕后,运行会更快。你首先需要先安装“pcre-devel”:
sudo apt-get install pcre-devel
然后你有两个选择。一个是安装via PECL(需要首先测试一下)
sudo pecl install apc
如果它不工作, 在PECL文件夹中找到apc,然后按照以下指南操作:
http://pecl.php.net/package/APC
安装 APC 是可选的,但是这里 强烈推荐安装
一旦 APC 安装完成,测试就可以执行了:
php -i | grep apc
如果该命令无法执行,那就添加
extension=apc.so
到 "/etc/php.d/apc.ini" 或 "php.ini" 文件中。
可以通过
php -i
找到该文件。
三 获取phabricator及其依赖包
$ cd somewhere/ # pick some install directory
somewhere/ $ git clone https://github.com/phacility/libphutil.git
somewhere/ $ git clone https://github.com/phacility/arcanist.git
somewhere/ $ git clone https://github.com/phacility/phabricator.git
四 配置phabricator
1. WEB服务器:配置Apache
- 设置一个域名指向你的主机
Sudo Vim /etc/hosts
add:
127.0.0.1 phabricator.my.com
- 创建一个VirtualHost条目(放置Phabricator到一个二级域名上)
进入站点配置目录
$ cd /etc/apache2/site-available/
该目录用于存放虚拟机的配置文件。
创建一个虚拟机的配置文件
$sudo vim phabricator.conf
添加如下内容:
<VirtualHost *:80>
# Change this to the domain which points to your host.
ServerName phabricator.my.com
# Change this to the path where you put 'phabricator' when you checked it
# out from GitHub when following the Installation Guide.
#
# Make sure you include "/webroot" at the end!
DocumentRoot /path/to/phabricator/webroot
RewriteEngine on
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
# If Apache isn't currently configured to serve documents out of the
# directory where you put Phabricator, you may also need to add
# <Directory /> section.
<Directory /path/to/phabricator/webroot>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- <Directory部分也可以添加到/etc/apache2/apache2.conf中。
- 这里用的是默认端口80,要想通过其他端口(8080)访问,首先我们得让apache2监听端口该端口:
修改/etc/apache2/ports.conf,增加:
Listen 8080
保存编辑的配置文件后, 需要启用该配置。
$ sudo a2ensite phabricator.conf
完成后他会提示你需要重新加载一些东西, 这里按照提示执行一下。
$ sudo service apache2 reload
- 重启Apache服务
sudo /etc/init.d/apache2 restart
重启时遇到如下问题时:
需要在/etc/apache2/apache2.conf配置文档中加入下面的一句:
ServerName 127.0.0.1:80
2.存储:配置MySQL
设置中,你需要配置MySQL。运行MySQL,验证是否能正常连接。如果有问题,请参考MySQL的帮助文档。如果MySQL正常工作,你需要加载Phabricator的模式,运行命令:
phabricator/ $ ./bin/storage upgrade
根据提示进行操作即可,将Phabricator的配置文件加载到mysql中。
如果你配置了一个无特权的用户以连接数据库,你将不得不重新设置为root用户或其他的管理员以使模式能被应用。
phabricator/ $ ./bin/storage upgrade --user <user> --password <password>
可以使用 -- force 参数来避免脚本进行提示,对mysql强行加载配置文件。
phabricator/ $ ./bin/storage upgrade --force
注意:每当Phabricator进行了更新,都需要运行storage upgrade。
每当server关闭后再次开启,需要重新启动phabricator。页面信息会提示你该怎么做。
3. 验收Phabricator
- 在浏览器中输入域名,It Works!
- 客户端登陆
在客户端hosts文件中添加
192.168.31.90(server IP) phabricator.my.com
下一步
继续:
- 设置你的管理帐号和登陆/注册,请参见 Configuring Accounts and Registration;
- 了解更高级的配置主题,请参见 Configuration User Guide: Advanced Configuration;
- 配置文件域,请参见 Configuring a File Domain;
- 配置一个脚本来进行负载均衡配置,和限速配置,请参考Configuring a Preamble Script;
- 配置上传的文件和附件的存储位置 Configuring File Storage;
- 配置Phabricator以支持发送邮件 Configuring Outbound Email;
- 配置Phabricator以支持接收邮件 Configuring Inbound Email;
- 导入版本仓库,请参见Diffusion User Guide;
- 了解守护进程工作,请参见 Managing Daemons with phd;
- 通知学习,请参见 Notifications User Guide: Setup and Configuration;
- 配置备份工作,请参见Configuring Backups and Performing Migrations;
- 为Phabricator贡献力量,请参见 Contributor Introduction.