cappuccinoのコンピタブログ

cappmac.exblog.jp
ブログトップ

カテゴリ:設定覚え書き( 62 )

CVS覚え書きの続き

先回のブログではCVSサーバの導入を中心に書きました。
気づいたらかな〜りの長文になっていました。
しかし、先回触れられなかった部分があるのでここで補完しておきます。

【パスワードの設定】
前回/home/cvs/CVSROOT/passwdファイルの設定ではパスワードを設定しませんでした。パスワードの設定にはいろいろ方法があるようですが一番メジャーなのはhtpasswdを使う方法のようです。実際に私もhtpasswdでの運用に成功したのでメモしておきます。
htpasswdはapacheがインストールされていればおそらく/usr/local/sbin/htpasswdで存在していると思います。なければapacheを入れてみましょう。
もし前回passwdファイルを作成していたらrmコマンドで消しましょう。これから新規にhtpasswdを使用してpasswdファイルを作成します。
作成手順は
1.パスワードファイルの作成
htpasswd -c /home/cvs/CVSROOT/passwd <ユーザ名>
とします。すると新規パスワード入力を要求されるので新規パスワードを考えて入力してください。これでhtpasswdによって/home/cvs/CVSROOT/passwdが作成され、かつユーザ名が登録されます。
2.パスワードユーザのユーザ権限を書き込む
ee /home/cvs/CVSROOT/passwd
とすると
<htpasswdで設定したユーザ名>:<暗号化されたパスワード>
となってると思います。
ここにさらにコロンを付加してシステムに登録されたユーザ名を続けて書きます。
すなわち前回示したように
<CVSクライアントでログインするユーザ名(htpasswdで登録したユーザ名)>:<ログインパスワード(htpasswdで設定したもの)>:<マシンに登録されたユーザ名(エディタで追記したもの)>
となります。
これでEclipseでpserver登録時にパスワードを入力すればパスワードでのpserverのログインが可能になります。
[PR]
by cappuccino_mac | 2005-02-26 22:42 | 設定覚え書き | Comments(0)

CVSサーバ構築のメモ

一つ前のブログで書いたようにpserverの起動設定がおかしかったようでcvsサーバが起動をしていなかったようです。初歩的ミスでした...

ではcvsの構築に関してのメモ
CVSというのはCurrent Version Systemの略で
1.文書の変更履歴を保存できる
2.共同作業の効率化
という点で恩恵が得られます。

個人で使う恩恵としては文書履歴の保存が可能な点と複数のコンピュータで文書が共有できる点にあると思います。CVSは一般にはプログラミングにおけるソースコード管理で一番活躍をしているシステムですが、ソースのようなテキストデータだけでなく、画像や音声といったバイナリファイルの管理も可能なため複数のパソコンを持っていて、かつファイルの変更が多いというケースにはもってこいのシステムだと思います。
では導入に関しての説明の前に導入環境の紹介をします。
今回使用したOSはFreeBSD5.3というOSです。Linuxみたいなものです、微妙に違いますが。使用したマシンはPCG N505ASという5年くらい昔のマシンです。NICとしてMELCO(現バッファロー)のWLI-PCM-L11を使用しています。

本来ならたぶんソースの取得、コンパイルからはじめるのが解説のスジでしょうけど今回使用したFreeBSD5.3には標準でcvsがインストールされていたのでその解説はしません。cvs -vから得られたcvsのバージョンは1.11.17でした。

1.ユーザの追加
まずサーバを起動する前にcvsを管理するユーザを登録します。なんで新規にユーザを作るのかということですが、専用ユーザを置くことでソースをアップロードできる権限のユーザを制御できるためです。これは後述のpasswdファイルの作成で説明します。実のところ今回のケースでは個人でのCVS構築のためパスワードを設定せず管理者ユーザをおいた意味はゼロです。
ユーザの追加にはadduserを使います。Linuxの場合useraddなので逆ですね。この辺は微妙にLinuxと違いますね。
adduserは対話型のperlプログラムでroot権限を要します。
adduserが聞いてくる項目は順を追って
Username:アカウント名 今回はcvsにしました
Full Name:アカウントのフルネーム 今回はcvs adminにしました
Uid:ユーザID 空にしておけば自動で割り当てられる
Login Group:ログイングループ 空にしておけばユーザ名と同じグループ名になる,つぎに出てくる質問も空欄にして置けばよい
Login class:ログインクラス 空にしておいてデフォルト値にしておく
Sell:シェル ユーザが使用するシェル 空にするとshになる
Home Directory:空にしておくと/home/<ユーザ名>となる
Use password-based authentication?:パスワード認証を行うか? 空にするとyesを選択になる
Use an empty password?:パスワードなしで認証するか? 空にしておけばnoでパスワード使用となる
Use a random password?:ランダムパスワードを使用するか? 自分で設定するので空にしたままにする。noがデフォルトなので自分でパスワードが設定できる
Enter password:パスワード入力
Enter password again:もう一度パスワード入力
これで/home/cvsがホームディレクトリのユーザcvsが出来上がりました。
さらに変更を可能にするためにchmod 777 /home/cvsを実行してパーミッションを変更しCVS環境の準備が完了します。

