一、服務器端的安裝與配置
(一)CVS的安裝
通常情況下,安裝操作系統(tǒng)的時候就安裝了CVS.這里首先使用root用戶(其他用戶下通過sudo)可以通過命令:
debian:~#whereiscvs
cvs:/usr/bin/cvs/usr/X11R6/bin/cvs/usr/bin/X11/cvs/usr/share/man/man1/cvs.1.gz/usr/share/man/man5/cvs.5.gz
這說明我的系統(tǒng)也已經安裝了CVS,通常位于/usr/bin下.
如果系統(tǒng)尚未安裝CVS的話,可以通過
debian:~#apt-getinstallcvs
對一個不同的發(fā)行版有不同的安裝方法,最基本的方法就是下載源碼包(.tar.gz的包),然后自己一步一步安裝。主要就是解壓,configure,make,makeinstall這幾步。
另外一個要提醒的是,曾有的文章中寫到還要安裝CVSD。本人Google了一下,得知CVSD是一個CVS的輔助工具,可以是CVS的配置更加方便。不安裝他也沒關系,所以我們直接配置CVS,而且本生CVS的manual也說了這個安裝好的CVS本身就即是服務器也是客戶端,主要就是看如何對CVS的配置了。
下面重點介紹CVS服務器段的配置。
(二)CVS服務器端的配置
1.創(chuàng)建cvs組和用戶
1)創(chuàng)建cvs組
debian:~#groupaddcvs
2)創(chuàng)建的新用戶HOME目錄
debian:~#mkdir/home/cvsroot
3)添加新用戶cvsroot,并將其添加至cvs組,并指定其HOME目錄
debian:~#useradd-gcvs-Gcvs-d/home/cvsrootcvsroot
4)設置cvsroot用戶的密碼,我這里為:cvsroot
debian:~#passwdcvsroot
EnternewUNIXpassword:
RetypenewUNIXpassword:
passwd:已成功更新密碼
5)更改/home/cvsroot/目錄及其子目錄的屬主和屬組,因為是在root用戶下間的該目錄,他的屬主和屬組都是root,這里我們要將其屬主改為cvsroot,屬組改為cvs,保證cvs組的用戶對該目錄有相應的權限。
debian:~#chown-Rcvsroot.cvs/home/cvsroot/
6)更改/home/cvsroot目錄屬性,保證cvsroot同組(cvs組)的其他用戶也有讀寫和執(zhí)行權,我們以后要為cvs組添加用戶
debian:~#chmod-R775/home/cvsroot/
2.切換至cvsroot用戶,并創(chuàng)建一個倉庫
1)切換用戶
debian~#sucvsroot
2)設置全局變量CVSROOT,指定倉庫所在的目錄
debian:/root$exportCVSROOT=/home/cvsroot/
3)創(chuàng)建倉庫
debian:/root$cvsinit
3.提交源入源代碼
1)進入代碼所在目錄,也就是你想做成CVS控制的源代碼目錄,我這里是/home/usbprj/,目錄下文件有:
debian:/root$cd/home/usrprj/
debian:/home/usbprj$ls
MakefileModule.symverstest.cusb-skeleton.c
裝載cvsimport-m"[repositorytest]"[cvstest][vendortag][releasetag]
-m后面引號內填入log內容,接下來是源代碼模塊名稱,接著是裝載者,最后是標識符號,我這里是:
debian:/home/usbprj$cvsimport-m"Myproject"usbprjcvsrootstart
Nusbprj/Makefile
Nusbprj/test.c
Nusbprj/Module.symvers
Nusbprj/usb-skeleton.c
Noconflictscreatedbythisimport
此時,我們的源碼也提交了,說明module已經建立了。其目錄為:/home/cvsroot/usbprj/
2)如果我們在root用戶(或者其他用戶,但必須保證該用戶對于存放module的目錄有寫的權限)下測試,checkout出這一個module,可以執(zhí)行如下:
debian:/home/usbprj#cvs-d/home/cvsrootcheckoutusbprj
cvscheckout:Updatingusbprj
Uusbprj/Makefile
Uusbprj/Module.symvers
Uusbprj/test.c
Uusbprj/usb-skeleton.c
說明在本地可以checkout出來,而且他會自動在當前目錄下創(chuàng)建以該module名為名的目錄項,不管你checkout出來的是一個源碼文件還是整個module。我這里checkout出來的module路徑為/home/usbprj/usbprj/下。
4.創(chuàng)建登錄CVS服務器的用戶和密碼
1)在/home/cvsroot/CVSROOT/下創(chuàng)建passwd文件,并編輯內容如下:
cvsuser1:*****:cvsroot
cvsuser2:*****:cvsroot
這個文件的意思是有cvsuser1和cvsuser2兩個登錄cvs服務器的用戶,登陸后的權限是cvsroot權限,即第三個字段指定。
注意:這里的新建用戶的兩個新建登錄cvs服務器的用戶和系統(tǒng)用戶是不同的,這兩個用戶不能用來登錄系統(tǒng),只能登錄cvs服務器。這里我們默認不允許系統(tǒng)用戶登錄cvs服務器。
2)其中,passwd文件中每行的第二個字段“*****”為用戶cvsuser1和cvsuser2密碼的加密口令?梢酝ㄟ^下面文件對用戶密碼加密。
文件名:passwdgen.pl.該文件是perl的腳本。必須保證系統(tǒng)安裝了perl才可執(zhí)行該文件。
內容如下:
#!/usr/bin/perl
srand(time());
my$randletter="(int(rand(26))+(int(rand(1)+.5)%2?65:97))";
my$salt=sprintf("%c%c",eval$randletter,eval$randletter);
my$plaintext=shift;
my$crypttext=crypt($plaintext,$salt);
print"${crypttext}\n";
為該文件添加可執(zhí)行權限,
debian:~$chmod+xpasswdgen.pl
用戶cvsuser1和cvsuser2用戶生成加密口令:
debian:~$./passwdgen.plcvsuser1
ZGzWKlE1mv4EY
debian:~$./passwdgen.plcvsuser2
LFfpGaDMC/Cj6
用法:passwdgen.plyourpasswd.其中,yourpasswd即你所需要設定的密碼。我這里給我的兩個用戶的密碼和用戶名同名,呵呵,為了方便。其中生成的加密口令為13個字符,是由[0-9][A-Z][a-z][.][/]組成。把生成的加密口令替換到passwd文件中相應的“*****”字段即可。
5.設置開機啟動CVS服務
我們這里使用xinetd啟動,如果系統(tǒng)沒有安裝xinetd的話,安裝之。
1)檢查/etc/services中,cvspserver是否開啟。cvspserver是遠程登錄CVS服務器時對用戶的驗證方式。
debian:~$cat/etc/services|grepcvspserver
#sourceslikehttp://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services.
cvspserver2401/tcp#CVSclient/serveroperations
cvspserver2401/udp
這說明我的系統(tǒng)已打開該服務。如果最后兩行前面有“#”字符,把他刪除就可以了。
2)創(chuàng)建cvspserver文件 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|