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

应看到类似这样的结果:

 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

你可能感兴趣的:(Phabricator安装)