前まではwebサーバにSubversionサーバを兼任させていたわけですが、ルータの内側にNAS4Freeを入れた機会に内部Git鯖立ててそちらに乗り換えようかという。

### Gitサーバの構築
#### Gitoliteのインストール
  • NAS4Freeへコンソールからログインし、Gitoliteをインストール
```sh $ pkg_add -r gitolite2
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
</div>
<div class="section">
    #### gitユーザの作成
    WebGUIからユーザ登録する(adduser使えない)

<ul>
<li>メニュー -> アクセス -> ユーザとグループ -> 
<ul>
<li>グループ・・・「git」グループを作成</li>
<li>ユーザ・・・「git」ユーザを作成(グループは「git」) ※ログインシェルを設定しておく
<ul>
<li>プライマリグループを「git」</li>
<li>グループの追加で「ftp」を選択</li>
<li>ログインシェルを「csh」</li>
<li>ホームディレクトリを「/home/git」</li>
</ul></li>
</ul></li>
</ul>
</div>
<div class="section">
    #### FTPサーバ設定(SSH鍵転送のために)
    WebGUIから設定する

<ul>
<li>メニュー -> サービス -> FTP
<ul>
<li>「有効」にする(普通に設定する)</li>
</ul></li>
</ul>
</div>
<div class="section">
    #### SSHサーバ設定
    WebGUIから設定する

<ul>
<li>メニュー -> サービス -> SSH
<ul>
<li>「有効」にする(その他項目は空白のまま)</li>
</ul></li>
</ul>
</div>
<div class="section">
    #### SSHキーファイル転送
    
<ul>
<li>FTPで「git」に接続する</li>
<li>ホームにSSH公開鍵を「git.pub」という名前で格納</li>
<li>ホームに「bin」フォルダを作成</li>
<li>ホームに「.cshrc」ファイルを作成</li>
</ul>```sh
set path=($HOME/bin $path)

#### Gitoliteのセットアップを行う
  • NAS4Freeへコンソールからログインし、下記コマンドを実行
```sh $ su git $ cd /home/git $ git clone git://github.com/sitaramc/gitolite $ gitolite/install -ln $ gitolite setup -pk $HOME/git.pub
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
</div>
</div>
<div class="section">
    ### リポジトリの作成
    
<div class="section">
    #### 管理用リポジトリをclone
    ```sh
$ git clone git@サーバ:gitolite-admin

#### リポジトリの追加(myreposを追加)
  • conf/gitolite.conf の編集
```sh repo gitolite-admin RW+ = git

repo testing RW+ = @all

repo myrepos RW+ = git

1
2
3
4
5
6
7

</div>
<div class="section">
    #### gitolite-adminをcommitしてpush
    ```
$ git commit -a
$ git push
#### myreposをclone ``` $ git clone git@サーバ:myrepos ```これで開発できる。