CVSサーバ構築

構築環境

OS : Ubuntu 8.04.1(Hardy Heron)/Kernel 2.6.24-19-generic

1.cvsd(CVSサーバ)のインストール

$ sudo apt-get --fix-missing install cvsd

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません: libestraier8 libqdbm14
これらを削除するには apt-get autoremove を利用してください。
提案パッケージ: tmpreaper
以下のパッケージが新たにインストールされます: cvsd
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
87.6kB のアーカイブを取得する必要があります。
この操作後に追加で 328kB のディスク容量が消費されます。
エラー http://jp.archive.ubuntu.com hardy/universe cvsd 1.0.14
jp.archive.ubuntu.com' を解決できませんでした'''
http://jp.archive.ubuntu.com/ubuntu/pool/universe/... の取得に
失敗しました
jp.archive.ubuntu.com' を解決できませんでした'''

上記のエラーが出たら、webブラウザから上記URL(cvsd_1.0.14_i386.deb)を取得


2.cvsd_1.0.14_i386.debをインストール

(1)GUI上で*.debファイルをダブルクリック

(2)パッケージインストーラが起動

  • 「状態:すべての依存関係が満たされました」が表示

(3)この後、パッケージインストーラGUIで「パッケージのインストール」を選択

  • ユーザーパスワードが問われるので、ここはユーザーパスワード入力

※インストーラ起動した後、「Configuring cvsd」が起動する
「提供されるリポジトリ」の部分でリポジトリを格納するフォルダ(ここでは/demo:/cvsroot)に書き換え

※インストール後にレポジトリディレクトリを追加する場合、コンフィグファイルを編集する
$ sudo vi /etc/cvsd/cvsd.conf

# Repos <path>
Repos /cvsroot


(!)パス名の後ろにコメントやスペースが入ると正しくパスが設定出来ないので注意
(!)cvsd.confは一度cvsにログインすると編集不可になる模様(cvsdが.confファイルを参照しているため?)

これでcvsdのインストール完了


3. buildroot実行

$ sudo cvsd-buildroot /var/lib/cvsd

creating directory structure under /var/lib/cvsd... done.
installing binaries... cvs.
looking for non-linked system libraries... done.
installing libraries... done.
creating /var/lib/cvsd/dev devices... already there.
adding users to /var/lib/cvsd/etc/passwd....
fixing ownership... done.
chrooted system created in /var/lib/cvsd
if your cvs binary changes (new version) you should rerun cvsd-buildroot

※上記実行の後、buildrootしたパスに
 bin、dev、etc、lib、tmp、usr 各フォルダが生成


4. リポジトリ格納フォルダ

ここではvar/lib/cvsdの下に「cvsroot」というフォルダを作る
$ cd /var/lib/cvsd
$ sudo mkdir cvsroot


5. リポジトリ格納フォルダの所有者をcvsdに変更

$ sudo chown -R cvsd:cvsd cvsroot


6. リポジトリの初期化・バイナリファイルの定義

$ sudo cvs -d /var/lib/cvsd/cvsroot init
$ cd /var/lib/cvsd/cvsroot/CVSROOT
$ sudo chmod +w cvswrappers
$ sudo vi cvswrappers

# バイナリファイルとして指定する拡張子を追記

(記述例)

*.gif -k 'b'

$ sudo chmod -w cvswrappers


7. ユーザー・パスワードの作成

$ sudo cvsd-passwd /var/lib/cvsd/cvsroot hogehoge