2.CVSの初期化
次にルート権限かユーザcvsでログインして以下の操作を実行します。
cvs -d /home/cvs/ init
これでCVSの初期化が完了しました。
CVSの初期化が完了すると/home/cvsの下にCVSROOTというディレクトリができてることがわかります。さらにCVSにログインできるユーザを登録するために以下の操作をします。
ee /home/cvs/CVSROOT/passwd
このコマンドを実行するとeeというコマンドライン環境のエディタが起動してpasswdというファイルの編集が行えます。
ここに<CVSクライアントでログインするユーザ名>::<マシンに登録されたユーザ名>という形式で1ユーザ1行の書類を書きます。
例としてcappuccinoというユーザがcvs管理者権限としてCVSサーバにログインしたい場合
cappuccino::cvs
と書くわけです。同じようにchocolatというユーザが管理者権限でログインしたい場合は改行して2行目にchocolat::cvsと記述するわけです。
今回はパスワードを設定しませんでした。本来はpasswdファイルの書式は<CVSクライアントでログインするユーザ名>:<ログインパスワード>:<マシンに登録されたユーザ名>という形式なのですが今回は使えることを最優先にしたため触れません。また後日触れようと思います。
これでCVSが使える準備は整いました。もうローカルでCVSは実行できますが。コマンドラインなので説明がふえるためやめます。

3.CVS pserverの起動
つぎにCVSサーバの起動設定を行います。
cvsはスーパーデーモンinetdを経由して起動するプログラムです。そのため/etc/inetd.confを編集します。
ee /etc/inetd.confで以下の部分を編集します。
#cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/your/cvsroot/here pserver

cvspserver stream tcp nowait root /usr/libexec/tcpd /usr/bin/cvs -f --allow-root=/home/cvs pserver
編集をしたらrebootで再起動を行うかkill -HUP でinetdだけの再起動を行うことでcvspserverが起動します。
これでコマンドラインでの作業(地獄?)は終わりです。

4.CVSクライアントからの接続
今回CVSクライアントにはEclipseを使います。EclipseというとJavaの開発環境として有名なソフトウェアですが、実は高機能CVSクライアントという側面を持っています。CVSクライアントとしてだけでもEclipseを使う価値があると思います。

EclipseでCVSクライアントを使用するためには以下の図に示す手順でCVSリポジトリパースペクティブを呼び出し
c0064553_16152798.jpg

c0064553_1619287.jpg

図のようにCVSリポジトリ設定を呼び出し設定を行います。
c0064553_16195318.jpg

c0064553_16213836.jpg

最終的にCVSROOT以下のファイルが以下のように見えればCVSサーバとの接続は成功です。
c0064553_16225291.jpg

Eclipseはプロジェクト中にあらゆるバイナリファイルをインポートできます。これはリソースパースペクティブで空のプロジェクトを作成しプロジェクトを右クリックメニューするとあらわれるインポート画面で可能になります。今回はCVSへのアップロード/ダウンロードの確認なのでこれに関しては触れません。
次に下の画像に示す手順でファイルをアップロード(CVSでいうとコミット)します。
c0064553_1625655.jpg

c0064553_16252792.jpg

c0064553_16275087.jpg

c0064553_1628870.jpg

c0064553_16283634.jpg

途中上記のようにコメントを入力せよという画面が出ますがこれはバージョンの説明をする内容を書きます。今回はver0_0_1という内容を書きました。
c0064553_1628495.jpg

上記の転送画面になるまでに途中2個ダイアログが出ますが転送ファイルの確認に関するものなのでOKを押して進めました。最終的に転送画面がでてリポジトリに新規に登録されればリポジトリへのコミットは成功です。

今回はCVSサーバの起動とEclipseによる動作確認をしました。またCVSの突っ込んだ内容は順次投稿していきたいと思います。
[PR]
by cappuccino_mac | 2005-02-25 16:33 | 設定覚え書き | Comments(0)