プロジェクト

全般

プロフィール

操作

Gitサーバ

参考web

構築概要

  • 基本手順
    1. プロトコルの決定
    2. サーバ上にベアリポジトリを作成
    3. アクセス設定、hook等設定
  • プロトコル
    • Local
    • HTTP (含 HTTPS)
      • smart HTTP : 読み書き可能 (git 1.6.6 以降)
      • dumb HTTP : 読み込み専用
    • SSH
    • Git

プロトコル

Local

  • ディレクトリへのアクセスをファイルシステムでダイレクトに行う方法
  • ディレクトリへのアクセス権がそのまま共有の形式となる

smart HTTP/S

  • 標準ポートを使用する (HTTP:40, HTTPS:443)
  • 読み書き可能
  • HTTP 認証の仕組みを使用可能
    • 匿名読み込みを許可できる (認証要求もできる)
    • 書き込み時の認証要求ができる (匿名書き込みもできる?)

dumb HTTP/S

  • 標準ポートを使用する (HTTP:40, HTTPS:443)
  • 読み込み専用
  • HTTPドキュメントルートにベアリポジトリを配置し、post-update hook を設定するだけで運用できる

SSH

  • 標準ポートを使用する (22)
    • 組織によっては許可されていないことは多いだろう
  • 安全な、認証付きのアクセスである
  • SSH の準備が容易 (サービス、クライアント側とも一般的だから)
  • SSH でのホストアクセスが必要であるため、匿名アクセスはできない
    • パスワード認証、鍵認証が必要
    • 読み込み専用の匿名アクセス等を許可したい場合は、別プロトコルを提供する必要がある

Git

  • 専用ポートを使用する (9418)
    • 標準ポートではないので、ネットワーク設定が必要となることが多いだろう
  • Git に標準で付属するデーモンで実現する
  • 一般に最も高速な転送プロトコル
  • 認証無し
  • 暗号化無し
  • 基本的にパブリックなクローンを許可するのに使用する
  • プッシュアクセスを許可することは可能だが、通常は許可しない (認証無いため、誰でもリポジトリ改変可能となる)
  • 準備が面倒
    • 独自デーモンの起動、ファイアウォールでのポート9418の許可等

メモ

  • アクセス方式に git って無かったっけ?
    • → ある (GitPro に載っていた)
  • 慣例的にベアリポジトリのディレクトリ名の最後は .git

Tatsuya ISHIGAKI さんが約2ヶ月前に更新 · 3件の履歴