phabricator介绍与搭建

时间:2022-07-22
本文章向大家介绍phabricator介绍与搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Phabricator 是一款用于敏捷开发的项目管理软件,它集成了众多实用功能,包括:

  • 代码管理:添加 Git, Mercurial 和 SVN 仓库,查看源码,review 代码
  • bug 追踪:测试人员、开发人员协同工作
  • 项目管理:项目的启动、进展、完成
  • 工作板:所有任务一目了然
  • wiki:构建文档
  • 任务系统:创建任务、指派任务、完成任务、增加或降低优先级
  • 博客系统:甚至可以写博客=

在安装Phabricator之前,我们需要先准备一个lnmp的环境,且PHP的版本有要求,PHP7.0的不可以,5.x和7.1以上的都可以支持

环境介绍

  • centos7.5
  • Php7.1.13
  • nginx1.12.0
  • mysql5.7

以上环境的安装不再讲述,下面是phabricator的安装及其一些配置

1、创建一普通用户

useradd git
usermod -p NP git #也可以直接修改/etc/shadow文件,找到git用户,将!!设置成NP
usermod -s /bin/sh git  #也可以直接修改/etc/passwd文件,给git用户一个真正的shell
usermod -g wheel git

Vim /etc/sudoers
修改
%wheel  ALL=(ALL)       NOPASSWD: ALL

2、接下来将phabricator相关的文件下载下来

su - git
cd ~
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git

3、创建目录,并设置链接mysql的配置文件

cd /home/git/phabricator/conf && mkdir -p custom

$ cat custom/mysql.conf.php
<?php
return array(
  'mysql.host' => 'localhost',
  'mysql.port' => '3306',
  'mysql.user' => 'root',
  'mysql.pass' => 'Chenfei@2018',
);
#指定配置文件位置



```

/home/git/phabricator/conf && echo custom/mysql > local/ENVIRONMENT




  4、初始化,向数据库写入数据

/home/git/phabricator && ./bin/storage upgrade


  5、修改nginx和PHP的配置文件






  因为这里我们是以git用户的身份去下载的phabricator,所以我们的程序目录同样也是在git下,因此,我们这里直接将nginx和php用户都设置为git



#Nginx
cat conf.d/pha.conf server {         server_name 10.0.3.107;         root        /home/git/phabricator/webroot;
        location / {             index   index.php;             rewrite ^/(.*)$ /index.php?__path__=/$1 last;         }
        location /index.php {             fastcgi_pass   127.0.0.1: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;         }
        location ~ .php$ {             fastcgi_pass   127.0.0.1:9000;             fastcgi_index  index.php;             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;             include        fastcgi_params;         }     }
#Php
cat php-fpm.conf [global] pid = /usr/local/php/run/php-fpm.pid error_log = /var/log/php-fpm/php-fpm.log [www] user = git group = git listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 30 pm.start_servers = 5 pm.min_spare_servers = 3 pm.max_spare_servers = 10
<p>
    

  </p>



  6、修改完成后,重启nginx和PHP服务,然后浏览器访问测试即可






  如图






  <img class="alignnone size-full wp-image-545 " src="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc678adf7d3.png" alt="" srcset="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc678adf7d3.png 2624w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc678adf7d3-150x61.png 150w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc678adf7d3-300x122.png 300w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc678adf7d3-768x313.png 768w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc678adf7d3-1024x417.png 1024w" sizes="(max-width: 2624px) 100vw, 2624px" />









  7、问题记录



  后面会出现一些issue,例如



  
    <img class="alignnone size-full wp-image-547 " src="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1787f5.png" alt="" srcset="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1787f5.png 720w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1787f5-109x150.png 109w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1787f5-218x300.png 218w" sizes="(max-width: 720px) 100vw, 720px" />
  
  
  
  
  
  
  
  
  
    phabricator比较好的地方就是可以很友好的提供错误修复方法,例如:
  
  
  
  
  
  
    <img class="alignnone size-full wp-image-548 " src="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1a6a51.png" alt="" srcset="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1a6a51.png 1670w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1a6a51-150x74.png 150w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1a6a51-300x148.png 300w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1a6a51-768x379.png 768w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1a6a51-1024x505.png 1024w" sizes="(max-width: 1670px) 100vw, 1670px" />
  
  
  
  
  
  
  
  
  
    我们按照提示输入命令即可解决
  
  
  
  
  
  
  
  
  
    <img class="alignnone size-full wp-image-549 " src="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1b5af1.png" alt="" srcset="https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1b5af1.png 1720w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1b5af1-150x65.png 150w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1b5af1-300x131.png 300w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1b5af1-768x335.png 768w, https://www.devilf.cc/wp-content/uploads/2018/10/img_5bbc7bb1b5af1-1024x447.png 1024w" sizes="(max-width: 1720px) 100vw, 1720px" />