SVN服务器运行模式: 模式1:svn服务器单独运行 监听: 3690端口 访问: svn://IP 模式2: svn 服务器+ apache : 80 端口 访问: http://IP
1. #安装svn服务器和 apache服务器, mod_dav_svn模块 # yum install subversion httpd mod_dav_svn -y mod_dav_svn模块 : apache http 服务器的插件,可以让版本库通过http协议,在网站上展现 创建版本库,并修改权限 mkdir -p /svn/repos 创建两个版本库目录 svnadmin create /svn/repos/test.cn svnadmin create /svn/repos/kxinfo 启动svn: svnserve -d -r /svn/repos -d表示以daemon方式(后台运行)运行 -r /var/repos指定svn根目录是/svn/repos
2. 配置apache支持svn及检查两个动态库是否安装成功 find / -name mod_dav_svn.so /usr/lib64/httpd/modules/mod_dav_svn.so find / -name mod_authz_svn.so /usr/lib64/httpd/modules/mod_authz_svn.so 配置apache通过mod_dav_svn模块访问SVN服务器 vim /etc/httpd/conf.d/subversion.conf ---此文件为手动创建的,手动加入如下内容 <Location /svn> DAV svn SVNParentPath /svn/repos ----存放两个仓库:test.cn和kxinfo的真实目录 AuthType Basic AuthName " SVN server of test!" AuthUserFile /home/svn/passwd ----passwd存储用户名和密码 AuthzSVNAccessFile /home/svn/auth ----存放用户的权限 Require valid-user </Location>
3. 创建存放用户密码文件和权限控制文件 htpasswd -c /home/svn/passwd TTT # -c create, 创建/home/svn/passwd文件。会提示你输入密码,默认是MD5加密 htpasswd /home/svn/passwd www #后期再创建时,就不需要加-c参数,否则, 会把之前添加到/home/svn/passwd中信息,全部覆盖。 vim /home/svn/auth #写入以下内容 [/] ------这个表示在所有仓库的根目录下 TTT = rw ------TTT用户对所有仓库根目录下的软件版本库有rw权限 [test.cn:/] -----test.cn的根目录下的访问权限 www = rw -----www仓库具有读和写权限 [test.cn:/company] -----test.cn的根目录下访问权限 liutao = rw -----liutao用户对test.cn的根目录下company目录有读写权限
4. 修改版本库的权限,测试访问 chown -R apache:apache /svn/repos/ http://192.168.0.170/svn/test.cn ----TTT和www都可以访问 http://192.168.0.170/svn/test.cn/company ----liutao用户只能访问这个目录
5. SVN客户端使用说明 subversion windows客户端TortoiseSVN配置: http://tortoisesvn.net/about.zh.html 新建一个文件夹右键可以提交svn和从svn上下载
6. commit后可以访问看到上传的文件
7. 如果安装svn客户端后,右键没有svn
7.1 出现如下,说明用错了,需要右键文件夹,而不是直接点击Tortoisesvn
7.2 点击TortoiseSVN文件夹,选择Settings--->General---->Contest Menu勾选如图三个选项
7.3 如还没用,选择Icon Overlays--->Icon Set--->MufWin7--->应用--->保存 再允许--->regedit--->按照如下图设置后重启电脑