Cloud Nine

Avatar

About IT things and others.

Ubuntu11.04のgit&sshサーバの構築
7月 23, 2011 0

なるべく月額の費用を払いたくないので、自分でgitサーバを立ち上げることにしました。
その際のメモです。
いろいろつまずいたとこがあるので、同じ問題にぶつかった人のお役に立てれば幸いです。

運営環境

開発PC:Ubuntu 10.10 Desktop
設置先:Ubuntu 11.04 Server

構築方法等は、ページ下にある参考ページにより詳しく記載してありますので、そちらを参照してください。

トラブったところ&迷ったところ

既に使用しているユーザの接続

はじめに、sshの接続を許可している鍵もちのユーザを使用としたのですが、
鍵の登録がうまくいかなかったので、gitの接続専用ユーザを作成しました。
その際に、サーバからcloneしてみると下記のエラーがでました、一応頻繁に使用しているユーザなので、既に使用している鍵ファイルが壊れるのが怖かったので、諦めました。
ちなみに、エラー内容下記のようなものでした

$ git clone ssh://ユーザ名@localhost:ポート番号/gitosis-admin.git
Cloning into gitosis-admin...
Enter passphrase for key '/home/ユーザ名/.ssh/id_rsa':
fatal: '/gitosis-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

ポートを指定して接続

sshのポートを変更している場合は、下記のようにアクセスします。

git clone ssh://ユーザ名@192.168.0.1:ポート番号

開発PCの設定について

sshの接続で、鍵認証を行っているんですが、それをどうやって開発PCに読み込ましていいのかに悩みました。
下記の方法で、うまくいきました。

$ vi /home/ユーザ名/.ssh/サーバから取得した公開鍵(場所はどこでもOK)
$ chmod 700 サーバから取得した公開鍵 #sshの設定によるがStrictModes yesにしているときに必要
$ vi /home/ユーザ名(自分の使用しているもの)/.ssh/config
Host サーバのIP
 User サーバのgit用のユーザ名
 Hostname サーバのホスト名
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/鍵.key

新規プロジェクトの追加方法

環境は以外に簡単に構築できたのですが、新規プロジェクトが、どこでどうすればいいのか迷ったので、メモしておきます。

これらの作業はすべて、開発環境(つまりgitのサーバでない場所で行いました。)

$ cd /home/ユーザ名(開発PCのユーザ)/ #ちなみにこの場所はどこでもいいのです。
$ git clone ssh://git用のユーザ名@192.1.*.*:ポート番号/gitosis-admin.git
$ cd ../gitosis-admin/
$ vi gitosis.conf
[gitosis]
loglevel = DEBUG #これを入れておくとエラー時に詳細を表示

[group mygroup]
writable = myproject
members = git用のユーザ名@git用PCのホスト名

$ pwd /home/ユーザ名(開発PCのユーザ)/gitosis-admin
$ git commit -a -m 'add myproject'
$ git push #作業を本番反映

#上記の作業で、myproject.gitの準備ができました。
$ cd /home/ユーザ名(開発PCのユーザ)/www/
$ git clone ssh://git用のユーザ名@192.1.*.*:ポート番号/myproject.git
$ cd myproject
$ touch dummy
$ git add dummy
$ git commit -m 'dummy to create repo'
$ git push origin master:refs/heads/master  #masterにして本番に反映

インストールに参考サイトにさせてもらったページ

git sshサーバの構築

Tags: ,

Related posts

Real Time Analytics