【Phabricator安装】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
应看到类似这样的结果:
tcp600 :::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正常启动:
tcp600 :::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_passlocalhost:9000;
fastcgi_indexindex.php;
#required if PHP was built with --enable-force-cgi-redirect
fastcgi_paramREDIRECT_STATUS200;
#variables to make the $_SERVER populate in PHP
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
fastcgi_paramQUERY_STRING$query_string;
fastcgi_paramREQUEST_METHOD$request_method;
fastcgi_paramCONTENT_TYPE$content_type;
fastcgi_paramCONTENT_LENGTH$content_length;
fastcgi_paramSCRIPT_NAME$fastcgi_script_name;
fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWAREnginx/$nginx_version;
fastcgi_paramREMOTE_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 your@qq.com -- 你的账号
bin/config set phpmailer.smtp-passwordpassword
设置完毕,检查是否可以发送邮件:
bin/mail send-test --to myname@qq.com --subject hello
能收到邮件说明配置成功
有时邮件发不出一直在队列中,输入命令查看状态:
bin/mail list-outbound
如果一直发不出
启动守护进程:
sudo ./bin/phd start