收藏 分销(赏)

WM-130-006-A-0_SVN服务端配置管理使用指导.docx

上传人:xrp****65 文档编号:8874731 上传时间:2025-03-06 格式:DOCX 页数:16 大小:70.55KB 下载积分:10 金币
下载 相关 举报
WM-130-006-A-0_SVN服务端配置管理使用指导.docx_第1页
第1页 / 共16页
WM-130-006-A-0_SVN服务端配置管理使用指导.docx_第2页
第2页 / 共16页


点击查看更多>>
资源描述
SVN服务端配置管理使用指导 作者 确认 批准 姓名 潘涛 许娟萍 林澜 日期 2007-12-24 2007-12-25 2007-12-27 版权所有,©北京福富软件技术股份有限公司福州分公司 电信信息化部 修订历史记录 版号 改号 日期 作者 修订要点 A 0 2007-12-24 潘涛 新做成 目录 1 概述 4 2 SVN简介 4 3 SVN安装指南 4 3.1 相关软件 4 3.2 软件安装配置 5 3.2.1 安装配置SVN服务器 5 3.2.2 安装配置apache服务器 5 3.2.3 安装配置修改密码的cgi程序 7 4 SVN库目录结构 9 4.1 部门SVN工作目录 9 4.2 部门SVN备份目录 11 5 创建配置SVN工作库 11 5.1 使用tortoiseSVN建SVN空库 11 5.2 在Apache中配置SVN工作库 12 6 创建配置SVN备份库 13 6.1 使用tortoiseSVN建SVN空库 13 6.2 在Apache中配置SVN备份库 13 7 SVN用户管理 14 8 SVN库权限配置 15 1 概述 软件配置管理是项目运作的一个支撑平台,它将项目所有成员的工作协同起来,实现高效的团队沟通,使工作成果及时共享。为进一步规范配置管理,提高软件协同开发的工作效率,电信信息化部引入开源软件Subversion(以下简称SVN)作为统一的版本管理工具,本文主要对SVN服务端配置管理进行指导性说明。 本指导书适用于电信信息化部的各产品部及南京分公司。 2 SVN简介 SVN全名Subversion,是一种开放源码的全新版本控制系统。SVN支持客户端通过http,https,专用的SVN协议,以及SVN+ssh来访问,库目录可以不用以目录写共享的方式让客户端直接访问。可以有效的进行权限控制,支持客户端设置代理,能有效保证数据源安全性以及数据传输安全性。 对于我们的应用,将采用https的方法访问SVN库,使用的web服务器需要是apache。 3 SVN安装指南 3.1 相关软件 · SVN server:SVN1.4.5,for windows,是目前最新版本 File:svn-win32-1.4.5.zip 下载地址: http://subversion.tigris.org/project_packages.html · SVN client:TortoiseSVN 1.4.5,是目前最新版本 下载地址: http://tortoisesvn.tigris.org/ · Apache server:apache2.2.4加SSL支持,for windows File: httpd-2.2.4-win32-x86-ssl.zip 下载地址: 用户通过网页修改密码的cgi程序:passwd.cgi 3.2 软件安装配置 以下以软件安装在D:\svn目录为例,SVN server安装目录为d:\svn\svn-win32-1.4.5, apache的安装目录为D:\svn\Apache2。tortoiseSVN安装路径可以任意指定。 3.2.1 安装配置SVN服务器 将SVN1.4.5解压在d:\svn\svn-win32-1.4.5下,安装TortoiseSVN。因为采用apache来访问SVN库,因此SVN服务器的主要作用仅为apache提供必要的动态库。服务端上对SVN库的直接操作则通过tortoiseSVN来进行。 设置相关的环境变量: 1)增加svn的bin目录到path环境变量中 set path= d:\svn\svn-win32-1.4.5\bin;%path% 2)设置APR_ICONV_PATH set APR_ICONV_PATH= d:\svn\svn-win32-1.4.5\iconv 3.2.2 安装配置apache服务器 将apache服务器安装在d:\svn\Apache2目录下。然后进行配置。 1) 将svn 服务器bin目录下的mod_dav_svn.so、mod_authz_svn.so录复制到apache的modules目录下。 2) 修改d:\svn\Apache2\conf\http.conf · 修改apache的安装目录 将原先配置文件里头Apache的目录替换为本次的apache的安装目录。配置文件里头缺省是c:\apache2,我们此次安装目录是d:\svn\Apache2,将c:\apache2全部替换为d:\svn\Apache2。 · 修改apache导入的模块,导入DAV,SVN相关模块 去除下面两行行头的注释号’#’,使apache导入这两个模块: #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_module modules/mod_dav.so 在Load模块最后增加如下两行: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so · 修改conf\httpd.conf配置文件,使其包含ssl配置文件httpd-ssl.conf。 在httpd.conf里头,有如下配置 …… # Secure (SSL/TLS) connections #Include conf/extra/httpd-ssl.conf ……. 去除#Include conf/extra/httpd-ssl.conf前的注释号,将其改为 Include conf/extra/httpd-ssl.conf 3) 修改conf\extra\ httpd-ssl.conf文件 · https缺省监听端口是443,调整为4443,相关内容如下: Listen 4443 <VirtualHost _default_:4443> · 修改apache的相关目录,将其替换为apache的安装目录 DocumentRoot " d:/svn/Apache2/htdocs" ErrorLog d:/svn/Apache2/logs/error_log TransferLog d:/svn/Apache2/logs/access_log · 修改SSL相关证书密钥文件路径 # Server Certificate: SSLCertificateFile d:/svn/Apache2/conf/server.crt # Server Private Key: SSLCertificateKeyFile d:/svn/Apache2/conf/server.key SSL要求有Server Certificate和Server Private Key。需要在相应目录下生成需要的认证和key文件。 4) 将apache的bin目录添加到系统的path变量中 5) 创建名为“svn-apache”的apache服务 敲入命令:httpd –n svn-apache –k install,即创建了名为“svn-apache”的apache服务。然后可以通过windows服务管理程序来起停该服务。连接到https://127.0.0.1:4443/检查缺省网页是否能够正常显示。 3.2.3 安装配置修改密码的cgi程序 Passwd.cgi需要放在apache的cgi-bin目录下,可以根据需要更改名字,其对应的配置文件是其名字加上.ini后缀。一个cgi及其配置为一组合,可以修改一个密码文件。多个部门,需要有多套的cgi及对应的ini文件。 该文件同时需要旧版(2.0版)的apache的动态链接库libapr.dll、libapriconv.dll、libaprutil.dll。这三个文件需要也放在cgi-bin目录下。 Ini文件格式样例如下: [path] authuserfile=F:/svn_data/ddrv/ddrv_passwd logfile=osspass.log [setup] passminlen=6 [html] title=修改开发推进部用户SubVersion密码 description=修改开发推进部用户SubVersion密码 yourname = 用户名 oldpasswd = 旧密码 newpasswd1 = 新密码 newpasswd2 = 验证新密码 btn_change = 修 改 btn_reset = 重 置 changepassok=成功修改密码 changepassfailed=修改密码失败 oldpasserror=旧密码错误 servererror=服务器错误 passmustgreater=密码位数必须大于 twopassnotmatched=两密码不一致 entername=请输入用户名 back=返回 通常需要修改的是上面的蓝色字体部分。 Authuserfile是需要修改的密码文件的路径 Logfile是log记录。 Passminlen规定密码的最短长度。 Title、description是页面上看到的窗口标题以及页面标题。 4 SVN库目录结构 4.1 部门SVN工作目录 以下以电信产品三部为例,目录结构如下: oss为电信三部门用户目录,其下有 repos、manage password 、oss_share三个目录,以及oss_passwd文件,具体说明如下: l repos(目录) repos目录下面存放SVN库,一个SVN库对应repos下的一个目录。部门用户目录下面可以有多个SVN库目录,可以根据项目的需要来建SVN库。一般一个库包含一个项目或者多个相关项目。 电信产品三部目录repos结构样例如下: l 部门名_passwd(文件) 部门用户密码文件,直接在部门目录下,上图没有列出。一个部门仅有一个passwd文件。该部门所有的SVN库共享使用该文件。对应于oss部门其文件为 oss/oss_passwd。 l manage passwd(目录) 管理用户密码的管理工具目录,其下有简化的脚本命令,用来维护部门用户密码文件,可以增加删除用户,以及修改密码。 l 部门名_share(目录) 该目录通过网络共享,部门维护人员可以通过网络共享可以直接访问。其下有两个目录,svnaccess、backup。 a)svnaccess(目录) 项目的权限配置文件。每个项目在svnaccess目录下对应一个权限配置文件,文件名称为 项目名_access。 电信产品三部样例如下: b)backup(目录) 存放备份脚本以及备份日志。 备份脚本:svn_部门名_backup.bat,一个备份脚本同步该部门所有的SVN库。 备份日志:backup.log 电信产品三部样例如下: 目录用户权限: 用户 权限 部门用户 完全权限 开发推进部用户 只读 system 完全权限 4.2 部门SVN备份目录 备份目录的一个部门用户目录下,就一个repos目录,以及一个部门用户密码文件。repos目录下面放备份的SVN库,和工作用的SVN库一一对应。 密码文件里仅需要两个帐号:syncuser、reader。同步的时候使用syncuser帐号进行同步,reader帐号用于用户读取备份库。 目录用户权限: 用户 权限 部门用户 完全权限 开发推进部用户 只读 system 完全权限 5 创建配置SVN工作库 5.1 使用tortoiseSVN建SVN空库 在部门用户的repos目录下,建立新的SVN库目录。点中新建的目录,点击右键菜单,选择TortoiseSVN->create repository here,然后弹出一个对话框,指定SVN存储格式,保持缺省的FSFS类型,即创建完成。如下图: 5.2 在Apache中配置SVN工作库 对于工作库,每个SVN库需要在apache的conf中增加一个配置段。添加在conf文件的最后: <Location /oss/xnglxt> DAV svn SVNPath F:/svn_data/oss/repos/xnglxt AuthType Basic AuthName "oss fj_jzgj repositories" AuthUserFile F:/svn_data/oss/oss_passwd AuthzSVNAccessFile F:/svn_data/oss/svnaccess/xnglxt_access Require valid-user </Location> · Location /oss/xnglxt 表示相对的URL路径是/svn ,也就是客户端用http(s)://IP:4443//oss/xnglxt/来访问。 · SVNPath 是指SVN库的目录,本例中SVN目录为F:/svn_data/oss/repos/xnglxt, · AuthUserFile passwd是该库使用的用户密码文件,一个部门只需要一个用户密码文件。用户密码管理详见 · AuthzSVNAccessFile 是该库的目录权限控制文件,一个工作库需要配置一个权限文件。 修改apache的conf文件,需要重启svn-apache服务才能生效。 6 创建配置SVN备份库 6.1 使用tortoiseSVN建SVN空库 建库方法同SVN工作库。还需要在库的hook目录下增加两个脚本文件,pre-revprop-change.bat和start-commit.bat。这两个脚本文件限制只有syncuser这个用户才可以向备份库提交数据。这两个文件内容不需要修改,直接复制到相应库的hook目录下即可。 6.2 在Apache中配置SVN备份库 SVN备份库在配置文件里头只需要为一个部门配置一个配置段。不需要为每个备份库单独配置。 <Location /svn_backup/mss/> DAV svn SVNListParentPath on SVNParentPath h:/svn_backup_data/mss/repos AuthType Basic AuthName "MSS backup repositories" AuthUserFile h:/svn_backup_data/mss/mss_passwd Require valid-user </Location> 对于备份库,用户文件可以仅有两个用户,一个syncuser,用于同步写库。一个reader,用于读库。不需要权限配置文件。 SVNParentPath是指定备份库总的目录。该目录下的目录对应每一个实际的备份库。只要在库总的目录下建好备份库,该库即可使用。 SVNListParentPath on允许浏览备份库总的目录,从而可以看到每个部门当前的备份库情况。 因此,在初次配置好conf文件后,此后再增加一个部门的备份库,不需要调整conf文件的内容,也不需要重启apache服务。 7 SVN用户管理 用户管理实际上是管理svn conf中指定的AuthUserFilepasswd文件,修改该文件内容不需要重启apache服务。 1)使用manage password目录下的简化脚本 Manage password目录下面存放管理用户密码文件的简化命令,其实是对apache的htpasswd的封装,指定了密码文件以及参数选项。 l c.bat: 初始化运行环境,进行命令行状态,设置工作目录。如果运行manage password下面的脚本来管理用户,则需要首先执行c.bat脚本,并此后在这个命令行窗口中进行后继操作。 l addu.bat 增加用户,不在命令行指定密码,由后继提示输入。 用法:addu 用户名 l addd.bat 增加用户,在命令行直接指定密码。 用法:addd 用户名 密码 l updateu.bat 修改用户密码,不在命令行指定密码,由后继提示输入。 用法:updateu 用户名 l resetu: 修改用户密码,在命令行直接指定密码。 用法:updateu 用户名 密码 l delu: 删除用户 用法:delu 用户名 2)使用apache原始的htpasswd命令 增加用户:D:\svn\Apache2\bin\htpasswd 密码文件路径 用户名 删除用户:D:\svn\Apache2\bin\htpasswd -D 密码文件路径 用户名 重置用户密码:D:\svn\Apache2\bin\htpasswd 密码文件路径 用户名 8 SVN库权限配置 权限配置是配置svn conf文件里svn库对应的文件:AuthzSVNAccessFile。 SVN权限配置文件有如下特点: 1) 如果有中文,该文件必须以utf-8 nobom的编码保存,可以使用ultraedit 11.20。 2) 可以定义组 格式如下: [groups] admin = zhangcg,wangfang,ddrv,lindsh hnclientteam = luodh,wangsh,linyu5,licm 在[groups]段内定义了两个组,admin和hnclientteam。组内的成员是相应用户密码文件中定义的用户。 3) 给目录设置权限 格式: [目录名] 用户名=权限 @组名=权限 如果是给组配置权限,需要在组名前面加@。 权限为r,w,rw,以及空。r只读,w只写,rw可读写,空是没有权限。 样例如下: [groups] admin = zhangcg,wangfang,ddrv,lindsh hnclientteam = luodh,wangsh,linyu5,licm [/] @admin = rw [/海南集中告警/开发库/代码/开发目录/公共模块] @admin = rw huangxp = rw * = r
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服