1 .下载phabricator源码
创建文件夹
sudo mkdir /var/www/pha
cd /var/www/pha
将源码拉下来
sudo git clone https://github.com/phacility/libphutil.git
sudo git clone https://github.com/phacility/arcanist.git
sudo git clone https://github.com/phacility/phabricator.git
修改文件权限
cd ..
sudo chmod -R 777 pha
2.安装Nginx
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt install -y nginx
安装后,Nginx应自动启动,检查80端口是否正常
netstat -na | grep 80
应看到类似这样的结果:
tcp6 0 0 :::80 :::* LISTEN
3.安装PHP环境
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install php7.1 php7.1-mysql php7.1-fpm php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
修改fpm的配置:
sudo vim /etc/php/7.1/fpm/pool.d/www.conf
文件内容,在listen = /run/php/php7.1-fpm.sock之后加入2行:
...
; Note: This value is mandatory.
listen = /run/php/php7.1-fpm.sock
listen = 9000
listen.allowed_clients = 127.0.0.1
...
重启PHP:
sudo service php7.1-fpm stop
sudo service php7.1-fpm start
测试配置是否生效:
netstat -na | grep 9000
如能显示,说明fpm正常启动:
tcp6 0 0 :::9000 :::* LISTEN
4配置Nginx
域名比如是:p.mydomain.com,那么创建配置文件:/etc/nginx/conf.d/p.mydomain.com.conf,内容如下:
server {
server_name p.mydomain.com; # 配置域名
root /var/www/pha/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;
}
}
5安装和配置MySQL
sudo apt-get install mysql-server
提示输入root用户密码,在本例中,密码是:root
在phabricator目录下(/var/www/pha/phabricator)执行命令,将mysql密码设置到phabricator:
bin/config set mysql.pass 'root'
为phabricator创建mysql相关数据表:
sudo ./bin/storage upgrade
6设置和重启Nginx
设置下phabricator的url:
bin/config set phabricator.base-uri 'http://p.mydomain.com'
重启Nginx
sudo service nginx reload
修改hosts
查看本机IP地址: ifconfig
sudo vim /etc/hosts
加入内容:
IP地址 p.mydomain.com
访问 http://p.mydomain.com 创建管理员账户
作为管理员,访问Auth,选择Add Provider ,然后添加 Username/Password Provider(用户密码注册)
7配置邮件
以QQ邮箱为例
进入 config -> mail -> metamta.mail-adapter 选择PhabricatorMailImplementationPHPMailerAdapter
进入 config -> mail -> metamta.default-address 设置默认的收发邮件地址
bin/config set phpmailer.mailer smtp
bin/config set phpmailer.smtp-host smtp.qq.com -- 和下面的 smtp-user 一致的服务器,我只试过 163的
bin/config set phpmailer.smtp-port 465 -- 确保 465端口未被防火墙 block,如果不行也可试下用 25 端口
bin/config set phpmailer.smtp-protocol SSL
bin/config set phpmailer.smtp-user [email protected] -- 你的账号
bin/config set phpmailer.smtp-password password
设置完毕,检查是否可以发送邮件:
bin/mail send-test --to [email protected] --subject hello
能收到邮件说明配置成功
有时邮件发不出一直在队列中,输入命令查看状态:
bin/mail list-outbound
如果一直发不出
启动守护进程:
sudo ./bin/phd start