ヘッダーのこのような古風な数字に混乱するかもしれませんが、私の仕事でw2k3とmssql2000をまだ使用しているのは私だけではないと思います。 理由は簡単です。購入して動作するときに何かを購入する理由です。 w2k3とw2008の短所/長所の説明を省略することを提案します。 一方、私は進歩することを知らず、最近私の仕事で水銀を使用しています。 そして今、内部サーバーを上げる必要がありましたが、ヘッダーからも同じことがあります。 これについては、hg serveについてではなく、本格的なhgwebについて説明します。 この記事が登場したのは、それが機能するまで丸一日かかったからです。 しかし、ロシア語での段階的な指示は見つかりませんでした。 そして、英語は数十ドルではありません。
ご注意 すべての操作は、Mercurial 1.8.3、Python 2.6.6、およびx86アーキテクチャに関するものです。 Mercurialの他のバージョンについては、コンパイルされたバージョンのPythonを使用する必要があります(オフサイトMercurialを参照)。
設置
- Mercurialをダウンロードしてインストールします。
- Pythonをダウンロードしてインストールします。
- hgweb.cgiを取得します 。 2つの方法があります。必要なファイルは、ディレクトリのルートにあります。

- Mercurialが配置されるフォルダーを作成します。 私の場合、これは
C:\Inetpub\hg
です。 - library.zipファイルを、Mercurialがインストールされているディレクトリ(デフォルトでは
C:\Program Files\Mercurial\library.zip
)からこのフォルダーに解凍します。 - そこから、 テンプレートフォルダー(デフォルトでは
C:\Program Files\Mercurial\Templates
)をコピーします。 - 最後に、 hgweb.cgiファイルをこのディレクトリにコピーします。
カスタマイズ
ここで、Pythonを有効にして.cgiを実行する必要があります。
- インターネットインフォメーションサービスマネージャーを開く
- [Webサービスの新しい拡張を追加...]をクリックします。
- 開いたウィンドウで、拡張機能の名前を入力します。 私はそれをPythonと呼んだ。
- [追加]ボタンをクリックし、開いたウィンドウで実行可能ファイル
C:\Python26\python.exe -u "%s" "%s"
へのパスを入力しますC:\Python26\python.exe -u "%s" "%s"
; - 「拡張状態を「許可」に設定」チェックボックスを設定します。

- その結果、Python Web拡張機能があります

次に、Mercurialが置かれているフォルダーの仮想ディレクトリを作成し(「実行(ISAPIまたはCGIアプリケーションなど)daw」をインストールして)、. cgiスクリプトを実行できるようにする必要があります。 これを行うには、次のものが必要です。
- [アプリケーション設定]セクションの[仮想ディレクトリ]タブにある仮想ディレクトリのプロパティで、[設定]ボタンをクリックします。

- 開いたウィンドウで、上部のボタン「追加...」をクリックします。
- 開いたウィンドウで、実行可能ファイル
C:\Python26\python.exe -u "%s" "%s"
へのパスを入力しますC:\Python26\python.exe -u "%s" "%s"
、拡張子名.cgi
、コマンドはGET,HEAD,POST
に短縮され、Script Script .cgi
インストールされていることを確認し.cgi
;

追加された.cgi
:

- すべてのオーケーをクリックします。
これで、Pythonのパフォーマンスを確認できます。 スクリプトを作成します。
print 'Status: 200 OK' print 'Content-type: text/html' print print '<html><head><title>Python test</title></head>' print '<body><h1>!</h1></body>' print '</html>'
test.cgi (
C:\Inetpub\hg\test.cgi
)のように、Mercurialを使用してフォルダーに保存します。 ブラウザーを開いて、以下を見てください。

