phabricator
依赖环境 系统centos,mysql,php,nginx
1.下载安装脚本 https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_rhel-derivs.sh
    直接运行sh install_rhel-derivs.sh安装或者修改脚本把安装apache改为安装nginx。
    下面我们采用默认安装,安装失败的地方通过手动方式安装。
    在阿里云centos 7以上mysql安装将会失败需要手动安装mariadb,yum -y install mariadb
    脚本安装依赖apache,手动安装nginx,yum -y install nginx
调用install脚本后会git clone下面三个工程
   libphutil,phabricator,arcanist
 
2.将上面三个目录拷贝到/usr/share/nginx/html/下面,注意不能将phabricator的webroot放在/root/**/下面否则nginx将无法访问到php脚本文件
   并修改nginx.conf的配置文件

# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/ user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf; events {
worker_connections 1024;
} http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048; include /etc/nginx/mime.types;
default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf; server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html/phabricator/webroot; # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; location / {
index index.php;
if ( !-f $request_filename ) {
rewrite ^/(.*)$ /index.php?__path__=/$1 last;
break;
}
}
location /index.php {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
} error_page 404 /404.html;
location = /40x.html {
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
} # Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# } }
3.安装php-fpm, yum install php-fpm。启动 service php-fpm start
4.进入phabricator/bin目录下执行./storage upgrade初始化phabricator数据库
5. 如果需要支持发送邮件需要在bin目录下启动phd

   ./mail send-test --to xxxx@qq.com --subject hi < body.txt
    测试发送邮件
安装完后:
   启动nginx 进入localhost
   配置管理员密码和用户名后进入管理主页
   config -->Mail 修改metamta.default-address 和 metamta.mail-adapter
   metamta.default-address 发送的邮箱地址如xxx@163.com
   metamta.mail-adapter 选择PhabricatorMailImplementationPHPMailerAdapter
   然后进入PHPMailer修改相应配置。

或者直接进入/usr/share/nginx/html/phabricator/conf/local直接修改local.json

{
"phpmailer.smtp-host": "smtp.mxhichina.com",
"phpmailer.smtp-port": 25,
"phpmailer.smtp-user": "xxx@nbugs.com",
"phpmailer.smtp-password": "xxxxx",
"differential.require-test-plan-field": false
}

上述配置完成后进入phabricator/bin

执行./mail send-test --to xxxx@qq.com --subject hi < body.txt

通过./mail list-outbound

[root@localhost bin]# ./mail list-outbound
1 Sent [Phabricator] Email Verification
2 Sent [Phabricator] New User "sylar" Awaiting Approval
4 Sent hi
5 Sent [Phabricator] Phabricator Account "sylar" Approved
6 Sent [Phabricator] admin (admin) has invited you to join Phabricator
7 Sent [Phabricator] admin (admin) has invited you to join Phabricator
8 Sent [Phabricator] admin (admin) has invited you to join Phabricator
9 Sent [Phabricator] admin (admin) has invited you to join Phabricator
6,进去Auth---->Add Provider让phabricator支持用户名密码登陆
 
这样基础的phabricator服务就配置完成了
 
 

