歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Redhat7.0下CVSserver及webcvs配置

Redhat7.0下CVSserver及webcvs配置

日期:2017/2/27 14:15:42   编辑:更多Linux
  配置CVS server,費了很大的力氣才把它搞定,我是菜鳥,希望高手不要那磚頭Pai me,我只是不希望其它 菜鳥不再費這麼大的氣力了,其中引用其他作者的文字我用[/c&v]... [c&v/]指出了 我的系統為Redhat 7.0,運行Apache 1.CVS Server配置 RHLinux# mount /mnt/cdrom (如果不好用的話,你可以試一下mount -t iso9669 /dev/cdrom /mnt/cdrom) RHLinux# cd /mnt/cdrom/Redhat/RPM (不用解釋了吧) RHLinux# rpm -ivh cvs-1.10.8.8.i386.rpm (安裝cvs,你可以用rpm -qpl ...看安裝的詳細信息) RHLinux# vi /etc/service (應該有 cvspserver 2401/tcp # cvs client/server operations cvspserver 2401/udp # cvs client/server operations 這兩行) ([/c&v]以下具體的作者我找不到了,所以,我不能寫出作者的姓名,sorry 感謝他的辛勤勞動 要使cvs正常運行還需要對需要使用cvs的用戶進行設置,下面是我在 配置cvs使用的方法。首先建立一個用戶組cvs,可以使用groupadd或者 addgroup命名,也可以直接編輯/etc/group文件添加這個組,然後添加 一個用戶cvsroot, 然後修改/etc/passwd文件使cvsroot用戶的缺省組 是cvs組,而不是cvsroot組。建立/cvsroot目錄,然後修改/cvsroot的 屬主及屬性[c&v/]) RHLinux# groupadd cvs RHLinux# adduser cvsroot RHLinux# passwd cvsroot 修改/cvsroot的屬主及屬性 RHLinux# chown cvsroot.cvs /cvsroot RHLinux# chmod 755 /cvsroot(原本應該是771,但是我們要配置cvsweb.cgi,下面再談)。 RHLinux# cd /etc/xinetd.d RHLinux# vi cvspserver(創建一個新文件,文件名隨意,注釋為文件內容) /************************************************ service cvspserver (service後面的名稱一定要和你在/etc/service文件中的cvs服務名稱 一樣,但是我不知道/etc/service文件中的cvs服務名稱可以改否,rpm 方式安裝完後,那兩行就在那了-----我是菜鳥嘛:) { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = --allow-root=/home/cvsroot pserver log_on_failure += USERID } ************************************************/ RHLinux# cvs -d /home/cvsroot init (對cvs進行初始化,你會發現/home/cvsroot下多了一個CVSROOT的子目錄) RHLinux# /etc/init.d/xinetd restart (重新啟動xinetd) cvs -d :pserver:cvsroot@host:/home/cvsroot login (輸入cvsroot用戶在服務器上的口令,沒有出現錯誤提示就表示成功了.) (如果cvspserver成功起動後,netstat -l grep tcp應能看到以下行: tcp 0 0 *:cvspserver *:* LISTEN) 2.WinCvs(Windows下客戶端的配置): [/c&v] 啟動wincvs在Admin菜單中選擇preferences然後在global頁中設置CVSROOT,就是 :pserver:cvsroot@host:/cvsroot。在認證方式中選擇passwd file on the cvs server,


