最近はOTRSのようなオープンソースのソフトを改造することが増えてきたので、CVSを導入しようかと思いましたので手順として残します。
インストール手順というほど大げさではないですが、apt-getでインストール。
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下のパッケージが新たにインストールされます:
cvs
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 15 個。
1685kB のアーカイブを取得する必要があります。
この操作後に追加で 3703kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com jaunty/main cvs 1:1.12.13-12ubuntu1 [1685kB]
1685kB を 3s で取得しました (530kB/s)
パッケージを事前設定しています …
未選択パッケージ cvs を選択しています。
(データベースを読み込んでいます … 現在 140773 個のファイルとディレクトリがインストールされています。)
(…/cvs_1%3a1.12.13-12ubuntu1_i386.deb から) cvs を展開しています…
man-db のトリガを処理しています …
doc-base のトリガを処理しています …
Processing 2 added doc-base file(s)…
Registering documents with scrollkeeper…
cvs (1:1.12.13-12ubuntu1) を設定しています …
xinetdが入ってなかったのでこちらもインストール。
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下のパッケージが新たにインストールされます:
xinetd
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 15 個。
139kB のアーカイブを取得する必要があります。
この操作後に追加で 385kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com jaunty/main xinetd 1:2.3.14-7ubuntu1 [139kB]
139kB を 1s で取得しました (138kB/s)
未選択パッケージ xinetd を選択しています。
(データベースを読み込んでいます … 現在 140885 個のファイルとディレクトリがインストールされています。)
(…/xinetd_1%3a2.3.14-7ubuntu1_i386.deb から) xinetd を展開しています…
man-db のトリガを処理しています …
xinetd (1:2.3.14-7ubuntu1) を設定しています …
* Stopping internet superserver xinetd [ OK ]
* Starting internet superserver xinetd
さてさて、cvsの初期設定。
$ sudo mkdir /var/cvs
リポジトリの初期化
$ sudo cvs -d /var/cvs init
xinetdの設定
vi /etc/xinetd.d/cvs
ファイルに書き込み↓
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME=/var/cvs
server_args = -f –allow-root=/var/cvs pserver
# bind = 127.0.0.1
}
xinetdの設定を有効にするために再起動
$ sudo /etc/init.d/xinetd restart
* Stopping internet superserver xinetd [ OK ]
* Starting internet superserver xinetd [ OK ]
CVS用のOSユーザを作成
$ sudo useradd cvsuser
リポジトリをcvsuserの所有に変更
$ sudo chown -R cvsuser.cvsuser /var/cvs/
CVSを利用するためのユーザを作成(OSのユーザではない)
$ sudo vi /var/cvs/CVSROOT/passwd
ファイルに書き込み↓
kaihatsu::cvsuser
上のではパスワードが入っていないので、別途パスワードを作る。
$ htpasswd -nb kaihatsu abcdefg
kaihatsu:fINy2Fol/Zr3o
↑ここがパスワード(abcdefg)
なので、
$ sudo vi /var/cvs/CVSROOT/passwd
ファイルに書き込み↓
kaihatsu:fINy2Fol/Zr3o:cvsuser
netstatでcvsのサービスを確認。
$ sudo netstat -tap | grep cvs
tcp 0 0 *:cvspserver *:* LISTEN 18602/xinetd
リッスンはしているみたい
以上で終わり??
リポジトリにプロジェクト「request_project」を登録してみる。
これまでは、ローカルでの作業なので、リモートでも試してみる。
$ cvs login
特に問題なくログインできたみたい。
あとは、checkoutなりupdateなりcommitなりで使いましょ。
以下のサイトを参考にさせていただきました。ありがとうございます。
http://www.gfd-dennou.org/library/cc-env/cvs/basic/cvs-usage1.htm
http://hosso.com/server/daemon/cvs.html
http://www.stackasterisk.jp/tech/systemConstruction/cvs01_01.jsp#1