Phabricator的安装与配置by Lyn
2016/08
写在前面的话:
第一次发这种技术帖,小白表示内心激动不已。(毕竟在这之前从来没有接触过LAMP,cmd也没怎么碰过。能够在短时间内成功配置好,还是很开心滴)
整个过程中遇到很多问题,有时候也会出现一个issue怎么也解决不了的情况。好在有教程、各大论坛和谷歌的帮助,最终还是完成了任务。我觉得特别重要的一点是,一定要仔细看官方文档,这里面基本考虑到所有可能出现的问题;弄明白问题出在哪后,再有针对性地去网站上具体的措施,一般都能解决问题的。
但我在浏览网站时也发现,国内对Phabricator的需求逐渐扩大,但就百度能获取的结果看,这方面的资源十分有限。因此,为了给有此需求的广大同胞们提供一点参考,同时表达对那些无私分享者的敬意,我将安装配置过程中的一些经验心得进行了归纳,整理成这份文档。
---------------------------------------------------------
以下安装配置过程,主要参考官方文档和Phabricator使用指南(中文版),也参考了许多网站,在文档旁都有注明。
官方文档入口:secure.phabricator/book/phabricator/git设置用户名和邮箱
此外,www.oschina/question/191440_125562?fromerr=iTYHPdlL也有较为简略的说明。
目录
安装篇 (3)
配置篇 (3)
1. 配置Apache (3)
2. 配置MySQL (6)
3. Setup issues (7)
4. 配置除管理员外的账户 (8)
5. 导入代码库 (8)
6. Differential (10)
7. 安装、配置Arcanist (11)
8. Arcanist的使用 (12)
安装篇
安装环境:LAMP环境,所以无法使用Windows来作为服务器。其他依赖项:APache (nginx、lighttpd)、MYSQL、PHP(>5.2)、git、PHP的扩展。
1.采用官方提供的脚本安装,不用自己下其他软件,很方便。唯一要注意的是是安装
MySQL时最好将密码设为空,不然以后很有可能要手动删除。
注:我第一次下载时不知道为什么没有跳出输入密码的提示,后来卸了MySQL重装时就有提示了,具体原因可能是一开始的安装账号不是管理员账号,然后sudo之后它自动把这个密码设为MySQL的密码,所以建议用管理员账号安装脚本。然后卸载MySQL 时也要卸干净,网上教程很多,这里就不详细展开了。
2.没有安装APC,据文档说法是安装之后会变快。
配置篇
1.配置Apache
这里要注意,由于中文版教程对应的是较早的版本,实际配置情况出入较大,而官方教程非常不详细,需要仔细研究。
a.要确保mod_rewrite和mod_php是开启的。一开始配置时我以为mod_rewrite是默认开启的,结果了半天才出问题。另外,本服务器mod_ssl我没有配置过,要配置ssl就一定要开启,这台服务器上么,恩,或许是开启的吧。
b.设置域名(domain name)。可能是因为公司的网有限制还是其他什么原因,配置好后,输入相应网址永远显示dns无法解析,开其他网页也会这样。最后就放弃域名设置了。(好像也不是很重要?可能在后面配置邮箱时会涉及到)
c.设置http
注:Apache版本更新后,它的文件归类和以前不一样了,大致就是分成conf,mods,sites三类,然后每类都有两种available和enabled,点进去会发现-enabled文件夹含有的是链接到-available文件夹的软链接文件,也就是说,真正起作用的,是-enabled文件夹。而f通过-enabled文件夹再来调用这些.conf的配置。
这里我在sites-available文件夹下创建了f(当然也可以是f文件),代码如下:
<VirtualHost *:80>
ample
DocumentRoot /home/buildmgr/user/phabricator/webroot
RewriteEngine on
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^/(.*)$ /index.php?__path__=/$1 [B,L,QSA]
<Directory "/home/buildmgr/user/phabricator/webroot">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted //注意这里和官方文档有出入,不知道会不会有影响
</Directory> //Directory最好包括在VirtualHost里面
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined //同上,官方是没有这两句的
</VirtualHost>
创建完conf文件后,再去掉sites-enabled文件夹里的默认000-default软链接,增加一个连接到我们刚写好的f的软链接,至于原来的sites-available文件夹里的f文件,不用删除也可以,因为它已经失效了。最后,记得重启apache服务:service apache restart 或/etc/init.d/apache2 restart。
注:要是有”http could not reliably determine the server's fully qualified ”报错,记得在f文件末尾加上ServerName localhost:80
d.如果有设置域名,还要去/etc/hosts文件下增加对域名的映射,配置完后还要记得重启网络服务,具体见中文版教程。
到这一步,根据官方文档,就可以输入网址看到phabricator的真面目了。但是,实际情况是,无论试多少遍,输入127.0.0.1,跳出来的都是APache默认的It works界面,这让我一度以为自己前面的配置有误......恩,根据我的血泪教训,一切还是要等到MySQL配置好才行,所以我们还是来配置MySQL吧。
2.配置MySQL
(建议参考liuzhichao/p/1981.html)
在配置MySQL前,要确认一下php是否安装成功,可以通过写一个test.php查看pipinfo来验证,具体方法可以百度,采用脚本安装一般不会有什么问题。
清除MySQL密码后,在phabricator/ 下运行 ./bin/storage upgrade,会跳出类似”Unable To Connect: Attempt to connect to root@localhost failed with error #1045: Access denied for user 'root'@'localhost' (using password: NO)”的提示,在网上逛了一圈,出现这种报错的情况非常普遍,其原因也很简单:没
有设置MySQL 账户。
这里我强烈建议把密码设为空,一开始我设置了其他密码,于是上面提示中的”NO”变成了”YES”,但死活不给upgrade。最后,我了好久,才在Stackoverflow中一个帖子看到应该将设置密码为空,这才算解决了这个问题。
phabricator/ $ ./bin/config set mysql.host localhost #默认为localhost 可不设置phabricator/ $ ./bin/config set mysql.port 3306 #默认为3306
phabricator/ $ ./bin/config set mysql.user root #默认为root
phabricator/ $ ./bin/config set mysql.host ””
(我个人觉得这里是在MySQL里配置相应的Phabricator的库,所以,如果前面安装脚本时设了密码,而这里配置相同的密码,是不是也可行呢?反正我没有实践过)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。