windows+Apacheで認証付きgitサーバを立てるときのhttpd.confの内容

Gitでプログラムを管理したいときには、GitHubとかを使う方法やさくらインターネットのレンタルサーバやVPSを使う方法もあるんですが、色々デメリットもあるので自宅のサーバに立てることにしました。

Apacheをインストール

apachelounge

ApacheLoungeからダウンロードします。

インストール先は「C:\Apache24」にしました。インストール・設定の方法は色々他のサイトがあるので参考になると思います。

Git for Windowsをインストール

gitforwindows

Git for Windows からダウンロードします。

インストール方法は色々なサイトに情報があるから参考に。気を付けるべきポイントは改行周りの設定かなあ…

ベーシック認証のためにユーザー名とパスワードを作成

コマンドプロンプトでパスワードファイルを作ります。コマンド的にはインストール先が「C:\Apache24」の場合以下のような感じ。

書式は、新規作成する場合「[パス+htpasswd.exe] -cbB [パスワードファイル名] [ユーザー名] [パスワード]」です。

ユーザーを追加するときには、スイッチ「-cbB」を「-bB」にします。

httpd.confに設定追加

「C:\Apache24\conf\httpd.conf」に次の行を追加します。

何をしているかというと、環境変数を指定して、「git-http-backend.exe」を「/git/」でCGIとして動作するようにしているのと、あと「/git」にベーシック認証をかけてます。

リポジトリを置くフォルダは「D:\gitrepo」で、先ほど作ったフパスワードファイルは「D:/gitrepo/.htpasswd」においてあります。

一部サイトでは情報が古いので、ファイル「git-http-backend.exe」へのパスが間違っているので注意。

テストリポジトリ作成

リポジトリを置くフォルダ(D:\gitrepo)に移動して右クリック→「Git GUI Here」でGitGUIを起動し、「test」というテストリポジトリを作ります。

動作確認

まず、ブラウザでhttp://127.0.0.1/git/」とかにアクセスして、ベーシック認証が動作するか確認します。

authBasic

認証が通れば「Not Found」と表示されるはずです。

次に、先ほど作った/test/フォルダにアクセスします。

invaridResponce

「http://127.0.0.1/git/test/」ですね。Chromeで見た時に「ERR_INVALID_RESPONSE」が帰ってきてれば成功です。

クライアント側をセットアップ

クライアント側には、windowsの場合、「Git for Windows」と「TortoiseGit」をインストールすると使いやすいと思います。

それ以外にも、Gitビュアーがたくさんあるので、こっちのページ(Git GUI Clients)で探すと作業が捗ると思います。

質問・コメントなどあればどうぞ