Mercurialの構成
次に、Mercurial自体を設定する必要があります。
hgweb.cgiがあるフォルダーで
、hgweb.configファイルを
作成します。
ご注意 hgweb.cgiは、ANSIエンコードhgweb.configでのみ機能しました。 UTF-8では、解析エラーがクラッシュしました。
次に、エディターで
hgweb.cgiを開き、構成ファイルへのパスを指定します。
#リポジトリへのパスまたは提供するhgweb設定(「hg help hgweb」を参照)
config = "/ path / to / repo /または/ config"
この場合、ファイルは近くにあり、次のように簡単に記述します。
#リポジトリへのパスまたは提供するhgweb設定(「hg help hgweb」を参照)
config = "hgweb.config"
発生する可能性のあるエラーを確認するには、次の行のコメントを解除できます。
#エラーが発生した場合、ブラウザーにPythonトレースバックを送信するためにコメントを外します。
cgitbをインポートします。 cgitb.enable()
エディターで
hgweb.configを開き、次を追加します。
[ウェブ]
allow_push = *
push_ssl = false
これらの行を使用して、
すべてのユーザーがsslを使用せずに変更を追加できるようにしました。
ブラウザーで確認します。

マーキュリアル作品! しかし、単一のリポジトリはありません...
リポジトリの追加
ここではすべてが簡単です。リポジトリが配置されるディスク上にディレクトリを作成し、その中の各リポジトリのディレクトリを作成する必要があります。 コマンドラインから実行します。
C:\ Documents and Settings \ admin> cd .. \ ..
C:\> mkdirリポジトリ
C:\> cdリポジトリ
C:\ Repos> mkdirテスト
C:\ Repos> hg init test
hgweb.configで 、リポジトリへのパスを指定する必要があります。 これを行うには、次を追加します。
[パス]
テスト= C:\リポジトリ\テスト
ブラウザでF5キーを押して、リポジトリを確認します。

リポジトリにパスを毎回手動で追加しないために、コレクションへのパスを指定できます。
[コレクション]
C:/リポジトリ= C:/リポジトリ
その後、Reposディレクトリのすべてのリポジトリが自動的に表示されます。
美しさのために、Webページのデザインを追加します。
[ウェブ]
スタイル=モノブルー
allow_push = *
push_ssl = false
Monoblueは、
C:\Inetpub\hg\Templates
フォルダにあるテンプレートの1つです。 最初は、フォルダには石炭、gitweb、monoblue、paperの4つのテンプレートしかありません。 ただし、独自に簡単に作成できます。 水銀テンプレートについては
こちらをご覧ください 。
少し甘やかし、あなたはすでに何かを見ることができます:

美しいURL
私はそれを認める、私は部分的にそれをやった...
http://localhost/hg/hgweb.cgi/Test/
コーシャではないようです。 したがって、HeliconのISAPI Rewriter 3の無料バージョンをダウンロードし、インストールしてISAPI Rewriteマネージャーを開き、[編集]ボタンをクリックします。

ルール
RewriteRule /hg/(.*) /hg/hgweb.cgi/$1 [I,O]
を追加し
RewriteRule /hg/(.*) /hg/hgweb.cgi/$1 [I,O]
ルールは機能し、URLは美しくなりましたが、ページはHTMLコードで表示されました <link rel = "stylesheet" href = "/ hg / hgweb.cgi / Test / static / style-monoblue.css" type = "text / css">
そして、それに応じて、スタイルは適用されませんでした...私はそれを克服しませんでした。
おわりに
その結果、内部Mercurialサーバーがあります。 しかし、数日間使用した後、別の質問が生じました-リポジトリの管理...現時点では、サーバーに登ってリポジトリのディレクトリを作成し、それらを
hgweb.configに登録する必要があり
ます 。これは当社にとって受け入れられますが、あまり便利ではありません。 理想的には、これはbitbucket.orgなどのWebクライアントです。
参照資料
1.
WindowsでMercurialを実行する -シンプルですが、十分ではありません。 古い記事、2009年6月7日
2.
Windows / IIS / Active Directory環境でのMercurialのセットアップと構成 -4つの記事の優れたしかしけちなコレクション:1)インストール、2)Urlの装飾、3)Active Directoryの固定、4)Webページテンプレートの変更。
3.
Windows Server 2008 R2上のIIS7でMercurialサーバーをセットアップする -この記事はWindows Server 2008に関するものでしたが、非常に役立つことが判明しました。