在下面的版本號中選擇合適的版本,執行Admin菜單中的login,在提示框輸入口令,如果 Output窗口出現以下提示: *****CVS exited normally with code 0***** 就表示我們現在可以在Windows下使用cvs服務了。[c&v/] 如何使用wincvs把自己的項目加到cvs中去 1) Make sure that all the source files you want to check into CVS are on one Directory (or subdirectories). This directory (folder) should NOT contain anything else! That is, it should not contain executables, object files (.o), class files (.class), etc. It should only contain the source files. 1) 確認你想加入的源文件全部在一個目錄下。這個目錄僅僅應當包含源文件,不應該有其他任何的可執行體、 *.O,*.class....等類型的文件 2) 在wincvs "Modules"窗口中包含你的源文件的目錄被選中 3) 在菜單"Create" ->"Import Module"選擇目錄,把它導入CVS 4) 重命名你的目錄 5) 其他相關的內容請看wincvs文檔 cvsweb配置 [/c&v]cvsweb是一個perl程序,現在的版本是1.93,記得要用新版,1.8以下有一個小小的漏洞,可以到綠盟查 一查。 由於是cgi程序,是以nobody用戶執行的,所以/cvsroot的屬性要設成775。開始我按章照搬,把屬性改成 771,結果項目的目錄就是不出來,埋葬了半天的青春:(還有記得把/cvsroot/CVSROOT/history的屬性 改成666。cvsweb.conf裡%CVSROOT數組的Configuration設成/cvsroot,就是cvs倉庫的路徑不要那個長長 CVSROOT變量。這些其實在它的說明文檔和程序注釋裡都講到了,只是這個世界是懶人的世界:) 一切都陽春白雪,可以埋頭寫程序了?只是cvs還有一個小小的DoS漏洞要跟大家說一下:( 每個cvs的操作過程會以操作用戶的身份在/tmp下臨時建一個鎖定了的目錄cvs_servPID,這時如果有人建 了大量的同類文件就會使cvs的操作出錯,會提示: cannot change permissions on temporary directory Operation not permitted 下面是測試的perl程序: #!/usr/bin/perl #$min和$max的值根據實際情況修改 $min=400; $max=4000; for ($x=$min;$x<=$max;$x++) { open CVSTMP, ">>/tmp/cvs-serv$x" or die "/tmp/cvs-serv$x: $!"; chmod 0600, "/tmp/cvs-serv$x"; close CVSTMP; } 解決方法: 使用server.c中的mktemp(3)函數或者其它任何可以產生唯一文件名的方法。在/tmp/目錄所在的分區使 用空間配額也能解決部分問題。 主要還是扎緊籬笆,莫讓別人闖進來,這畢竟是一個local的問題。 [c&v/] RHLinux# rpm -ivh cvsweb-1.79-3.noarch.rpm(顧不了那麼多了,饑不擇食嘛) RHLinux# cp /home/httpd/cvsweb.cgi /var/www/cgi-bin RHLinux# cd /etc/httpd/conf RHLinux# vi cvsweb.conf /************************************************************************ 找到%CVSROOT項 更改其子項 'Configuration'=>'/home/cvsroot', *************************************************************************/ 在浏覽器中敲入http://RHLinux/cgi-bin/cvsweb.cgi如果出現CVS Repository頁面也不要高興的太早 繼續進入下一級頁面,如果出錯,那麼 RHLinux# rlog (如果shell提示沒有這個命令的話,找這個文件rcs-xx.-xx.i386.rpm) RHLinux# rpm -ivh rcs......... (OK了嗎?沒有?那你自己再找找原因吧,我沒碰到過這種問題)



RHLinux# cp /home/httpd/cvsweb.cgi /var/www/cgi-bin RHLinux# cd /etc/httpd/conf RHLinux# vi cvsweb.conf /************************************************************************ 找到%CVSROOT項 更改其子項 'Configuration'=>'/home/cvsroot', *************************************************************************/ 在浏覽器中敲入http://RHLinux/cgi-bin/cvsweb.cgi如果出現CVS Repository頁面也不要高興的太早 繼續進入下一級頁面,如果出錯,那麼 RHLinux# rlog (如果shell提示沒有這個命令的話,找這個文件rcs-xx.-xx.i386.rpm) RHLinux# rpm -ivh rcs......... (OK了嗎?沒有?那你自己再找找原因吧,我沒碰到過這種問題)



Copyright © Linux教程網 All Rights Reserved