2018/2/6

something about phabricator

ref:diffusion Hosting

Some general tips for troubleshooting problems with HTTP:

  • Make sure diffusion.allow-http-auth is enabled in your Phabricator config.
  • Make sure HTTP serving is enabled for the repository you're trying to clone. You can find this in Edit Repository → Hosting.
  • Make sure you've configured a VCS password. This is separate from your main account password. You can configure this in Settings → VCS Password.
Make sure the main repository screen in Diffusion shows a clone/checkout command for HTTP.
If it doesn't, something above isn't set up correctly:
double-check your configuration.
You should see a svn checkout http://..., git clone http://... or hg clone http://... command.
Run that command verbatim to clone the repository.

If you're using Git, using GIT_CURL_VERBOSE may help assess login failures.
To do so, specify it on the command line before the git clone command, like this:
$ GIT_CURL_VERBOSE=1 git clone ...
This will make git print out a lot more information.


要是由 phabricator 來 host repository,他提供 SSH 和部份 HTTP 作為 repository 的 protocol
SSH 需要 user /password,HTTP 則允許匿名操作。

SSH

如果這個 repository 要用 SSH protocol

HTTP

要用 http protocol 的話,要先把 http_auth 打開。
在 repository 新增一個 git repository 後,直接選 active。就會產生一個 phabricator 自己 host 的 repository
然後在 repository 頁面,會看到 error : find no git-....-backend。
follow link:
I checked everything once again, and this particular issue with the binary not being found was caused by a bad symlynk in /support/bin.

The correct way was:

cd to ../phabricator/support/bin

sudo ln -sv /usr/lib/git-core/git-http-backend
After this the permission issues are solved.

等repo managenet 頁面都 OK,到 uri 可以看到 phabricator 產生了三個 uri link
到 repository 主頁面去 "clone" 就會出現clone link..

但是 clone 時,會問你 username 和 password。
這是你在 phabricator server 上的 username,
因為他不希望你把 http (VCS) password 和 login password 搞得一樣,所以在 user 的 setting 頁面,會有多一個 "VCS password" 讓你設定。
設好之後,就用這個做 clone 時的 password。


一堆問題

pha 自己 host repo 的問題很多,大多是權限問題,
要 follow 上面,有關這些 daemon 的 user 權限。
Creating System User Account 這一個 section 說的。
* www-user 就是指 web server 的 run user,用 nginx 的話,會是 "www-data" * daemon-user 就是指 phd 的 run user,為方便,就直接指定為 "root" * vcs-user 大概是指要由 ssh 提供 repo access 時的 username。 上面三個都要有 access git 的權限,所以要修改 sudoer:
www-data ALL=(root) SETENV: NOPASSWD: /usr/lib/git-core/git, /usr/bin/git, /var/lib/git, /usr/lib/git-core/git-http-backend, /usr/bin/ssh, /etc/ssh, /etc/default/ssh, /etc/init.d/ssh

另外,還用 config set user 把 phd.user 和 diffusion.vcs user 設為 root

另外,直接由 pha new git repo, active repo 的 empty repo 會沒有 master branch,
所以要先clone (repo 頁面的 clone button 有 url link) 下來,
$ git commit --allow-empty -m "init"
$ git push origin master
先在 pha 的 repo create master branch 後,再開始 clone.. edir,, arc...

沒有留言:

張貼留言