Ubuntu下安装配置Phabricator,参考官方文档。
前提条件是安装lamp或是lnmp
有安装脚本如下:
RedHat Derivatives: http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh
Ubuntu: http://www.phabricator.com/rsrc/install/install_ubuntu.sh
以上如果安装顺利,需要检查php安装
<?php
phpinfo();
?>
主要检查php.ini 文件所在目录,是否安装pcntl扩展。
cd somewhere/ # pick some install directory somewhere/ $ git clone git://github.com/facebook/libphutil.git somewhere/ $ git clone git://github.com/facebook/arcanist.git somewhere/ $ git clone git://github.com/facebook/phabricator.git
以上三个目录要在一个目录内
Updating Phabricator
更新脚本如下,也可手动更新。
http://www.phabricator.com/rsrc/install/update_phabricator.sh
配置apache
需要修改的片段如下:
DocumentRoot /mnt/phabricator/webroot/
<Directory /mnt/phabricator/webroot/>
DirectoryIndex index.php
OptionsFollowSymLinks
AllowOverrideNone
Requireall granted
</Directory>
RewriteEngineon
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
导入数据库
./bin/storage upgrade --user <user> --password <password>
启动deamon,重启apache2
./bin/phd start
service apache2 restart
一切顺利的话就可以访问页面了
如果是第一次安装的话不会一帆风顺的,通常会出现各种报错:
错误一:启动deamon会报错pcntl_fork() has been disabled for security reasons 或不可用,
主要检查 pcntl扩展是否安装启用,详见我的另一篇博客,以为要检查php.ini文件disable_function设置 ,是否禁用的某些pcntl函数.
通过命令 find / -name 'php.ini ' 文件 ,可能有多个
deamon使用php-cli命令行的php库,已可能有 php.ini ,也需要修改
./bin/storage upgrade --user <user> --password <password>
错误二:数据库连接不上 ,提示使用密码 no password
还会提示你通过命令行修改
命令行如下形式
bin/config set
执行完命令行后重启apache和deamon
错误三:
Failed to load class or interface 'PhutilRemarkupEngineRemarkupHorizontalRuleBlockRule': the class or interface 'PhutilRemarkupEngineRemarkupHorizontalRuleBlockRule' is not defined in the library map for any loaded phutil library. If this symbol was recently added or moved, your library map may be out of date. You can rebuild the map by running 'arc liberate'. For more information, see: http://www.phabricator.com/docs/phabricator/article/libphutil_Libraries_User_Guide.html
libphutil库是phabricator要使用的基础库,libphutil和phabricator位于同一层目录
解决了这些问题就可以看到注册界面,注册账号进入系统。