プロジェクト

全般

プロフィール

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

Tatsuya ISHIGAKI, 2025/10/22 14:00

1 1 Tatsuya ISHIGAKI
# Gitサーバ
2
3
## 参考web
4
- [Qiita] [サーバーにGitを入れてGitサーバー構築してみた](https://qiita.com/ykhirao/items/c172d09943e932899c9e)
5
  - フリーランスエンジニアのgit構築案件の際のメモらしい
6 2 Tatsuya ISHIGAKI
- [Qiita] [[Git] HTTPS と SSH の違いと使い分け](https://qiita.com/molecular_pool/items/85d6e5e1f649dda8bcf1)
7
  - Git プロトコルについて
8 1 Tatsuya ISHIGAKI
- [LinuxでGitサーバーを構築する方法:ステップバイステップガイド
9
](https://go.lightnode.com/ja/tech/install-git-server)
10
  - とても限定的
11
  - わかりやすい内容
12
- [公式] [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)
13
  - ダウンロードもした
14
15 2 Tatsuya ISHIGAKI
## 構築概要
16 1 Tatsuya ISHIGAKI
- 基本手順
17 2 Tatsuya ISHIGAKI
  1. プロトコルの決定
18 1 Tatsuya ISHIGAKI
  1. サーバ上にベアリポジトリを作成
19 2 Tatsuya ISHIGAKI
  1. アクセス設定、hook等設定
20
- プロトコル
21
  - Local
22
  - HTTP (含 HTTPS)
23
    - smart HTTP : 読み書き可能 (git 1.6.6 以降)
24
    - dumb HTTP : 読み込み専用
25 1 Tatsuya ISHIGAKI
  - SSH
26 2 Tatsuya ISHIGAKI
  - Git
27 1 Tatsuya ISHIGAKI
28 2 Tatsuya ISHIGAKI
## プロトコル
29
### Local
30
- ディレクトリへのアクセスをファイルシステムでダイレクトに行う方法
31
- ディレクトリへのアクセス権がそのまま共有の形式となる
32
33
### smart HTTP/S
34
- 標準ポートを使用する (HTTP:40, HTTPS:443)
35
- 読み書き可能
36
- HTTP 認証の仕組みを使用可能
37
  - 匿名読み込みを許可できる (認証要求もできる)
38
  - 書き込み時の認証要求ができる (匿名書き込みもできる?)
39
40
### dumb HTTP/S
41
- 標準ポートを使用する (HTTP:40, HTTPS:443)
42
- 読み込み専用
43
- HTTPドキュメントルートにベアリポジトリを配置し、post-update hook を設定するだけで運用できる
44
45
### SSH
46
- 標準ポートを使用する (22)
47
  - 組織によっては許可されていないことは多いだろう
48
- 安全な、認証付きのアクセスである
49
- SSH の準備が容易 (サービス、クライアント側とも一般的だから)
50
- SSH でのホストアクセスが必要であるため、匿名アクセスはできない
51
  - パスワード認証、鍵認証が必要
52
  - 読み込み専用の匿名アクセス等を許可したい場合は、別プロトコルを提供する必要がある
53
54
### Git
55
- 専用ポートを使用する (9418)
56
  - 標準ポートではないので、ネットワーク設定が必要となることが多いだろう
57
- Git に標準で付属するデーモンで実現する
58
- 一般に最も高速な転送プロトコル
59
- 認証無し
60
- 暗号化無し
61
- 基本的にパブリックなクローンを許可するのに使用する
62
- プッシュアクセスを許可することは可能だが、通常は許可しない (認証無いため、誰でもリポジトリ改変可能となる)
63
- 準備が面倒
64
  - 独自デーモンの起動、ファイアウォールでのポート9418の許可等
65
66 1 Tatsuya ISHIGAKI
## メモ
67
- アクセス方式に **git** って無かったっけ?
68 2 Tatsuya ISHIGAKI
  - → ある (GitPro に載っていた)
69
- 慣例的にベアリポジトリのディレクトリ名の最後は `.git`