リポジトリの初期設定 その1
まずはメインになるサクラ側
$cd repos/jdi $hg init
リポジトリ基本設定と公開設定を.hg/hgrcファイルに記述
#Owner設定 [ui] username=owner #Web設定 [web] #pullの許可 allowpull=true #pushのアクセス権設定[許可ユーザのIDを記述(全許可の場合は*)] allow_push = allow_user #push時にsslを必須とする push_ssl = true #アーカイブのダウンロード許可[許可する形式を記述] allow_archive = gz, zip #Webページを見れなくするかどうか hidden=false #リポジトリの名前 name = Just-Do-It #リポジトリの説明 description = Repository of Just-Do-It #サイトのスタイルの指定 style = gitweb
pushされたくないファイル設定を.hgignoreに記述
syntax: glob *.pyc *.pyo *.o .hgignore .project .setting *.swp
リポジトリ公開用ディレクトリを作成してmercurialパッケージからhgweb.cgiをコピーする。その際にindex.cgiに書き換えておく
ファイルをコピーしたらindex.cgiの次の箇所を環境に合わせてPythonのライブラリへのパスに書き換え
import sys sys.path.insert(0, "/path/to/python/lib")
ついでに次の箇所をコメントアウトしとくとよさそう
import os os.environ["HGENCODING"] = "UTF-8"
最後にリポジトリへのパスを設定して完了
application = hgweb("/path/to/repository", "app_name") wsgicgi.launch(application)
お好みで.htaccessを使ってアクセス制限をしても良いかも
#基本設定 DirectoryIndex index.cgi # サクラでは以下の設定は不要 # AddHandler cgi-script .cgi # Options ExecCGI Order allow,deny Allow from all #アクセス制限設定 # PUSHのみを制限、PULLも制限する場合はを外す Require valid-user AuthType Basic AuthName "Input ID / Password" #認証用の.htpasswdファイルを指定 AuthUserFile /path/to/htpasswd/.htpasswd
上記はpushのときだけ認証する設定。
環境によってはntlm認証やらldapやらで統合認証とかも可能でした。