Phabricator部署相关注意事项备忘

作者: shaneZhang 分类: 互联网技术 发布时间: 2019-01-27 19:43

Phabricator是一套facebook推出的code review系统,整个系统是基于lamp环境来部署的,首先得需要搭建好lamp环境。关于部署这块官方有一个部署的脚本,可以参考下:https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_ubuntu.sh。

因为自己需要前几天也在自己的私有云上搭建了一套环境,现将整理出来的注意事项整理备忘下来。因为已经有lamp环境了,所以这里就没有单独说这块得部署。我是用apache和mariadb来部署的,使用的php7.2-fpm。apache这里需要开启rewrite模块,php环境需要php-mysql php-gd php-curl php-apcu php-cli php-json php-mbstring这几个特殊的扩展,另外就是需要安装git。

准备好以上的几个环境之后就可以进行安装的步骤了。需要使用到下面的三个代码仓库。

git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git
然后利用apache设置一个虚拟主机,将根目录设置为phabricator/webroot就可以了
然后在webroot目录下设置rewrite规则.htaccess。

RewriteEngine on
RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
RewriteRule ^/favicon.ico   -                       [L,QSA]
RewriteCond %{QUERY_STRING} ^.*__path__.*$ [NC]
RewriteRule .* - [L,NC,QSA]
RewriteRule ^(.*)$          /index.php?__path__=/$1  [B,L,QSA]
Require all granted

然后就根据设置进行初始化的配置和登录了配置了,最终配置的文件展示如下。熟悉phabricator的人都知道,这个系统所有的本地配置都是在local.json文件里。所以把这个文件也贴一下。

{
  "metamta.reply-handler-domain": "@5288z.com",
  "cluster.mailers": [
    {
      "key": "smtp",
      "type": "smtp",
      "options": {
        "host": "smtp.exmail.qq.com",
        "port": 465,
        "user": "",
        "password": "",
        "protocol": "ssl"
      }
    }
  ],
  "phabricator.base-uri": "https://phabricator.zhangyuqing.me",
  "security.alternate-file-domain": "https://phabricator.zhangyuqing.me/",
  "repository.default-local-path": "",
  "mysql.pass": "",
  "mysql.user": "",
  "mysql.port": "",
  "mysql.host": "",
  "storage.mysql-engine.max-size": 8388608
}

最新的代码仓库中在配置邮件的时候,我使用了smtp方式,但是发现邮件系统一直不通,最终发现是phpmailler版本过低导致的,可能是我使用的是腾讯企业邮箱,需要配置ssl,但是低版本的仓库中就没有这个选项。修正方法就是,用phpmailler支持ssl配置的版本。我这里用的是PHPMailer 5.2.26这个版本。然后在调用smtp的时候加入了ssl的配置。

在PhabricatorMailSMTPAdapter.php文件中加入对ssl校验的配置,其实phpmailler的低版本中一直存在着这个问题。   
     $smtp->SMTPOptions = array(
            'ssl' => array(
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            )
        );

本页面支持繁体中文友好显示:Phabricator部署相关注意事项备忘

如果觉得我的文章对您有用,请随意打赏。如果有其他问题请联系博主QQ(909491009)或者下方留言!

发表评论

电子邮件地址不会被公开。 必填项已用*标注