配置管理使用说明04.docx
- 文档编号:24473202
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:20
- 大小:55.40KB
配置管理使用说明04.docx
《配置管理使用说明04.docx》由会员分享,可在线阅读,更多相关《配置管理使用说明04.docx(20页珍藏版)》请在冰豆网上搜索。
配置管理使用说明04
配置服务器(CVS与SVN)操作手册
时间:
2007年4月6日
研发部
1CVS安装配置
1.1.CVS服务器环境
机器配置:
CPUP43G、内存1G、硬盘160G;
操作系统:
redhatlinux企业版5.0
机器IP:
10。
142。
49。
232
用户/密码:
root/polariscvs
初始资源库目录/home/cvsroot
CVS版本:
CVS1.11.22+CVSACLPatch1.2.5(权限控制补丁)
1.2.CVS安装、配置
1.2.1.CVS安装
1)删除redhatlinux企业版5.0自带的CVS服务
#rpm–qa|grepcvs//查看服务器是否安装CVS服务
#rpm–ecvs版本号//删除当前CVS版本
2)安装CVS
从网上下载最新的CVS版本,注意要源代码版CVS1.11.22,然后下载与之对应的CVSACLPatch1.2.5(最好能下载到CVS已把CVSACL集成进去的版本)。
Cd到CVS当前目录,执行以下操作进行编译、安装:
#./configure
#make
#makeinstall
运行CVS,进行测试是否已安装。
1.2.2.CVS配置
1)建立了cvsroot用户,及CVS用户组
2)改变/home/cvsroot的目录权限
采用cvsroot用户登陆,执行以下操作:
#chmod770/home/cvsroot
#chmodg+s/home/cvsroot
3)初始化cvs源码库
#cvs–d/home/cvsrootinit
4)创建可以登陆cvs服务的用户及密码,需要创建文件passwd
#vi/home/cvsroot/CVSROOT/passwd
文件内容如下:
steven:
xxxxx:
cvsroot
8.xxxxxx为密码,由以下文件生成:
vi/home/cvsroot/passwd.pl文件内容:
#!
/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";
5)加入cvs服务(缺省情况下配置如下)
#vi/etc/services
cvspserver2401/tcp#pservercvsservice
cvspserver2401/udp#pservercvsservice
6)cvs服务由inted来唤起,因此需要改动inetd提供的服务
在xinetd.d目录下添加需要启动的服务:
cd/etc/xinetd.d
vicvspserver
文件内容:
servicecvspserver
{
disable=no
flags=REUSE
socket_type=stream
wait=no
user=root
server=/usr/bin/cvs
server_args=-f--allow-root=/home/cvsrootpserver
log_on_failure+=USERID
}
7)在/etc/profile文件中增加以下
CVSROOT=":
pserver:
$USER@localhost:
/home/cvsroot"
ExportCVSROOT
8)重新启动inetd
#servicexinetdrestart
Netstat–l|grepcvspserver//查看是否启动
结果如下:
tcp00*:
cvspserver*:
*LISTEN
1.2.3.建立多个源代码仓库
两种方式:
1)共用一端口
修改cvspserver,给server_args指定多个源代码路径
由于xinetd的server_args长度有限制,可以在cvspserver文件中,把服务器设定重定到另外一个文件中:
例如:
Server=/home/cvsroot/cvs.run
在/home/cvsroot/cvs.run文件中创建并执行:
#!
bin/bash
/user/bin/cvs–f
--allow-root=/home/cvsroot/src1
--allow-root=/home/cvsroot/src2
Pserver
2)采用不同端口提供服务
2CVS日常维护说明
2.1.管理涉及到的配置文件
涉及到的配置文件(/home/cvsroot/CVSROOT/目录下):
1)aclconfig:
acl权限控制处理的配置文件,一般不需要再进行修改;
2)config:
cvs本身的配置文件,一般无须修改;
3)passwd:
定义访问的用户,及密码,增加、变动用户、密码时候要进行修改;
4)passwd.pl:
是一个执行脚本,用来生成用户密码,#./passwd.pl用户密码;
5)group:
acl权限控制中,用户组定义文件,一般用户属于哪个组,要常修改;
6)access:
acl权限控制中,定义用户组、用户访问文件、目录、分支、tag的权限。
2.2.配置说明
1)用户密码生成:
#/home/cvsroot/CVSROOT/passwd.pl用户密码回车后,返回加密后的用户密码;
2)增加、删除用户(可以采用linux的图形界面操作)
#cd/home/cvsroot/CVSROOT
#vipasswd
进入文件passwd后,采用’o’插入操作,增加用户,格式(用户:
密码:
cvsroot)
按’esc’后,再按’:
wq!
’保存退出
3)把用户加到相应权限的组中
比如用户test,要加入到testgroup组中,格式如下:
testgroup:
test,test2,test3
格式:
组名:
用户,用户,用户
4)定义用户组、用户访问文件、目录、分支、tag的权限
Ø可用命令方式,或直接修改access文件两方式;
命令方式:
#cvsracl[user||group:
permissions][-Rl][-rtag][directories…][files…]
-R:
processdirectoriesrecursively
-r:
revExistingrevision/tag
-l:
ListdefinedACLs
Acl命令也类似
Ø直接修改文件方式:
文件格式:
#therightofp
d:
ALL:
ALL:
jiguo!
p:
#theaccessrightofprojA
d:
projA:
ALL:
groupname1!
a:
d:
projB:
HEAD:
groupname2!
b:
Ø注意:
ALL:
Forbranch/tagfield
HEAD:
Defaultvaluedonotgivethebranch/tagInformation
2.3.7种权限
1)Noaccess–n;//无任何权限
2)read–r;//只读取权限
3)write–w(不包括c);//只能写操作,但无创建权限
4)tag–t;create–c(不包括W);//标记权限,但无创建,写权限
5)delete–d(不包括W);//删除权限,但不包括写权限
6)fillaccessexceptadminrights–a;//除了管理权限外,其它权限都有
7)acladmin–p(权限最大)//最大权限
3SVN配置服务器安装
3.1.安装说明
第一、安装ApacheServer
第二、安装SVN
第三、邮件通知脚本/修改log脚本/强制写log脚本
安装具体步骤如下:
3.1.1.安装Apache2.2.3
这里可以下载http:
//apache.justdn.org/httpd/httpd-2.2.3.tar.gz
#serviceiptablesstop //关闭linux防火墙
#wgethttp:
//apache.justdn.org/httpd/httpd-2.2.3.tar.gz //下载apache安装包
#chmoda+xhttpd-2.2.3.tar.gz //添加可执行权限
#tarzxvfhttpd-2.2.3.tar.gz //解压缩安装包
#cdhttpd-2.2.3 //进入安装目录
#./configure--enable-module=so--enable-dav--enable-dav-fs--enable-dav--enable-so--prefix=/usr/local/apache2 //--enable-module=so配置Apache支持DynamicSharedObjects(DSO)模式,--enable-dav即添加mod_dav.so模块,--enable-dav-fs即添加mod_dav_fs.so模块,--prefix=/usr/local/apache2是所需要安装到的目录位置。
#make //进行编译
#makeinstall //编译后进行安装
安装完毕,进行测试。
#vi/usr/local/apache2/conf/httpd.conf //修改apache配置文件
将ServerName修改为ServerName:
80
#cd/usr/local/apache2/bin //进入apache控制脚本目录
#./apachectlstart //启动apache
用IE打开http:
//192.168.10.100,可以看到Itworks!
说明apache已经可以正常工作了。
3.1.2.安装SVN1.4.0
#wget //下载subversion安装包
#chmoda+xsubversion-1.4.0.tar.gz //添加可执行权限
#tarzxvfsubversion-1.4.0.tar.gz //解压缩安装包
#cdsubversion-1.4.0 //进行安装目录
#./configure--prefix=/usr/local/subverion--with-apxs=/usr/local/apache2/bin/apxs //--with-apxs指定apxs的安装的目录,可以在安装过程中自动生成两个必要的模块文件mod_dav_svn.so和mod_authz_svn.so以及能够支持它们可以正常地工作。
#make
#makeinstall
3.1.3.创建用户svnroot,及创建用户文件、访问控制文件
在图形界面下,或者useraddsvnroot创建用户
并在/home/svnroot/下创建conf目录,用来存放所有资源库的用户与用户授权控制文件
#htpasswd-c-m/svndata/test/passwd.confwindy //在/svnroot/test下创建用MD5方式加密的密码文件passwd,-c参数为create的意思,-m参数为以MD5加密方式
Newpassword:
xxxxxx
Re-typenewpassword:
xxxxxx
Addingpasswordforuserwindy //添加成功
注意访问控制文件:
authz.conf
文件格式:
用户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:
/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin=mangosoft
[/]
@admin=rw
[test:
/]
@admin=rw
lsw=rw
3.1.4.创建资源库及配置
注意,不要用root用户登陆,采用cvsroot用户登陆进行资源库的创建。
$svnadmincreate--fs-typefsfs/home/svnroot/test //在SVN根目录下创建一个名叫test的仓库,--fs-type为指定仓库的文件格式为fsfs
修改版本/home/svnroot/test/conf/svnserve.conf
内容修改为:
[general]
anon-access=none
auth-access=write
password-db=/home/svnroot/conf/passwd.conf
authz-db=/home/svnroot/conf/authz.conf
realm=test
3.1.5.修改apache配置文件
修改apache配置文件。
#vi/usr/local/apache2/conf/httpd.conf
#Example:
#LoadModulefoo_modulemodules/mod_foo.so
在这下面检查这两行,一般会自动加入,如果没有则要手工加入
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
apache进程的权限:
因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在/opt/apache-2.2.3/conf/httpd.conf文件中配置,找到文件中的这两行:
Userdaemon#将daemon改为svnroot,
Groupdaemon#将daemon改为svnroot,
#vi/opt/apache-2.2.3/conf/httpd.conf
//在最下面添加
DAVsvn
SVNParentPath/home/svnroot/repository///svn父目录
(注意SVNPath与SVNParentPath之间区别:
SVNPath针对单个资源库repository;而SVNParentPath是针对多资源库,这个参数设置时候,后面的/home/svnroot/conf/authz.conf设置需要注意,[repository:
/]与[/]区别,[repository:
/test]与[/test]区别)
AuthzSVNAccessFile/home/svnroot/repository/authz.conf//权限配置文件
AuthTypeBasic//连接类型设置
AuthName"Subversion.zoneyump"//连接框提示
AuthUserFile/home/svnroot/conf/passwd.conf//用户配置文件
Requirevalid-user//采用何种认证
//其中passwd.conf是通过
htpasswd-b-c/home/svnroot/repository/passwd.confusernamepassword
//来创建的
//"Requirevalid-user"告诉apache在authfile中所有的用户都可以访问。
如果没有它,
//则只能第一个用户可以访问新建库
3.1.6.配置在linux下apache自动启动的标准脚本
#/usr/local/apache2/bin/apachectlrestart //重启apacheserver
#cd/etc/init.d
#viapache
加上以下脚本
#!
/bin/sh
#description:
Apacheautostart-stopscript.
#chkconfig:
-2080
APACHE_HOME=/usr/local/apache2
APACHE_OWNER=root
if[!
-f"$APACHE_HOME/bin/apachectl"]
then
echo"Apachestartup:
cannotstart"
exit
fi
case"$1"in
'start')
su-$APACHE_OWNER-c"$APACHE_HOME/bin/apachectlstart"
;;
'stop')
su-$APACHE_OWNER-c"$APACHE_HOME/bin/apachectlstop"
;;
'restart')
su-$APACHE_OWNER-c"$APACHE_HOME/bin/apachectlrestart"
;;
esac
#chmod770apache
#chkconfig--addapache
#ntsysv
在图象化界面中选种apache自动启动。
Ok,测试Apache
#serviceapachestart
#serviceapachestop
#serviceapacherestart
测试SVN
用IE打开http:
//192.168.10.100/svn,输入用户名和密码,能看到以下信息,说明我们已经配置成功了。
Revision0:
/
--------------------------------------------------------------------------------
PoweredbySubversionversion1.4.0(r21228).
4SVN日常维护说明
4.1.概述
Svn日常的维护,主要涉及到一下几个方面:
(一)资源库的新建、及多资源库问题
(二)资源库,及资源库下项目的权限分配问题
(三)用户维护问题;
(四)客户端程序支持及使用
(五)与eclipse开发工具结合
4.2.资源库创建、及多资源库问题
创建资源库操作:
cvsroot(密码:
cvsroot)用户登陆,执行以下操作:
$svnadmincreate--fs-typefsfs/home/svnroot/具体资源库名称
4.3.权限控制问题
注意访问控制文件:
authz.conf
文件格式:
用户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:
/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin=mangosoft
[/]
@admin=rw
[test:
/]
@admin=rw
lsw=rw
中文目录结构问题:
可以采用Uedit32工具,完成/home/svnroot/conf/authz.conf文件由asiic转化成utf-8格式后,即可。
4.4.用户维护问题
直接在root用户登陆,执行以下操作:
#htpasswd-c-m/home/svnroot/conf/passwd.conf用户名
#htpasswd-m/home/svnroot/conf/passwd.conf用户名
-c:
表示重新创建一passwd.conf文件;
-m:
添加用户;
4.5.客户端程序支持及使用
4.5.1.安装
客户端安装TortoiseSVN-1.4.3.8645-win32-svn-1.4.3.msi
及LanguagePack-1.4.3.8645-win32-zh_CN.exe
4.5.2.使用
比如一个项目的目录结构如下:
DeptManage:
--部门管理
--队伍建设
-工作周报
--产品部
--研发部
--管理规范
--会议记录
。
。
。
。
。
。
1)该项目导入到SVN服务器上
注意,10.142.49.232为本SVN配置服务器的IP地址
访问该SVN配置服务器的URL地址为:
http:
//10.142.49.232/svn/run/DeptManage
注:
svn:
表示SVN资源库的路径
run:
表示资源库为run
DeptManage:
表该项目名称
点“确定”后:
根据提示输入用户名/密码
注意:
如果无次用户,或者用户无权限,则会显示错误,Fibbden无权限;
如果密码不对,则会重复让用户输入操作。
2)项目的checkout或导出操作
可以点鼠标右键,‘TortoiseSVN’’版本库浏览器’后,根据提示输入访问SVN服务器的URL地址:
比如:
http:
//10.142.49.232/svn/run/
则该用户就可以看到他有权限浏览的信息,否则会看不到信息
如图,就可根据需要。
比如要导出DeptManage,则点右键,选择‘检出’或‘导出’后,就可以把DeptManage整个导到本地;
3)文件修改
DeptManage上的资料导到本地后,根据需要修改文件,然后可以点文件由键,直接选提交就可。
4)其它
4.6.与eclipse整合
4.6.1.安装
要在开发平台eclipse上,支持svn,需要安装svn客户端插件:
1)到网上下载eclipse对应版本的subclipse插件,下载插件地址如下:
h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配置管理 使用说明 04