プロジェクト

全般

プロフィール

Gitサーバ » 履歴 » リビジョン 2

リビジョン 1 (Tatsuya ISHIGAKI, 2025/10/22 10:58) → リビジョン 2/3 (Tatsuya ISHIGAKI, 2025/10/22 14:00)

# Gitサーバ 

 ## 参考web 
 - [Qiita] [サーバーにGitを入れてGitサーバー構築してみた](https://qiita.com/ykhirao/items/c172d09943e932899c9e) 
   - フリーランスエンジニアのgit構築案件の際のメモらしい 
 - [Qiita] [[Git] HTTPS と SSH の違いと使い分け](https://qiita.com/molecular_pool/items/85d6e5e1f649dda8bcf1) 
   - Git プロトコルについて 
 - [LinuxでGitサーバーを構築する方法:ステップバイステップガイド 
 ](https://go.lightnode.com/ja/tech/install-git-server) 
   - とても限定的 
   - わかりやすい内容 
 - [公式] [Pro-Git book 第4章 Gitサーバー](https://git-scm.com/book/ja/v2/Git%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc-%e3%83%97%e3%83%ad%e3%83%88%e3%82%b3%e3%83%ab) 
   - ダウンロードもした 

 ## 構築概要 構築方法 
 - 基本手順 
   1. プロトコルの決定 
   1. サーバ上にベアリポジトリを作成 
   1. アクセス設定、hook等設定 2. アクセスを可能に設定する 
 - プロトコル アクセス方式 
   - Local ローカル 
   - HTTP (含 HTTPS) 
     - smart HTTP : 読み書き可能 (git 1.6.6 以降) 
     - dumb HTTP : 読み込み専用 HTTP/HTTPS 
   - 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`