? ? ?首先說明,主要參考官方文檔以及陳曉偉? xiaowei@multicorewareinc.com翻譯的中文安裝使用指南。里面有我自己試驗探索出來的各種問題和解決方案。
? ? Phabricator是一個LAMP應用套件,因此最基本的要求就是LAMP環(huán)境,這是基礎,所以你能使用Linux、Mac OS 但是無法使用Windows來作為你的服務器。其他依賴項: APache(nginx、lighttpd)、MYSQL、PHP(>5.2)、git、PHP的擴展。
? ? 你可以選擇自己安裝各個依賴項組件,然后配置或者直接使用官方提供的安裝腳本,建議初次使用,搭建實驗和試用的使用安裝腳本,簡單方便。最好使用全新的系統(tǒng),免得干擾。
? ? ? ? ?lRedHat衍生版本:http://www.phabricator.com/rsrc/install/install_rhel-derivs.sh
? ? ? ? ?Ubuntu:http://www.phabricator.com/rsrc/install/install_ubuntu.sh
如果要自己搭建,請參照官方文檔說明:https://secure.phabricator.com/book/phabricator/article/installation_guide/
安裝完畢后,配置你的webserver,以后都以安裝腳本為例,使用的是Apache。修改 httpd.conf 加入 serverName localhost。 重啟Apache: service apache restart 或者 /etc/init.d/apache2 restart.
打開瀏覽器,在地址欄中輸入 你的服務器地址 http://你的服務器ip。看是否會出現“It works”的字樣,如果出現代表Apache運行正常。否則,就需要去查看一下httpd.conf是否配置正確了。如果 端口沖突,記得修改端口。
如果有問題,請查看Apache的幫助文檔。確保mod_php和mod_rewrite啟用,如果你設置SSL,請開啟mod_ssl模塊。這里得模塊都是默認開啟的。
如果你還沒有設置一個域名指向你將要安裝的主機上。你可以安裝Phabricator到一個二級域名(如phabricator.example.com)上或一個完整域名上,但你不能安裝到一個已經存在的網站的某個子目錄下。輸入你將要安裝到的域名以確保?Apache可以為其正常服務,并且DNS已經正確配置。
注意:域名必須包含點(.),而不只是一個名稱,如http://example/。否則,一些web瀏覽器將無法設置cookies。
現在,可以創(chuàng)建一個VirtualHost條目(放置Phabricator到一個二級域名上)或編輯Directory條目的DocumentRoot。將如下所示:
<VirtualHost*>
# Change this to the domain which points to your host.
ServerNamephabricator.example.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^/rsrc/(.*)- ? ? ? ? ? ? ? ? ? ? ? ? ?[L,QSA]
RewriteRule^(.*)$ ?/index.php?__path__=$1[B,L,QSA
RewriteRule^/favicon.ico- ? ? ? ? ? ? ? ? ? ? ? ? ? ? [L,QSA]
然后重啟apache,接著你可以在你的瀏覽器上看到phabricator頁面了。
?
是不是很開心,感覺勝利在望,只能說你圖樣,想多了,孩子。路還長著呢。看到上面的提示了么? 點擊issue列表,一個個的點擊去解決吧,每個都有提示的。可以按照提示解決,如果英文有問題,參照中文安裝手冊----http://wenku.baidu.com/view/b2fd127b312b3169a451a44a.html
配置中注冊是需要發(fā)送郵件的,如果是自己的服務器或者阿里云之類的,有2中選擇比較靠譜,
PhabricatorMailImplementationPHPMailerLiteAdapter : 默認的,只需要給服務器安裝 sendmail服務即可,但是有個問題,郵件名是使用默認的,可能會被自己公司反垃圾郵件給屏蔽了,接受不到郵件。
PhabricatorMailImplementationPHPMailerAdapter: 利用SMTP去使用大家廣泛使用的郵箱,例如163、QQ、Sina、SoHO等,但是記得在上述郵箱中打開響應設置。
配置完成了,重啟PHD,然后你發(fā)現,能創(chuàng)建用戶了,能登錄系統(tǒng)了,能點擊各種按鈕,現在可以使用其他的功能,但是你創(chuàng)建repository之后,無論是 git hg svn 都各種失敗,所以來說說怎么配置這個地方,這個地方,官方文檔講的比較模糊,而且中文文檔也只是翻譯,很多沒說清楚,至少我這么認為的。
首先PHA(表示phabricator,以后就這么縮寫了)支持2中方式:SSH 和 HTTP。支持3中代碼版本管理:Git、SVN、Mercurial(hg)。
參照官方文檔:https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/
里面提到3種用戶賬號,其中 daemon-user 用來啟動守護進程phd,建議直接用root,因為他需要root權限,否則你需要新建一個,并且給此用戶root權限。
www-user這個如果是使用安裝腳本,apache已經有了 www-data 就是,每個系統(tǒng)可能會有差別,記住這個就是 apache 的啟動用戶,如果自己配置的,查看配置,使用nginx的自己查看,啟動nginx的用戶。
最后一個vcs-user 這個是用來啟用ssh的,基本需要自己手動創(chuàng)建一個新的用戶。
接著配置 /etc/sudoers,這里有幾點要注意: 一個是 路勁, vcs用戶的git-upload-pack等的路徑需要注意,因為PHA有的 environment.path-bin的配置項,里面有path路徑,如果你配置的路徑不包含在里面,貌似會有問題的。 最好自己多用命名查看下。另外一個是 www用戶 git-http路徑,文檔直接給的 /usr/bin/git-http-backend. 但是我的系統(tǒng)里面沒有這個文件,于是我修改到我的 git-core 路徑去了,但是各種不起作用,最后我在 /usr/bin 下面建立了一個軟連接才成功。
需要將phd.user設置為daemon-user:phabricator/$ ./bin/config set phd.user daemon-user
SSH配置比較麻煩,容易出錯,如果不配置就沒辦法使用 ssh的形式來clone代碼。
移動SSHD端口, 必須要配置,我在這里費時很久,我開始以為這個只是多一個守護進程,可以使用默認的22端口,一點也不影響,結果就是ssh各種不成功,提示的錯誤也是千奇百怪,一直調整各種配置。 這里修改端口的意義,在于區(qū)分 普通正常的ssh到服務器和使用PHA的ssh clone代碼。 建議用文檔的方式,安全一點,其實就是 修改 sshd_config的 Port 屬性,然后 service ssh restart。
配置并啟動Phabricator SSHD。這個按照文檔走就行,比較簡單,如果不復制,直接使用原文檔,修改下也行的。注意里面的 user 要修改成你自己新建的VCS用戶。然后啟動 sshd。 這里使用SSHD命令的時候,注意是用絕對路徑/usr/sbin/sshd
如果成功,在你的其他機子,添加 ssh 公鑰到 PHA系統(tǒng)的 Setting面板,這樣你就可以測試了。
$ ssh -T dweller@secure.phabricator.comphabricator-ssh-exec: Welcome to Phabricator.You are logged in as alincoln.You haven't specified a command to run. This means you're requesting aninteractive shell, but Phabricator does not provide an interactive shell overSSH.Usually, you should run a command like `git clone` or `hg push` rather thanconnecting directly with SSH.Supported commands are: conduit, git-receive-pack, git-upload-pack, hg,svnserve.
哦對了,如果使用 http,要在 setting頁面去創(chuàng)建 VCS Password。這個要和登錄密碼不一樣,如果使用 用戶名\密碼方式認證登錄的話。
到這里,整個系統(tǒng)就可以使用,包含代碼版本管理,代碼審查、bug和問題跟蹤、團隊合作。