集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]
集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]
搭建SVN服务器界面管理
SVN服务器 + 搭建
系统环境关闭iptables和selinux
SVN服务器搭建
安装必备软件包
yum install subversion?-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced
说明:subversion (SVN服务器)-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget gcc-c++ make unzip perl* (必备软件包)ntsysv vim-enhanced (可选)
基本的SVN服务器配置
新建一个目录用于存储SVN所有文件mkdir /home/svn
新建一个版本仓库svnadmin create /home/svn/project
初始化版本仓库中的目录mkdir project project/server project/client project/test (建立临时目录)svn import project/ -m “初始化SVN目录”rm -rf project (删除临时建立的目录)
添加用户
要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了,我添加了如下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
liqing = liqing
liujj = liujj
liufj = liufj
修改用户访问策略/home/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
admin = liqing,liujj
project_s = liqing,liujj
project_c = liqing,liujj
project_t = liqing,liujj
[project:/]
@admin = rw
* =
[project:/server]
@admin = rw
@project_s = rw
* =
[project:/client]
@admin = rw
@project_c = rw
* =
[project:/test]
@admin = rw
@project_s = r
@project_c = r
@project_t = r
* =
说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
修改文件,让用户和策略配置升效.内容如下:[general]anon-access = noneauth-access = writepassword-db = /home/svn/project/conf/passwdauthz-db = /home/svn/project/conf/authz
启动服务器# svnserve -d -r /home/svn注意:如果修改了svn配置,需要重启svn服务,步骤如下:
# ps -aux|grep svnserve# kill -9 ID号# svnserve -d -r /home/svn
测试服务器
[root@MyCloudServer tools]# svn co project/server
A project/server/
A project/client
A project/test
Checked out revision 2.( 测试提取成功 )
配置SVN服务器的HTTP支持
转换SVN服务器的密码
由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。我写了一个Perl脚本完成这个工作.
#!/usr/bin/perl
# write by huabo,