Setup Ubuntu Server


CVSサーバ

バージョン管理ソフトCVSを導入し、pserverを立ち上げる。

_ インストール

$ sudo apt-get install cvs

cvsはxinetdで管理するようにする。xinetdとはスーパサーバなどと呼ばれ、管理するサーバのすべてのポートを待ち、接続が来たら管理しているサーバを起動してそっちにデータを流す。これによりサーバを常駐させなくてすむようになる。

_ xinetdのインストール

$ sudo apt-get install xinetd

_ ユーザの追加

_ cvsを管理するユーザcvsuserを追加する。

$ sudo adduser cvsuser

_ リポジトリ作成

/home/cvsuser/cvsrootにリポジトリをつくる。

$ sudo su - cvsuser
$ mkdir /home/cvsuser/cvsroot
$ cvs -d /home/cvsuser/cvsroot/ init
$ exit

_ もうログインできないようにする

$ sudo chsh cvsuser 
Changing the login shell for cvsuser
Enter the new value, or press ENTER for the default
     Login Shell [/bin/bash]: /usr/sbin/nologin
$ 

_ cvsを利用するユーザのためのパスワードを作成する

$ sudo htpasswd -c /home/cvsuser/cvsroot/CVSROOT/passwd cvsuser

_ xinetdの設定にcvsを追加する。

$ sudo vi /etc/xinetd.d/cvspserver

以下を作成

service cvspserver
{
        disable = no
        port = 2401
        socket_type = stream
        protocol = tcp
        wait = no
        user = cvsuser
        passenv = PATH
        server = /usr/bin/cvs
        evn = HOME=/home/cvsuser
        server_args = -f --allow-root=/home/cvsuser/cvsroot pserver
}

_ xinetdをリスタート

$ sudo /etc/init.d/xinetd restart

_ ufwを有効にしている場合は2401を許可する

$ sudo ufw allow 2401

_ WindowsのCygwinから実行する

_ テストプロジェクト作成

$ mkdir testproj
$ cd testproj
$ cat > testfile.txt
aaa
bbb
ccc[Ctrl+D]
$ 

_ cvsにログイン

$ cvs -d :pserver:cvsuser@192.168.0.100:/home/cvsuser/cvsroot login

パスワードはhtpasswdで作ったものを入れる。

_ インポートする

$ cvs -d :pserver:cvsuser@192.168.0.100:/home/cvsuser/cvsroot import testproj mycompany firsttest
N testproj/testfile.txt

No conflicts created by this import

_ チェックアウト、コミットができるかテスト

$ cd
$ mkdir aaa
$ cd aaa
$ cvs -d :pserver:cvsuser@192.168.0.100:/home/cvsuser/cvsroot co testproj
cvs checkout: Updating testproj
U testproj/testfile.txt
$ cd testproj
$ echo ddd >> testfile.txt
$ cvs diff testfile.txt
Index: testfile.txt
===================================================================
RCS file: /home/cvsuser/cvsroot/testproj/testfile.txt,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 testfile.txt
3a4
> ddd
$ cvs ci -m 'add ddd'
cvs commit: Examining .
/home/cvsuser/cvsroot/testproj/testfile.txt,v  <--  testfile.txt
new revision: 1.2; previous revision: 1.1

_ WindowsのEclipseでテスト

[File]->[New]->[Project...]

nowrap,添付ファイルの画像

nowrap,添付ファイルの画像

nowrap,添付ファイルの画像

[Team]->[Commit]も動くか確かめる。

 
添付ファイル: filecotestproj.png 149件 [詳細] filecofromcvs.png 193件 [詳細] filenewproj.png 106件 [詳細]
 
Link: MenuBar(2472d)
Last-modified: 2009-01-23 (金) 13:49:47 (5573d)