'''/usr/sbin/cvsd-passwd: adding user 'hogehoge' to '/var/lib/cvsd/cvsrepo/CVSROOT/passwd
Enter new password:
Retype new password:

※ここでは、ユーザー「hogehoge」パスワード「hogehoge」と設定

この状態で/var/lib/cvsd/cvsroot内を確認すると、以下の構成となっている
$ sudo ls -l /var/lib/cvsd/cvsroot/

合計 4
drwxrwxr-x 3 root root 4096 2008-09-10 09:18 CVSROOT

$ sudo ls -l /var/lib/cvsd/cvsroot/CVSROOT

合計 132
drwxrwxr-x 2 root root 4096 2008-09-10 09:17 Emptydir
-r--r--r-- 1 root root 495 2008-09-10 09:17 checkoutlist
-r--r--r-- 1 root root 733 2008-09-10 09:17 checkoutlist,v
-r--r--r-- 1 root root 1232 2008-09-10 09:17 commitinfo
-r--r--r-- 1 root root 1470 2008-09-10 09:17 commitinfo,v
-r--r--r-- 1 root root 4082 2008-09-10 09:17 config
-r--r--r-- 1 root root 4320 2008-09-10 09:17 config,v
-r--r--r-- 1 root root 602 2008-09-10 09:17 cvswrappers
-r--r--r-- 1 root root 840 2008-09-10 09:17 cvswrappers,v
-rw-rw-r-- 1 root root 0 2008-09-10 09:17 history
-r--r--r-- 1 root root 1872 2008-09-10 09:17 loginfo
-r--r--r-- 1 root root 2110 2008-09-10 09:17 loginfo,v
-r--r--r-- 1 root root 1151 2008-09-10 09:17 modules
-r--r--r-- 1 root root 1389 2008-09-10 09:17 modules,v
-r--r--r-- 1 root root 876 2008-09-10 09:17 notify
-r--r--r-- 1 root root 1114 2008-09-10 09:17 notify,v
-rw-r--r-- 1 root root 28 2008-09-10 09:18 passwd
-r--r--r-- 1 root root 922 2008-09-10 09:17 postadmin
-r--r--r-- 1 root root 1160 2008-09-10 09:17 postadmin,v
-r--r--r-- 1 root root 1105 2008-09-10 09:17 postproxy
-r--r--r-- 1 root root 1343 2008-09-10 09:17 postproxy,v
-r--r--r-- 1 root root 1898 2008-09-10 09:17 posttag
-r--r--r-- 1 root root 2136 2008-09-10 09:17 posttag,v
-r--r--r-- 1 root root 957 2008-09-10 09:17 postwatch
-r--r--r-- 1 root root 1195 2008-09-10 09:17 postwatch,v
-r--r--r-- 1 root root 1203 2008-09-10 09:17 preproxy
-r--r--r-- 1 root root 1441 2008-09-10 09:17 preproxy,v
-r--r--r-- 1 root root 649 2008-09-10 09:17 rcsinfo
-r--r--r-- 1 root root 887 2008-09-10 09:17 rcsinfo,v
-r--r--r-- 1 root root 2255 2008-09-10 09:17 taginfo
-r--r--r-- 1 root root 2493 2008-09-10 09:17 taginfo,v
-rw-rw-r-- 1 root root 0 2008-09-10 09:17 val-tags
-r--r--r-- 1 root root 1481 2008-09-10 09:17 verifymsg
-r--r--r-- 1 root root 1719 2008-09-10 09:17 verifymsg,v



8. 該当するレポジトリのコンフィグレーションを編集

$ sudo vi /var/lib/cvsd/cvsroot/CVSROOT/config

SystemAuth=no

※この行を変更(defaultはコメントアウトなので、コメントアウトを外す)
※「SystemAuth=no」の後ろにコメントやスペース文字等入ると不正になるので注意


9. ネットワークCVSクライアントからのログイン設定

※Ubuntuではdefaultでinetdはインストールされていない模様
※inetdのインストールを行う必要あり

(1)openbsd-inetdのインストール

$ sudo apt-get install --fix-missing openbsd-inetd

状態情報を読み取っています... 完了
以下のパッケージは「削除」されます: inetutils-inetd
以下のパッケージが新たにインストールされます: openbsd-inetd
アップグレード: 0 個、新規インストール: 1 個、削除: 1 個、保留: 0 個。
34.9kB のアーカイブを取得する必要があります。
この操作後に 45.1kB のディスク容量が解放されます。
続行しますか [Y/n]? Y
エラー http://jp.archive.ubuntu.com hardy/main openbsd-inetd 0.20050402-6
jp.archive.ubuntu.com' を解決できませんでした'''
'''http://jp.archive.ubuntu.com/ubuntu/pool/main/o/op... の取得に失敗しました 'jp.archive.ubuntu.com' を解決できませんでした'''
(データベースを読み込んでいます ... 現在 94332 個のファイルとディレクトリがインストールされています。)
inetutils-inetd を削除しています ...
* Stopping internet superserver inetd [ OK ]

上記エラーの場合、openbsd-inetd_0.20050402-6_i386.debをwebブラウザから取得
もう一度
$ sudo apt-get install ...
でopenbsd-inetdのインストール完了

(2)inetd.confの設定

$ sudo vi /etc/inetd.conf

cvspserver stream tcp nowait root /usr/bin/cvs/ cvs --allow-root=/var/lib/cvsd/cvroot pserver

--allow-root=にレポジトリのルートパスを設定

(3)inetdのリスタート

$ sudo /etc/init.d/openbsd-inetd restart

* Restarting internet superserver inetd [ OK ]



10. スタンドアロンでのログインテスト

ここではワークフォルダは/home/hogehoge/workを指定
$ cd /home/hogehoge/work
$ cvs -d :pserver:hogehoge@localhost:/cvsroot login

Logging in to :pserver:hogehoge@localhost:2401/cvsroot
CVS password:
cvs login: CVS password file /home/hogehoge/.cvspass does not exist - creating a new file



11.既存プロジェクトのファイルを移行

既存プロジェクトをレポジトリファイルをルートフォルダの直下に用意
(ここでは/var/lib/cvsd/cvsrootの下にコピー)

(!)既存プロジェクトの「CVSROOT」は上書きしないよう注意


12. リポジトリファイルの所有者変更

11.でコピーしてきた既存プロジェクトのリポジトリファイル/フォルダは
所有者がcvsdになっていないのでcvsdに所有者変更する
(ここでは/var/lib/cvsd/cvsroot以下を再度所有者設定する)

$ cd /var/lib/cvsd
$ sudo chown -R cvsd:cvsd cvsroot


13.cvsクライアントからチェックアウト

(1)スタンドアロンでクライアントから特定のフォルダに対しcheckout

$ cd /home/hogehoge/work
$ cvs -d :pserver:hogehoge@localhost:/cvsroot login
$ cvs -d :pserver:hogehoge@localhost:/cvsroot checkout DIR

()2ネットワーク上のCVSクライアントからログイン・チェックアウト

WinCVSを使用する場合

CVSROOTは以下を指定する
:pserver:hogehoge@xxx.xxx.xxx.xxx:/cvsroot
ログインパスワードはhogehoge

※WinCVSでは、[管理]→[設定]→[WinCVS]タブのHOMEフォルダ
 (ローカルでのワークフォルダ)で指定した場所にサーバパスファイル(.cvspass)が出来る
 (このファイルの生成はWinCVSで「ログイン」実行した時)
 この中に記述されているパスがあってないとチェックアウトしたいレポジトリのパスが
 不正になりエラーになる模様
2008年09月12日(金) 14:31:34 Modified by sul_ho27




スマートフォン版で見る

×

この広告は60日間更新がないwikiに表示されております。