沒記錄起來,下次就忘記了,記憶力越來越不可靠了。
「arch linux」安裝 APACHE + Mercurial
「Apache 」
「arch linux」安裝 APACHE + Mercurial
「Apache 」
- 參考:https://wiki.archlinux.org/index.php/LAMP
- fastcgi 順便安裝進去 記得要在 /etc/httpd/conf 加入
- LoadModule fastcgi_module modules/mod_fastcgi.so
「 Mercurial」
- 安裝 Mercuial
- pacman -S mercurial
- 查詢安裝位置,可以發現他的lib都放在 /usr/lib/python2.7/site-packages/mercurial/
- pacman -Ql mercurial
- 建立hgwebdir.cgi ,arch 沒有像ubuntu 有附 hgwebdir.cgi範例,最後找了老半天
- python2.7 是對應 剛剛查的lib路徑裡面的python版本
#!/usr/bin/env python2.7
from mercurial import demandimport; demandimport.enable()
import cgitb
cgitb.enable()
import os
os.environ["HGENCODING"] = "UTF-8"
from mercurial.hgweb.hgwebdir_mod import hgwebdir
import mercurial.hgweb.wsgicgi as wsgicgi
application = hgwebdir('hgweb.config')
wsgicgi.launch(application)
- 之後建立 hgweb.config
- colletions 是你WEB的HG專案的位置,小弟是直接同步到Dropbox作備份了。
[collections]
/home/cake/Dropbox/jeff/Project/ = /home/cake/Dropbox/jeff/Project/
[web]
style = gitweb
allow_push = *
push_ssl = false
#allow_read = cake
[trusted]
users = *
#groups = *
[hooks]
#changegroup = hg update
- 建立好的2個檔案 hgwebdir.cgi 和 hgweb.config 需要在同個目錄,
- 檔案位置 看喜歡放在哪裡都行,不過不要弄丟了,權限也要設好。
- 小弟放在 /srv/hg/cgi-bin/
- 建立虛擬目錄 編輯/etc/httpd/conf/httpd.conf 或者 你的設定檔
- 目錄要按照CGI自己的放的位置
- ^/hg(.*) 則是網址
- AuthUserFile 使用者檔案
ScriptAliasMatch ^/hg(.*) /srv/hg/cgi-bin/hgwebdir.cgi$1<Directory /home/cake/public_html/hg/cgi-bin/>Options ExecCGI FollowSymLinksAllowOverride NoneAddHandler cgi-script .cgi</Directory><Location /hg/>AuthType DigestAuthName "mercurial"#AuthDigestProvider fileAuthUserFile /srv/hg/hgusers</Location>
詳細參考:http://kevinjalbert.blogspot.com/2010/05/mercurial-setup-guide.html
2013 - 03/10 - 更新
關於APACHE CONFIG 設定 ,多那黃色的三行 就行跑。
<VirtualHost *>
ErrorLog "/srv/apache_error_git.log"
#cx hgwebdir.cgi /srv/hg/cgi-bin
#ScriptAlias /hg "/srv/hg/cgi-bin/hg.cgi"
ScriptAliasMatch ^/hg(.*) /srv/hg/cgi-bin/hg.cgi$1
<Directory /srv/hg/cgi-bin/>
Options ExecCGI FollowSymLinks
AllowOverride None
AddHandler cgi-script .cgi
Order allow,deny
Allow from all
Satisfy all
</Directory>
<Location /hg/>
AuthType Digest
AuthName "mercurial"
#AuthDigestProvider file
AuthUserFile /srv/hg/hgusers
</Location>
</VirtualHost>
2013 - 03/10 - 更新
關於APACHE CONFIG 設定 ,多那黃色的三行 就行跑。
<VirtualHost *>
ErrorLog "/srv/apache_error_git.log"
#cx hgwebdir.cgi /srv/hg/cgi-bin
#ScriptAlias /hg "/srv/hg/cgi-bin/hg.cgi"
ScriptAliasMatch ^/hg(.*) /srv/hg/cgi-bin/hg.cgi$1
<Directory /srv/hg/cgi-bin/>
Options ExecCGI FollowSymLinks
AllowOverride None
AddHandler cgi-script .cgi
Order allow,deny
Allow from all
Satisfy all
</Directory>
<Location /hg/>
AuthType Digest
AuthName "mercurial"
#AuthDigestProvider file
AuthUserFile /srv/hg/hgusers
</Location>
</VirtualHost>