のみほーだい!

のみほーだい!TOP
のみほーだい! は、(株)トラストサービス ITソリューション事業部  が運営する、技術情報交流サイトです。

Cygwin+CVSのセットアップ手順

2005/04/08
@author tomapiso

1. Cygwinのインストールとネットワーク設定

1.1 Cygwin&CVS

Eclipse3.0ではwinCvsがサポートされておらず不具合が絶えません。Eclipse3.1ではwinCvsがサポートされるそうですが、リリースはまだ先になります。対応策はいくつもありますが、windows上でCVSを動かす手段として最も安全なのは cygwin+cvs かな、と、、、この古典的な手法は何だかんだで今も健在と思います。ただし設定上の注意点が多いのでここに構築手順をまとめます。

1.2 Cygwinのインストール

cygwin.com から setup.exe をダウンロードします。
ダウンロード後、setup.exeを起動するとセットアップが始まります。


■実行する手順を選択します。

①パッケージをダウンロードしてインストール。
②パッケージダウンロードだけする。
③すでにダウンロードしてあるパッケージをインストールする。

基本的には①になりますが、②を行った後で③でも同じです。




■Cygwinを構築する(installする)フォルダを指定します。




■インストールファイルのダウンロードフォルダを指定します。




■ダウンロードの方法を選択します。




■ダウンロードサーバを選択します。
今回はjpドメインのサーバからダウンロードしました。



■インストールするパッケージを選択します。
CVSサーバを立てる上で必要になるパッケージを選択してチェックします。
NET>inetutils、」DEVEL>cvs は必ず必要になります。忘れずにチェックしましょう。
それ以外はDefaultでOKです。



ダウンロード完了後、インストールが始まりますが、インストールするパッケージの選択がもう一度あります。必須パッケージを改めてチェックしなければならないのでお忘れなく…

1.3 Cygwin 初期設定

■環境変数設定

「{Cygwinのインストールフォルダ}\bin」にPATHを通して再起動します。

■Cygwinを起動してから以下のコマンドを順次実行

$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ /usr/bin/iu-config -y

$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ /usr/bin/iu-config -y

 Creating default /etc/ftpusers file
 Creating default /etc/ftpwelcome file
 Creating default /etc/inetd.conf file
 Creating default /etc/motd file
 Creating default /etc/shells file

1.4 ネットワーク設定

今回は運用をラクにしたいので inetd はサービスとして起動する方法でまとめます。よって、windows2000、windowsXPを前提とします。

※windows9x の場合は inetd のショートカットをスタートアップに放り込んでおけば一応は問題ないと思いますが、リンクする実行ファイルの後ろに'-d'を付けるのをお忘れなく。

■inetdをサービスとして起動する。

・起動コマンド
$ /usr/sbin/inetd --install-as-service
$ /usr/sbin/inetd --install-as-service
・ちなみに? 停止コマンド
$ /usr/sbin/inetd --remove-as-service
$ /usr/sbin/inetd --remove-as-service

※サービスの起動、停止、再起動はコマンドにしておくと便利
ex.) 再起動コマンド(inetd_restartコマンド)
file: /bin/inetd_restart
#/bin/bash
echo "remove inetd now......." /usr/sbin/inetd --remove-as-service sleep 3 echo "start inetd now........" /usr/sbin/inetd --install-as-service
まぁ、この手のコマンドは無くても問題ありません(笑)
ちゃちゃっと書いておけば使う機会は一応あります。

■inetd.conf に設定を追記

以下の一行を追記します。
cvspserver stream tcp nowait root /bin/cvs cvs --allow-root=/var/cvs pserver

※xinetd を使用するなら /etc/xinetd.d の下に cvspserver という名前の設定ファイルを作成
file: /etc/xinetd.d/cvspserver
  service cvspserver
  {
      socket_type  =  stream
      user  =  SYSTEM
      wait  =  no
      server  =  /usr/bin/cvs
      server_args  =  -f  --allow-root=/var/cvs  pserver
  }

■inetdを再起動

停止⇒起動、で設定が有効になりますが、再起動の前にCVSの設定を済ませましょう↓(爆)

2. CVSの設定

2.1 リポジトリルート

今回は /var/cvs をレポジトリのルートディレクトリとして構築します。
以下のコマンドを順次実行

$ export CVSROOT=/var/cvs
$ mkdir /var/cvs
$ cvs init

2.2 リポジトリアカウント

■パスワードファイルの作成
$CVSROOT/CVSROOT/passwdに以下の書式で1アカウントにつき1行記述。改行コードはLF。

<任意のユーザ名>:<暗号化したパスワード>:<Windowsのユーザ名>[LF]

暗号化ツールを用いるのも面倒なのでパスワードの暗号化はcryptコマンドを使うとラク。
ユーザ「hoge」、パスワード「hogehoge」ならば↓
$ echo -n "hoge:" >> $CVSROOT/CVSROOT/passwd
$ crypt Mm hogehoge >> $CVSROOT/CVSROOT/passwd
※↑「Nm」は任意のアルファベット2文字 作成したpasswdファイルはこんな感じ
hoge:MmS9Uw19RtaUl:Hoge[LF]
[EOF]
※後のテストで接続が失敗したらwindowsのアカウントと同一のアカウントで試してください。一度接続できたらアカウントを追加しても接続できました、、、なぜなんだ?… ○| ̄|_

■お試し

テストの前にinetdを再起動してネットワーク設定を有効にしておきましょう。

$ cvs -d :pserver:hoge@localhost:/var/cvs login

で、接続拒否などのERRORが出なければOKです。

$ cvs -d :pserver:hoge@localhost:/var/cvs logout

も、お忘れなく。

3. Windows2000/XPサービス設定

{WINDOWSのインストールフォルダ}/system32/drivers/etc/servicesに
cvspserver 2401/tcp
を追記します。

inetdが起動していることを確認し、Windowsのサービスを起動します。
(コントロールパネル>管理ツール>サービス、のCYGWIN inetdを「開始」します)

4. Eclipseの設定

↓こんな感じで。。。




以上


ページトップ
のみほーだい!TOP

トラストサービス ITソリューション事業部
Copyright(C) Trust Service Co.,Ltd. All Rights Reserved.