]追加された行はこの色です。削除された行はこの色です。最近、バージョン管理システムとして流行のgitを使う環境を整えてみましたので記録。職場からも自宅からもリポジトリにアクセスできるようにしたかったので、リモートリポジトリを作成しました。職場のファイアウォールがきつく、HTTPおよびHTTPSしか使えないのでHTTPアクセスを確保することにしました。以前はWebDAVがよく使われていたようですが、その方法だと速度が遅いそうな。HTTPとのことです(たぶん)。高速化の方法は上記のブログを確認していただけると分かると思いますが(読んでない)、CGIを使っているので設定は簡単でした。設定はブログの通りですが、ちょっと解説を付けておきます。最低限のapacheの知識はあるものとします。関連パッケージをインストールしておきます。これはVine6の例です。青色の部分はgitweb用の設定なので使わない場合は不要です。上の例では''/var/git/repos''がリポジトリのディレクトリなので、そこにプロジェクトを作成してみます。理解していませんが、リモートリポジトリの場合は''--bare''オプションを付けて作成します。これでmyprojectプロジェクトが作成されました。最低限myprojectディレクトリにapacheのユーザーが読み書き可能である必要があるのでパーミッションを変更しておきます。この辺は環境に合わせて適宜行って下さい。Webブラウザでリポジトリを閲覧できるようにgitwebの設定を行います。gitweb.cgiはPerlスクリプトです。設定ファイルは''/etc/gitweb.conf''を参照するようなので、作成します。ここでは最低限の設定のみを行います。ここでは環境変数''GIT_PROJECT_ROOT''を指定していますが、直接指定でも可能です。通常はapacheで設定したディレクトリと同じはずなので、こうしておけばapache側の設定を変更した際にいちいち修正しなくて済みます。リポジトリへは、''http&#058;//myserver/git/myproject''のように指定します。gitwebは、''http&#058;//myserver/gitweb''でアクセスできます。この場合、リモート側のリポジトリがbareになっていません。初期化時には''--bare''を付ける必要があります。これで使用可能になります。環境変数''GIT_CURL_VERBOSE''=1でverboseモードになるのでエラーの特定がしやすくなるかも。探しても見つからなかったのでメモ。大きなファイル(15MBぐらい)をHTTP経由でpushするときに発生しました。cURLのエラー(55)はネットワーク接続が切られた、のようなエラーのようです。そんなわけでHTTPSなら大丈夫なようでした。いうエラーが出てコンソールからログインできない場合があります。これは環境変数SSH_ASKPASSに/usr/libexec/openssh/gnome-ssh-askpassといったようなGUIが指定されているために起こるみたいです。単純にアンセットすればOKです。プライベートサーバなどではHTTPS使用時にCAが信頼できない、ということでエラーが出ます。その時は、http.sslcainfoを設定します。