2012/01/23

windows server に cygwin 入れて sshd サーバ立てて git サーバにした話

タイトルでほとんど内容終わり。windows 2008 serverでもcygwinって普通に使えるんですね。ちょっと驚いた。

linuxでやるより面倒だったけど、意外となんとかなるもんで。今回はWindows Server 2008。サーバはgit入れてsshd立てて外から接続できれば終わり。つまり、cygwinのsetup.exeもしくはapt-cygなどからOpenSSHとgitをインストール。もちろんfirewallでsshのポートの許可も必要。

これで家でも外出先でも手軽に会社のgitサーバーに対してpush/pullできますよっと。ただ環境作ってる途中、GIT_SSHで少しハマった。

cygwinだけなら簡単なんだが、クライアントでGUIからgitを使う、visual studioで使う、という前提で環境作ると面倒、大変、わかりにくい。ところがあった。shellの方が快適ですね。
しかし、意外とちゃんと動くもんで。cygwinやるじゃん。

追記

ちょっと設定変更したらハマった。復旧に数時間。。この辺のエラー

ssh_exchange_identification
Connection closed by 192.168.1.xxx
ssh_exchange_identification: Connection closed by remote host
cygrunsrv: Error starting a service: QueryServiceStatus:  Win32 error 1062:
fatal: /var/empty must be owned by root and not group or world-writable
Operation not permitted

今回はこれで解決した。

% cygrunsrv -E sshd
% cygrunsrv -R sshd
% cygrunsrv --install sshd --path /usr/sbin/sshd -a -D -u cyg_server
% cygrunsrv -S sshd
% chown cyg_server /var/empty
% chmod 700 /var/empty

linuxならsshの設定してパッケージマネージャからgit入れるだけなんだけどね。あいにく会社にlinuxサーバーがなくて、windows server 2008があるんで使わない手はないかなと。


追記

こういう方法もあるようで。

実用Git

0 件のコメント:

コメントを投稿