Phabricator是一个LAMP应用套件,因此最基本的要求就是LAMP环境:
• Linux:Linux的不同发行版及变种是必需的。MacOS X是一个可接受的Linux变种,Windows不是。Phabricator不能安装在Windows系统上。在Mac OS X,Amazon Linux,Ubuntu,RHEL和CentOS上运行的Phabricator有活跃的贡献者;如果你运行在其他的Linux发行版上,请发送补丁或 投诉。
• Apache(或nginx,或lighttpd):需要Apache 2.2.7以上版本。
• MySQL:MySQL必需
• PHP:需要PHP5.2以上版本
• git(在包管理系统中通常叫作git)
• Apache(通常叫作httpd或apache2)(或nginx)
• MySQL服务器(通常叫作mysqld或mysql-server)
• PHP(通常叫作php)
• 必需的PHP扩展:mbstring,iconv, mysql (或 mysqli),curl, pcntl (或者 "php-mysql"或"php5-mysql")
• 可选的PHP扩展:gd, apc (安装该扩展如果有困惑,请看下面的APC安装说明), xhprof (下面有说明,仅在你对Phabricator做二次开发时需要)
1、找一个干净的linux虚拟机系统(ubuntu14),也就是只装了操作系统,别的都还没安装
2、执行wget http://www.phabricator.com/rsrc/install/install_ubuntu.sh
这里还要注意的是在安装mysql时,会有几次让你输入root密码的提示。这里推荐将密码设置为空,以方便后面的使用
① 修改/etc/apache2/apache2.conf文件:
② 修改/etc/apache2/ports.conf
③ 在/etc/apache2/sites-available/文件夹中添加文件phabircator.conf
④ 修改配置后重启apache:
a2dissite 000-default
a2ensite phabricator
/etc/init.d/apache2 restart
① 运行命令:
cd/home/phabricator
./bin/storageupgrade --force
配置完mysql后,登录phabricator对应的地址https://IP(https://192.168.205.170),看是否能正常工作
进入phabricator的主页面,在浏览器上部会出现如下图显示
点击“you have 9unresolved setup issues..”进入issue页面(具体有几个issue可能不确定)。可以看到issue如下图所示。
然后一一解决他们。
这是比较重要的问题,不解决的话无法正常使用phabricator
点击进入issue页面 → 点击“using the "Auth"application” →点击"Add AuthenticationProvider",可以看到如下页面。
选择一种登陆或身份验证方式。这里我们选择“用户名/密码”的方式。确认添加后进入下一页,将所有选项都进行勾选(默认),也可以是根据需要进行设置。这里有一个最短密码长度的设置account.minimum-password-length,可以在之后进行设置。当再次确认后,登陆方式就被确认应用了。再次刷新页面,这个issue就被修复了。
如果登录后未修改该问题,那管理员就登不上系统,输入命令:
./bin/auth recover 管理员(zzh)
点击进入issue页面 就会出现下图所示的内容。
这个issue的解决办法:
在/etc/mysql/my.cnf中的 [mysqld]字段下面即可,类似这样:
[mysqld]
#
# * Basic Settings
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
sql-mode=STRICT_ALL_TABLES
skip-external-locking
….
然后使用 /etc/init.d/mysql restart 重新启动mysql,使刚才的修改
时区的配置是很重要的。php默认显示的时间都是格林威治标准时间,和北京时间差了正好8个小时。点击进入issue页面,会出现如下图的显示:
如图中说的,这里需要配置两个地方。
第一个地方:
修改/etc/php5/apache2/php.ini配置文件,在[date]字段后面找到被注释掉的“;date.timezone = ”,将注释打开。
但是填什么这是个问题。这里我们就要看一下页面中给出的“PHP Documentation”了。
打开“PHP Documentation”页面,找到“date.timezone”字符,点击进入对应页面。
随后打开的页面支持“简体中文”显示,
如果英文不太好的同学就可以在这里找“所支持的时区列表”
如果英文没问题的同学直接找“List of Supported Timezones”
两个连接其实是一个,点击进入后,在页面的上部就有对应支持区域的连接,这里是“七大洲”+“太平洋地区”+“大西洋地区”+“其他”组成的。我们需要按照自己服务器所在地域来对时区进行设置。
我们这里选择Asia(亚洲),页面跳转后,可以看到一些知名城市的名字。这些城市里面,中国的城市有:(按页面中的出现顺序)
Asia/Chongqing (重庆)
Asia/Harbin (哈尔滨)
Asia/Hong_Kong (香港)
Asia/Macao (澳门)
Asia/Shanghai (上海)
Asia/Taipei (台北)
Asia/Urumqi (乌鲁木齐)
所以,配置文件中写成date.timezone= Asia/Shanghai 即可。大家也可以根据自己的实际情况,对时区进行配置。
note1:网络上说是设置成“PRC”(中华人民共和国)也没有问题,不过在文档中,我们没有看到。保险起见,我们使用了Asia/Shanghai。
note2:很奇怪,文档里面没有北京
第二个地方:
再就是对phabricator的时区进行设置,点击“Edit phabricator.timezone”进入对应页面,在“Value”栏中输入“Asia/Shanghai”。然后保存设置即可。
这个在后期的管理以及对数据的备份上是比较重要的。
点击issue进入对应页面:
之后点击“Edit storage.upload-size-limit”,在“Value”栏中填写你认为适当的大小,例如下图所示:
大家可以根据自己的需要进行配置。配置完成后,保存即可。
这个库不是用户的库,是Phabricator存储一些必要依赖文件的库。
点击issue,进入对应页面,会出现如下图所示的内容:
这里是Phabricator的默认地址,如果/var/repo/这个地址已经被其他的软件使用或者你想把他放到别的地方,可以点击“Editrepository.default-local-path”对其进行地址配置。
因为我们使用的是一个刚装好的系统,所以不存在/var/repo/这个目录,也不存在被占用的情况。我们就直接去创建它,然后刷新页面,这个issue也被修复了。
守护线程的开启对于Phabricator,意味着可以启动后台程序。而且在运行Phabricator,也需要开启该守护进程
在phabricator安装目录下的bin目录下执行phabricator/bin/ # ./phd start 后,出现一下提示代表守护线程已经被开启。
Preparing to launch daemons.
NOTE: Logs will appear in'/var/tmp/phd/log/daemons.log'.
Launching daemon "PhabricatorRepositoryPullLocalDaemon".
Launching daemon"PhabricatorGarbageCollectorDaemon".
Launching daemon"PhabricatorTaskmasterDaemon".
Launching daemon"PhabricatorTaskmasterDaemon".
Launching daemon"PhabricatorTaskmasterDaemon".
Launching daemon "PhabricatorTaskmasterDaemon".
Done
刷新页面后,这个issue也就被修复了。
输入命令:phabricator/ $./bin/accountadmin
phabricator/$ ./bin/accountadmin
Enter a username to create a new account or edit an existing account.
Enter a username: test
There is no existing user account 'test'.
Do you want to create a new 'test' account? [Y/n] Y
Enter user real name: wang
Enter user email address: [email protected]
Enter a password for this user [blank to leave unchanged]:
Should this user be a system agent? [y/N] N
Should this user be an administrator? [y/N] N
ACCOUNT SUMMARY
OLD VALUE NEW VALUE
Username test
Real Name wang
Email [email protected]
Password Updated
System Agent N N
Admin N N
Save these changes? [Y/n] Y
Saved changes.
① 在创建之前,一、确保守护进程有开;二、确保服务器上svn有安装
② 点击菜单“Diffusion”:
③ 在Diffusion模块下点击右上角的“New Repository”按钮:
④ 在Create or Import Repository 页面中选择第二个
⑤ 选择Repository Type
⑥ 输入自定义的库名称
⑦ 设置Repository Root
Repository Root不一定是svn路径的全名,可以使用svn info去获取
⑧ 添加svn账号密码
⑨
⑩
⑪ 修改Subversion的UUID和Import Only
UUID从svn info获取
最后,点击Activate Repository就可以了
① 点击菜单Projects
② 点击Projects页面中右上角的“Create Project”按钮
③ 创建项目
保存完后就创建成功了。
① 点击菜单Maniphest
② 点击页面右上角的“Create Task”
③ 输入任务详情
点击Create Task,任务就创建好了