TortoiseHgを使ってWindowsマシンをMercurialのリポジトリサーバにする
TortoiseHgはmercurialのサーバ機能を内蔵しているので、そのままリポジトリサーバになります。
TortoiseHgをリポジトリサーバにする
1.Workbenchを起動して適当なリポジトリを選択後、メニューから「リポジトリ」「ウェブサーバー」を選択します。
2.この状態ですでに8000番ポートでサーバーが起動しています。とりあえず停止します。
3.選択したリポジトリがルートで起動しているので、編集ボタンをクリックして名前を付けます。
4.プラスボタンを押して公開するリポジトリを追加します。
6.さて、この状態でサーバを起動してアクセスしてみましょう。
複数のリポジトリが公開できました。
アクセス制限する(Apacheを利用)
TortoiseHgでサーバを起動した時点では誰でもpush出来てしまう危険な状態になっています。アクセス制限を設定していきます。
1.TortoiseHg側でアクセス制限を行う。
TortoiseHgの設定で「ファイルを開く」を選択します。ここでは次の設定を行います。
[web] #push_ssl = True push_ssl = False address = 127.0.0.1
2.Apache側の設定を行う
Windows版のApacheをインストールして、Aapache側でアクセス制限を行います。リポジトリサーバーへはApache経由でアクセスします。
Apacheで認証を行っているのでhtpasswd以外にLDAP等も使えます。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so Listen 8080 NameVirtualHost *:8080 <VirtualHost *:8080> ServerName hg.example.com # 公開するサーバ名 ProxyPass / http://localhost:8000/ ProxyPassReverse / http://localhost:8000/ <Location /blockdiag> # /blockdiagのみアクセス制限を行う。 AuthType Basic AuthName "Mercurial Repository Server" AuthUserFile "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/conf/blockdiag-passwords" # htpasswdのファイル Require user troter # アクセスを許可するユーザ名を列挙 </Location> </VirtualHost>