搭建phabricator代码审核工具的更多相关文章

  1. gerrit代码审核工具之“error unpack failed error Missing unknown”错误解决思路

    使用gerrit代码审核工具时遇到error: unpack failed: error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e7 ...

  2. ubuntu搭建Gerrit代码审核服务器

    谷歌的 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,另外一个重要的创新就是 Gerrit —— 代码审核服务器.Gerrit 为 git 引入 ...

  3. Phabricator代码审核Audit用户指南

    作者: shaneZhang 分类: 互联网技术 发布时间: 2015-07-04 13:37 概览 Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提 ...

  4. jenkins集成sonar代码审核工具

    在项目测试管理过程中,项目上线很多时候时间仓促,导致代码质量不高,测试时间不充分会导致线上出现各种各样的问题,这个时候一方面是增加测试的质量把控,还要从根本上解决开发小哥的代码质量问题.而Sonar这 ...

  5. facebook开源的代码审核工具phabricator

    主页地址:http://phabricator.org/

  6. ubuntu搭建gerrit+gitweb代码审核系统

    一.Gerrit的简介 Gerrit是Google开源的一套基于web的代码review工具,它是基于git的版本管理系统.Google开源Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个 ...

  7. Gerrit代码审核服务器搭建全过程

    Gerrit代码审核服务器搭建全过程 转载请标明出处:http://blog.csdn.net/ganshuyu/article/details/8978614 环境:Ubuntu12.xx 1.建立 ...

  8. 代码质量管理工具 sonar 配置

    代码检查工具有很多findBugs等等 sonar配置: 1.下载sonar 5.5, 解压,运行 sonarqube-5.5\bin\windows-x86-64\StartSonar.bat , ...

  9. 四、VueJs 填坑日记之搭建Axios接口请求工具

    上一章,我们认识了项目的目录结构,以及对项目的目录结构做了一些调整,已经能把项目重新跑起来了.今天我们来搭建api接口调用工具Axios.Vue本身是不支持ajax调用的,如果你需要这些功能就需要安装 ...

随机推荐

  1. 使用bootstrap的插件实现模态框效果

    在上一篇文章中,我们使用 js+css 实现了模态框效果,在理解了模态框的基本实现方法和实现效果后,我们就要寻找更快捷的方法,又快又好的来完成模态框开发需求,从而节约时间,提高效率.一个好的轮子,不仅 ...

  2. 转载+++++iptables详解+++++转载

    转载:http://blog.chinaunix.net/uid-26495963-id-3279216.html 一.前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件 ...

  3. 手机共享成wifi热点电脑无法上网的问题

    第二次遇到这样的问题,每次百度都不能解决我遇到的问题.上一次已经自己鼓捣着解决了,后来忘记怎么弄好的.第二次遇到这个问题,又是浪费了许多时间后,偶然弄好了,突然想起来上次就是这样弄好的.所以就针对我自 ...

  4. js中addEventListener第三个参数涉及到的事件捕获与冒泡

    js中,我们可以给一个dom对象添加监听事件,函数就是 addEventListener("click",function(){},true); 很容易理解,第一个参数是事件类型, ...

  5. 浏览器播放rtsp流媒体解决方案

    老板提了一个需求,想让网页上播放景区监控的画面,估计是想让游客达到未临其地,已知其境的状态吧.    说这个之前,还是先说一下什么是rtsp协议吧. RTSP(Real Time Streaming ...

  6. flask-login ----系统权限设计部分小结

    tips: 事实证明.开发是一项苦力活.但是代码只有自己写的才是令人感到放心的.不过仅仅是从开发角度来说.从维护和安全角度来说,当然还是引入模块比较爽 但是引入的模块总会有一些问题.碰到的最大问题就是 ...

  7. 连锁反应confirm

    <script> function del(){ var flag = confirm("你真要删除么?"); if( flag ){ alert("我已被你 ...

  8. 【JAVAWEB学习笔记】01_HTML

    案例一:网站信息显示页面1.什么是HTML?(Hyper Text Markup Language:超文本标记语言) 超文本:功能比普通文本更加强大 标记语言:使用一组标签对内容进行描述的一门语言(它 ...

  9. liunx命令3

    liunx系统目录结构 / /home /root /dev /usr /etc/ /boot /lib /var /tmp /proc /bin /sbin / 通常称为根分区,所有的文件和目录的起 ...

  10. 转义字符及URI编码

    URL中的转义字符 当URL的参数中出现诸如+,空格,/,?,%,#,&,=等特殊字符串符号时,因为上述字符有特殊含义,导致服务器端无法正确解析参数. 解决办法:将这些字符转化成服务器可以识别 ...