Phabricator⼊门教程
是⼀款⽤于敏捷开发的项⽬管理软件,它集成了众多实⽤功能,包括:
代码管理:添加 Git, Mercurial 和 SVN 仓库,查看源码,review 代码
bug 追踪:测试⼈员、开发⼈员协同⼯作
项⽬管理:项⽬的启动、进展、完成
⼯作板:所有任务⼀⽬了然
wiki:构建⽂档
任务系统:创建任务、指派任务、完成任务、增加或降低优先级
博客系统:甚⾄可以写博客
这⾥介绍如何从零开始,完成 Phabricator 的安装配置,设置和发送邮件配置,仅供参考。
前提条件
Phabricator 的运⾏环境是 php,数据库采⽤ mysql,web服务器可选 nginx、apache、lighttpd等。
如果操作系统为 ubuntu ,希望快速安装,可以拷贝  脚本,⼀键安装 php5、apache、mysql-server。
这⾥安装 php5 (包括所需扩展)、nginx、mysql-server。
sudo apt-get update
sudo apt-get install php5 php5-mysql php5-gd php5-dev php5-curl php-apc php5-cli php5-json nginx mysql-server
Tips: 7 的兼容性
如果你的环境是PHP 7.0,那么恭喜你,Phabricator ⽆法运⾏在 PHP 7.0 下。
Phabricator ⽀持 5.x 版本以及 7.1 以上版本,唯独不⽀持 7.0。
据  ,Phabricator 依赖的异步信号处理特性,在 7.0 版本被移除了,但是在7.1 版本⼜加上了。
使⽤ PHP 7.0 的⽤户,可以降级到 PHP 5 或升级到 PHP 7.1,或者⽤ Docker。
安装
Phabricator 需要 3 个仓库的代码:arcanist、libphutil、phabricator。其中phabricator是项⽬的主体,arcanist 是 Phabricator 的命令⾏⼯具,libphutil 是Phabricator 的实⽤⼯具集,包括⽂件系统、markdown解析、守护进程等。
假设 webroot ⽬录为 /var/www ,则执⾏如下命令:
cd /var/www
mkdir phabricator && cd $_
git clone github/phacility/libphutil.git
git clone github/phacility/arcanist.git
git clone github/phacility/phabricator.git
保证 arcanist、libphutil、phabricator ⽬录为并列关系。
root@localhost:/var/www/phabricator# ls
arcanist  libphutil  phabricator
配置 nginx:
其中 root 指向 phabricator ⽬录的 webroot。
server {
server_ample;
root        /var/www/phabricator/phabricator/webroot;
location / {
index index.php;
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
}
location /index.php {
fastcgi_pass  localhost:9000;
fastcgi_index  index.php;
#required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
#variables to make the $_SERVER populate in PHP
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING      $query_string;
fastcgi_param  REQUEST_METHOD    $request_method;
fastcgi_param  CONTENT_TYPE      $content_type;
fastcgi_param  CONTENT_LENGTH    $content_length;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
fastcgi_param  REMOTE_ADDR        $remote_addr;
}
}
配置
数据库
⾸先要设置⽤于 Phabricator 连接的数据库配置。
cd /var/www/phabricator/phabricator
phabricator/ $ ./bin/config set mysql.host localhost
phabricator/ $ ./bin/config set mysql.user root
phabricator/ $ ./bin/config set mysql.pass 123456
然后执⾏:
phabricator/ $ ./bin/storage upgrade
邮件
Phabricator ⽀持的  很多,如Mailgun、Amazon SES、SendGrid、SMTP。这⾥以 SMTP 为例。有两种⽅式配置邮件发送。
1. 配置⽂件
修改 conf/local/local.json ,加⼊如下配置:
{
"phpmailer.smtp-protocol": "SSL",
"phpmailer.smtp-password": "密码",
"phpmailer.smtp-user": "邮箱地址",
"phpmailer.smtp-port": 端⼝号,
"phpmailer.smtp-host": "邮件服务器"
}
2. 命令⾏
⽤ bin/config 命令进⾏设置,如:
phabricator/ $ ./bin/config set phpmailer.smtp-protocol ssl
phabricator/ $ phabricator/ $ ./bin/config set phpmailer.smtp-password 密码phabricator/ $ ./bin/config set phpmailer.smtp-user 邮箱地址
phabricator/ $ ./bin/config set phpmailer.smtp-port 端⼝号如何运行php项目
phabricator/ $ ./bin/config set phpmailer.smtp-host 邮件服务器
验证
配置完成后,可以⽤命令⾏测试邮件发送配置是否正确:
phabricator/ $ ./bin/mail list-outbound  # 列出所有邮件
phabricator/ $ ./bin/mail show-outbound  # 显⽰某条邮件
phabricator/ $ ./bin/mail send-test      # 发送测试邮件
例如给 david 发送 主题为 hello 的邮件,正⽂在 ⾥:
phabricator/ $ ./bin/mail send-test --to david --subject 'hello' < ./ Reading message body
Mail sent! You can view details by running this command:
phabricator/ $ ./bin/mail show-outbound --id 37773
执⾏ ./bin/mail show-outbound --id 37773 可以看到此处发送的调试信息。
PROPERTIES
ID: 37773
Status: sent
Related PHID:
Message:
PARAMETERS
sensitive: 1
cc: []
subject: hello
is-bulk:
mailtags: []
...............
这些命令对调试邮件配置和开发新的邮件适配器 (Adapter) 很有⽤处。
#结语
⾄此,Phabricator 可以使⽤了。更详细的功能和配置请参考

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。