服务器操作系统:CentOS 6.6
1、在服务器上安装配置SVN服务;
2、SVN服务支持svnserve独立服务模式访问;
3、SVN服务支持Apache的http模式访问。
#安装Apache $ yum install httpd apr apr-util httpd-devel #安装基于Apache的http模式访问的支持模块,mod_auth_mysql模块是用数据库存储账号信息,可以不安装 $ yum install mod_dav_svn mod_auth_mysql #设置开机启动 $ chkconfig httpd on #启动Apache $ service httpd start #查看Apache版本信息 $ httpd -version #查看是否有mod_dav_svn.so和mod_authz_svn.so模块,如果有,说明mod_dav_svn安装成功 $ ls /etc/httpd/modules/
#使用yum命令在线安装 $ yum install subversion #查看svn版本信息 $ svnserve --version
1)创建svn版本库
#创建svn版本库存放目录 $ mkdir -p /home/svn $ cd /home/svn #创建svn版本库project $ svnadmin create /home/svn/project
2)设置配置文件
#创建配置文件目录 $ mkdir -p /home/svn/conf #拷贝账号密码配置文件模板 $ cp /home/svn/project/conf/passwd /home/svn/conf/passwd #拷贝目录权限配置文件模板 $ cp /home/svn/project/conf/authz /home/svn/conf/authz #拷贝全局配置文件模板 $ cp /home/svn/project/conf/svnserve.conf /home/svn/conf/svnserve.conf
#编辑passwd文件 $ vim /home/svn/conf/passwd [users] # harry = harryssecret # sally = sallyssecret pengqiang=123456 :wq! #保存退出 #编辑authz文件 $ vim /home/svn/conf/authz [groups] adminGroup=pengqiang [/] @admin = rw * = :wq! #保存退出 #配置svnserve.conf全局文件 $ vim /home/svn/conf/svnserve.conf [general] #禁止匿名访问,设置为none。默认为read,参数:read,write,none anon-access=none #授权用户写权限 auth-access=write #用户账号密码文件路径,可以写绝对路径 password-db=/home/svn/conf/passwd #访问控制权限文件路径,可以写绝对路径 authz-db=/home/svn/conf/authz #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称 realm=svn :wq! #保存退出
#启动svnserve服务,--config-file后面跟全局配置参数文件 $ svnserve -d -r /home/svn --config-file /home/svn/conf/svnserve.conf --listen-port 3690 #关闭svnserve $ ps -ef|grep svn|grep -v grep #查看进程 $ netstat -ln |grep 3690 #检查端口 $ kill -9 线程 $ killall svnserve #关闭svn
#编辑,添加以下代码 $ vi /etc/init.d/svn #!/bin/sh # processname: svn svn_bin=/usr/bin svn_port=3690 svn_home=/home/svn svn_config=/home/svn/conf/svnserve.conf if [ ! -f "$svn_bin/svnserve" ] then echo "svnserver startup: cannot start" exit fi case "$1" in start) echo "Starting svnserve..." $svn_bin/svnserve -d -r $svn_home --config-file $svn_config --listen-port $svn_port echo "Successfully!" ;; stop) echo "Stoping svnserve..." killall svnserve echo "Successfully!" ;; restart) $0 stop $0 start ;; *) echo "Usage: svn { start | stop | restart } " exit 1 esac :wq! #保存退出
$ chmod +x /etc/init.d/svn #添加执行权限
$ chkconfig svn on #开机自启动
$ service svn start #启动
$ htpasswd -cm /home/svn/conf/http_passwd pengqiang
根据提示输入2次密码即可。
注意:/home/svn/conf/目录下面passwd文件是svnserve独立服务器使用的认证文件,密码没有加密,明文显示。
/home/svn/conf/目录下面http_passwd文件是Apache的http模式使用的认证文件,密码使用MD5加密。
passwd和http_passwd文件中,账号密码必须设置相同。
$ vim /etc/httpd/conf.d/subversion.conf
#编辑,在最后添加以下代码
<Location /svn>
DAV svn
#SVNPath /home/svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /home/svn/conf/authz
AuthUserFile /home/svn/conf/http_passwd
Require valid-user
</Location>
:wq! #保存退出
#设置svn目录所有者为Apache服务运行账号apache
$ chown -R apache:apache /home/svn
$ service httpd restart
1.TortoiseSVN工具验证
Windows下安装svn客户端TortoiseSVN。
TortoiseSVN下载地址:http://tortoisesvn.net/downloads.html
安装完成之后,桌面-右键单击,选择TortoiseSVN-版本库浏览器
URL输入:svn://192.168.xxx.xxx/project
用户名:pengqiang
密码:123456
URL输入:http://192.168.xx.xxx/svn/project
参考:http://www.osyunwei.com/archives/9145.html