在ubuntu上搭建Phabricator 服务器

一 安装要求

Phabricator 是一个LAMP应用套件, 因此最基本的要求就是LAMP环境:

  • Linux:Linux的不同发行版及变种是必需的。Mac OS X是一个可接受的Linux变种,Windows不是。Phabricator不能安装在Windows系统上。在Mac OS X,Amazon Linux,Ubuntu,RHEL和CentOS上运行的 Phabricator 有活跃的贡献者。
  • Apache(或nginx,或lighttpd):需要Apache 2.2.7以上版本。
  • MySQL:MySQL必需
  • PHP:需要PHP5.2以上版本
  • 域名(例如:phabricator.my.com)
  1. Phabricator的命令行接口-Arcanist,可以在Windows上正常运行。参考Windows下Phabricator Arcanist的安装与使用(官方页面:Arcanist User Guide: Windows)。
  1. LAMP: Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

二 安装必须的组件

Phabricator安装必须的组件包括

  • git (usually called "git" in package management systems)
  • Apache (usually "httpd" or "apache2") (or nginx)
  • MySQL Server (usually "mysqld" or "mysql-server")
  • PHP (usually "php")
  • 必须的 PHP 扩展: mbstring, iconv, mysql (or mysqli), curl, pcntl (these might be something like "php-mysql" or "php5-mysql")
  • 可选的PHP 扩展: gd, apc (安装该扩展如果有困惑,请看下面的APC安装说明), xhprof (仅在你对Phabricator做二次开发时需要)
    以上大部分组件在Ubuntu上可以通过脚本install_ubuntu.sh完成。
    ubuntu下获取文件的命令:
wget http://www.phabricator.com/rsrc/install/install_ubuntu.sh 
安装APC (可选)

如同所有写在PHP中的东西一样, Phabricator 在APC安装完毕后,运行会更快。你首先需要先安装“pcre-devel”:

sudo apt-get install pcre-devel

然后你有两个选择。一个是安装via PECL(需要首先测试一下)

sudo pecl install apc

如果它不工作, 在PECL文件夹中找到apc,然后按照以下指南操作:
http://pecl.php.net/package/APC

安装 APC 是可选的,但是这里 强烈推荐安装
一旦 APC 安装完成,测试就可以执行了:

php -i | grep apc

如果该命令无法执行,那就添加

extension=apc.so

到 "/etc/php.d/apc.ini" 或 "php.ini" 文件中。
可以通过

php -i

找到该文件。

三 获取phabricator及其依赖包

$ cd somewhere/ # pick some install directory
somewhere/ $ git clone https://github.com/phacility/libphutil.git
somewhere/ $ git clone https://github.com/phacility/arcanist.git
somewhere/ $ git clone https://github.com/phacility/phabricator.git

四 配置phabricator

1. WEB服务器:配置Apache

  • 设置一个域名指向你的主机
    Sudo Vim /etc/hosts
add:
    127.0.0.1 phabricator.my.com
  • 创建一个VirtualHost条目(放置Phabricator到一个二级域名上)
    进入站点配置目录
$ cd /etc/apache2/site-available/

该目录用于存放虚拟机的配置文件。
创建一个虚拟机的配置文件

$sudo vim phabricator.conf

添加如下内容:


  # Change this to the domain which points to your host.
  ServerName phabricator.my.com

  # Change this to the path where you put 'phabricator' when you checked it
  # out from GitHub when following the Installation Guide.
  #
  # Make sure you include "/webroot" at the end!
  DocumentRoot /path/to/phabricator/webroot

  RewriteEngine on
  RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
  RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
  RewriteRule ^/favicon.ico   -                       [L,QSA]

 # If Apache isn't currently configured to serve documents out of the
 # directory where you put Phabricator, you may also need to add
 #  section. 
  
               Options Indexes FollowSymLinks Includes ExecCGI
               AllowOverride None
               Require all granted

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

  1. 这里用的是默认端口80,要想通过其他端口(8080)访问,首先我们得让apache2监听端口该端口:
    修改/etc/apache2/ports.conf,增加:
    Listen 8080
保存编辑的配置文件后, 需要启用该配置。
    $ sudo a2ensite phabricator.conf
完成后他会提示你需要重新加载一些东西, 这里按照提示执行一下。
    $ sudo service apache2 reload
  • 重启Apache服务
sudo /etc/init.d/apache2 restart

重启时遇到如下问题时:


在ubuntu上搭建Phabricator 服务器_第1张图片

需要在/etc/apache2/apache2.conf配置文档中加入下面的一句:

ServerName 127.0.0.1:80

2.存储:配置MySQL

设置中,你需要配置MySQL。运行MySQL,验证是否能正常连接。如果有问题,请参考MySQL的帮助文档。如果MySQL正常工作,你需要加载Phabricator的模式,运行命令:

phabricator/ $ ./bin/storage upgrade

根据提示进行操作即可,将Phabricator的配置文件加载到mysql中。
如果你配置了一个无特权的用户以连接数据库,你将不得不重新设置为root用户或其他的管理员以使模式能被应用。

phabricator/ $ ./bin/storage upgrade --user  --password 

可以使用 -- force 参数来避免脚本进行提示,对mysql强行加载配置文件。

phabricator/ $ ./bin/storage upgrade --force

注意:每当Phabricator进行了更新,都需要运行storage upgrade。
每当server关闭后再次开启,需要重新启动phabricator。页面信息会提示你该怎么做。

3. 验收Phabricator

  • 在浏览器中输入域名,It Works!
在ubuntu上搭建Phabricator 服务器_第2张图片
It Works!
  • 客户端登陆
    在客户端hosts文件中添加
192.168.31.90(server IP)  phabricator.my.com

下一步

继续:

  • 设置你的管理帐号和登陆/注册,请参见 Configuring Accounts and Registration;
  • 了解更高级的配置主题,请参见 Configuration User Guide: Advanced Configuration;
  • 配置文件域,请参见 Configuring a File Domain;
  • 配置一个脚本来进行负载均衡配置,和限速配置,请参考Configuring a Preamble Script;
  • 配置上传的文件和附件的存储位置 Configuring File Storage;
  • 配置Phabricator以支持发送邮件 Configuring Outbound Email;
  • 配置Phabricator以支持接收邮件 Configuring Inbound Email;
  • 导入版本仓库,请参见Diffusion User Guide;
  • 了解守护进程工作,请参见 Managing Daemons with phd;
  • 通知学习,请参见 Notifications User Guide: Setup and Configuration;
  • 配置备份工作,请参见Configuring Backups and Performing Migrations;
  • 为Phabricator贡献力量,请参见 Contributor Introduction.

你可能感兴趣的:(在ubuntu上搭建Phabricator 服务器)