在FreeBSD上CVSD的安裝與配置--轉貼

 

要說明的是,我是按照老黃的cvsd安裝配置方法來進行的安裝,過程中發現了一些問題,所以我特別重新寫了一篇新的文檔,讓大家避免出現不必要的麻煩

1. 安裝cvsd 。(by huangyaoshifog)

建议使用源代码安装,我下载的CVSD1.0.13,configure时一定要使用如下选项: --with-libwrap。(by huangyaoshifog)
创建cvsd用户和cvsd组
。(by huangyaoshifog)

建议使用: sysinstall 创建组cvsd。(by huangyaoshifog)

建议实用:adduser 创建用户cvsd。(by huangyaoshifog)

创建用户时:密码验证选YES,但是要设置空密码。属于cvsd组,用户要激活(不能lock out)。(by huangyaoshifog)
2. 配置cvsd
注意:在真正啟動cvsd服務之前,你需要確定當前並沒有啟動基於inetd的cvs服務器。請將/etc/inetd.conf中的cvs pserver的服務加上註釋。如果有兩個cvs服務器同時運行,第二個運行的服務器將不能綁定端口的。

之後讓我們來建立我們想要存放代碼的目錄,執行下列命令:
代碼:
执行这些命令之前要su cvsd ,记住不能用root用户创建。(by huangyaoshifog)
mkdir /home/quake/cvsd
mkdir /home/quake/cvsd/test

cvsd是我們的cvs庫的根目錄,這個目錄用來存放我們的各個源碼目錄以及以jail方式運行cvs時所需的一些必要的文件,主要是一些系統文件。而test目錄就是我們一個源碼庫的目錄。建好這些目錄以後我們最後會對源碼庫目錄初始化一下:
代碼:
执行这个命令之前要su cvsd ,记住不能用root用户创建。(by huangyaoshifog)

cvs -d /home/quake/cvsd/test init

之後我們對cvsd的配置文件進行一些必要的配置,以保證正常的運轉:
代碼:

# 設置我們源碼庫的根目錄
RootJail /home/quake/cvsd

# 啟動cvs的用戶
Uid cvsd

# 啟動用戶所屬的組
Gid cvsd

# Nice <num>
Nice 1

# 文件存放掩碼,027說明文件的存放權限為750,如果使用cvsweb,需要設置為022
Umask 027

# 出錯時不生成coredump
Limit coredumpsize 0

# 運行時pid文件,通過修改這個,我們可以通過不同的cvsd.conf啟動多個cvsd服務器
PidFile /var/run/cvsd.pid

# cvsd服務器監聽的地址和端口
#Listen * 2401

# 最大連接數
MaxConnections 10

#日值文件,設置格式為 Log <scheme/file> [<loglevel>]
Log syslog info
#Log /var/log/cvsd.log debug

#設置源碼庫的路徑
# Repos <path>
Repos /test


這裡特別需要注意的是Uid和Gid一定是已經存在於系統的用戶和組,否則cvsd是無法啟動的。同時還需要說明的是,這個Uid和Gid與運行在jail中的cvsd的用戶/組沒有任何關係。
之後我們開始為源碼庫建立用戶帳號。我們通過下列命令來完成:
代碼:
执行这些命令之前要su cvsd ,记住不能用root用户创建。(by huangyaoshifog)

cvsd-passwd /home/quake/cvsd/test quake
(輸入帳號密碼)

执行这些命令之前要su root,必须用root用户创建。(by huangyaoshifog)

cvsd-buildroot /home/quake/cvsd


必須注意的是,至少在現在的cvsd 1.0的版本中,在運行cvsd-buildroot命令前,我們必須在服務器根目錄中有至少一個源碼庫,而這個源碼庫中已經使用cvsd-passwd 生成了至少一個帳號,即在源碼庫中生成一個帶有帳號的passwd文件。然後再運行cvsd-buildroot構建jail所需的系統文件。否則通過 cvsd-passwd添加的帳號將無法由cvsd服務器使用。在此之後我們再添加新的帳號和源碼庫的時候都會自動的通過其中的passwd文件來進行認證了,不需要再次執行cvsd-buildroot命令。而且經過我反覆測試,現在在源碼庫目錄中的CVSROOT/config文件裡面增加 SystemAuth=no設置已經不具有任何意義了。無論是否設置它,只要在運行cvsd-buildroot前使用cvsd-passwd添加一個帳號,cvsd都會通過源碼庫中的passwd文件進行認證。

 

2 出现错误提示如下:


open /dev/null failed
Operation not supported

 

解决办法: 服务器段运行如下命令

mount -t devfs none /home/cvsd/dev

出现错误提示如下时:

cvs login: warning: failed to open /root/.cvspass for reading: No such file or directory

说明你现在正在使用root执行CVS -d :pserver:xyf@localhost:/cvsroot login命令

cvs不允许用ROOT登录

可以切换大其他用户登录

3、创建软件仓库

创建软件仓库,如“coolsoft”,用如下命令:

# cvs -d /var/lib/cvsd/coolsoft init

这个命令将创建目录 /var/lib/cvsd/coolsoft,并在其下创建一个 CVSROOT 目录树。

如果您允许用户创建此仓库的顶级目录:

# chown cvsd:cvsd /var/lib/cvsd/coolsoft

编辑文件 /var/lib/cvsd/coolsoft/CVSROOT/config 修改“LockDir”选项:

LockDir /tmp/coolsoft

这个目录是相对于“RootJail”目录,如 /var/lib/cvsd。必须手工创建此目录:

# mkdir /var/lib/cvsd/tmp/coolsoft
# chown cvsd:cvsd /var/lib/cvsd/tmp/coolsoft

现在,创建所有可以访问这个仓库的用户和他们的密码:

# cvsd-passwd /var/lib/cvsd/coolsoft jack

如果您允许匿名访问这个仓库,创建一个用户,名为“anonymous”或“anoncvs”,并设置密码为空:

# cvsd-passwd /var/lib/cvsd/coolsoft anoncvs

创建新文件 /var/lib/cvsd/coolsoft/CVSROOT/writers

# touch /var/lib/cvsd/coolsoft/CVSROOT/writers

可以保护仓库的访问权限,否则所有的用户都可以对本仓库有写入权限。在这个文件里,加入所有可以对本仓库有写入权限的用户名,一行一个用户。

如果您不允许用户创建仓库的顶级目录,您可以先创建将要用到的顶级目录,以存放用户递交的文件:

# cd /var/lib/cvsd/coolsoft
# mkdir client server
# chown cvsd:cvsd client server

4、启动 cvsd,测试软件仓库及权限

启动 cvsd,使用命令

# /etc/init.d/cvsd start

测试新的仓库:

# cvs -d :pserver:jack@myhost.at.office/coolsoft login
# cvs -d :pserver:jack@myhost.at.office/coolsoft co client

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值