搭建phabricator代码审核工具

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服务就配置完成了
 
 
上一篇:【redis】java操作redis时,StringRedisTemplate的expire()方法的作用,什么时候使用


下一篇:POJ 3652 & ZOJ 2934 & HDU 2721 Persistent Bits(数学 元)