开发要求部署个版本管理器,参照教程,写写自己的经验:
检查是否安装了低版本的SVN
[root@zck /]# rpm -qa subversion
#卸载旧版本SVN
[root@zck modules]# yum remove subversion
安装SVN
[root@zck modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
确认已安装了svn模块
[root@zck /]# cd /etc/httpd/modules
[root@zck modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
验证安装:
svnserve,版本 1.6.11 (r934486)
编译于 Feb 10 2015,22:08:22
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
代码库创建
mkdir /opt/svn/svnconf SVN配置目录
svnadmin create /opt/svn/Project1 项目一
svnadmin create /opt/svn/Project2 项目二
ll 可以看到以下文件:
conf/ format locks/
db/ hooks/ README.txt
将passwd 、authz文件拷贝到/opt/svn/svnconf中,将两个项目下conf目录中的passwd 和 authz文件删除,修改项目中conf目录下的svnserve.conf 文件
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/svnconf/passwd
authz-db = /opt/svn/svnconf/authz
注意:此处四行需定格写,不能有空格,否则报option expected错误。
配置代码库(svnconf目录下)
vim passwd
添加:[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456
liulf=123456
vim authz
添加:
[Project1:/]
zhoulf=rw
[Project2:/]
liulf=rw
vim svnserve.conf
添加:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=My First Repository
配置防火墙端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
service iptables restart
svn默认端口3690
启动SVN
svnserve -d -r /opt/svn --listen-port 3390
测试
SVN服务已经启动,使用客户端测试连接。
客户端(自行下载客户端SVN)连接地址:svn://ip-addr/Project1
用户名/密码: zhoulf/123456
测试成功。
附:另外,svn可以与Apache整合,实现在web界面访问项目文件。详见文章: