PHPEclipseでCVS利用

2005/02/24

ここではVine3.1にCVSをインストールして、Windows上のPHPEclipseで利用するまでを書いてみたいと思います。

私自身、まだCVSは初心者なので私がわかる範囲で書いていますが、これだけでも古いバージョンまで保管されますので、けっこう便利です。


この説明での条件

CVSは色々な運用形態が考えられると思いますが、ここでは次のような設定になるように書きます。

  • 基本的にはWindows上のPHPEclipseからネットワーク経由で利用する。(もちろん、Linuxからも利用することはできます)
  • cvsというユーザー・アカウントを作り、一括してこのホーム・ディレクトリ配下で管理する。
  • cvsというグループ・アカウントを作り、このグループに所属するユーザーだけがcvsを利用できるようにする。
  • CVSサーバへの接続はSSHを利用する。SSHサーバはすでに動いているのが前提条件です。

Vine3.1へCVSをインストール

  1. パッケージをインストールします。
    $ su -
    # apt-get update
    # apt-get install cvs
  2. 念のため、/etc/servicesに追加されたかをチェックします。
    # grep cvspserver /etc/services
    cvspserver      2401/tcp                        # CVS client/server operations
    cvspserver      2401/udp                        # CVS client/server operations
    上記のように表示されたらOKです。/etc/servicesに上記の行がないようなら、エディタで追加してください。

リポジトリーの作成

リポジトリとは、CVSの管理単位と考えていいかと思います。

ここではPHPEclipseから利用する場合で書きますので、PHPEclipse専用のリポジトリを作成します。
実際にはPHPEclipseだけで複数のリポジトリを作成する必要があるかもしれませんが、考え方は同じです。

  1. cvsグループを作成します。
    # groupadd cvs
  2. アカウント「cvs」を作ります。
    # useradd -g cvs cvs
    # passwd cvs
  3. cvsのホーム・ディレクトリのパーミッションを変更します。
  4. # su - cvs
    $ chmod 710 ~
  5. リポジトリを作成します。ここではphpeclipseというリポジトリを作ることにします。
    $ export CVSROOT=/home/cvs/phpeclipse
    $ mkdir $CVSROOT
    $ chmod 6770 $CVSROOT
    $ cvs init
    $ exit

ユーザー・アカウントの設定について

  1. sshでログインできるアカウントを作ります。ここでは例として「sg」というアカウントを作ってみます。メイン・グループを「users」、サブ・グループを先ほど作成した「cvs」にします。
    # useradd -g users -G cvs sg
    # passwd sg

このようにすると、cvsグループに所属するアカウントのみCVSを利用できます。


PHPEclipseからCVSサーバへ接続の準備

  1. まず、秘密鍵を生成します。以下ではPuTTYを利用した場合と、eclipseのキー生成機能を利用した場合の両方を書きます。どちらか一方を行います。
  2. PuTTYですでに鍵を作ってある場合は次のようにしてそれを利用します。
    1. puttygen.exeを起動します。
    2. 「File/Load private key」でプライベートキーを読み込みます。
    3. 「Conversions/Export OpenSSH Key」で秘密鍵を保存します。
  3. eclipseで鍵生成する場合は次のようにします。
    1. eclipseを起動します。
    2. 「ウィンドウ/設定」を開きます。
    3. 「チーム/CVS/SSH2接続/SSH2 接続メソッド」を開き、鍵管理タブを選択します。
    4. ここでは、RSA鍵で説明してます。「RSA鍵の生成」ボタンをクリックします。
    5. パスフレーズを2回、入力します。
    6. 「秘密鍵の保管」ボタンをクリックして、秘密鍵を保存します。
    7. 公開鍵をログイン・ユーザーの~/.ssh/authorized_keysに保存しておく必要があります。これについてはSSH利用の問題なので、ここでは詳しくのべません。
  4. 上記2つのどちらかの方法で作った秘密鍵をeclipseに登録しましょう。
    eclipseを起動します。「ウィンドウ/設定」を開きます。
  5. 「チーム/CVS/SSH2接続/SSH2 接続メソッド」を開き、一般タブを選択します。
    「SSH2 ホーム」には秘密鍵を保存してあるフォルダを指定します。
    「秘密鍵」には、保存した秘密鍵を選択します。
  6. 設定したら「OK」ボタンをクリックします。

eclipseにCVSリポジトリーを登録

  1. 「ウィンドウ/パースペクティブを開く/その他」を選択します。
  2. 「CVSリポジトリー・エクスプローラー」を選択して「OK」ボタンをクリックします。
  3. CVSリポジトリーの追加」ボタンをクリックします。
  4. 次のようなウィンドウが表示されますので設定します。
    ホスト CVSサーバのホスト名、またはIPアドレス
    リポジトリー・パス リポジトリー作成時のパス
    ユーザー グループ・アカウント「cvs」のユーザー
    パスワード キーを指定しているので、必要ありません。
    接続タイプ extssh
    上記設定後、「終了」をクリックして「CVSリポジトリーの追加」ウィンドウを閉じます。
  5. 「CVSリポジトリー」パースペクティブのリポジトリを右クリックしてプロパティを選択します。そして、サーバ・エンコードを変更します。

これで、「CVSリポジトリー」パースペクティブに登録したリポジトリーが表示されるので、ダブル・クリックすると表示されます。

「HEAD」を開くとパスワードを聞かれるので、SSHのパスフレーズを入力します。


既存プロジェクトをCVSで管理

PHPEcipseで作成してあるプロジェクトをCVSで管理する場合、「ナピゲータ」ウィンドウのプロジェクトを右クリックして「チーム/プロジェクトの共有」を選択します。

「次へ」をクリックしていくとCVS管理下になります。

また、現在、プロジェクト管理されていないファイル群は一度、プロジェクトを作ってインポートした後、CVS管理下にすることができます。


参考サイト

バージョン管理システム CVS を使う

Copyright©2001-2008 釣ったよ! All Right Reserved.    sg@tsuttayo.sytes.net