一,安装必须的软件包
$ yum install subversion
$ yum install mod_dav_svn
二,基本的SVN服务器配置
1,新建一个目录用于存储SVN所有文件
# mkdir /home/svn
2,新建一个版本仓库
# svnadmin create /home/svn/test
3,初始化版本仓库中的目录,导入原始代码
如果原代码已经有svn的相关文件,则切换到原代码目录,先删除这些svn相关的文件和文件夹。假定/home/user/code/src存放源代码
# cd /home/user/code/src
# find ./ -name "*.svn" | xargs rm -rf
# svn import /home/user/code/src file:///home/svn/test/ -m "init test code"
4,添加用户
在/home/svn/test/conf/passwd文件添加形如“username=password"的条目。
[users]
admin = adminpass
user1 = 123456
5,修改用户访问策略
/home/svn/test/conf/authz记录用户的访问策略:
[groups]
[test:/]
admin = rw
user1 = r
* =
[test:/modue]
admin = rw
user1 = rw
* =
以上表示admin具有所有的读写权限,user1在modue文件夹下可读可写,根目录下只读。也可以配置组的权限。
6,修改/home/svn/test/conf/svnserve.conf文件,让用户和策略配置生效.
svnserve.conf内容如下:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
7,启动服务器
# svnserve -d -r /home/svn
8,测试服务器
# svn co svn://192.168.1.5/test
按提示先输入用户密码,再输入svn的用户名、密码,就可以了。
# cd test
# vim main.c
# svn add main.c
# svn commit main.c -m "comment"
Adding main.c
Transmitting file data .
Committed revision 2. ( 测试提交成功 )
三,配置SVN服务器的HTTP支持(可以用浏览器看代码)
1,修改httpd.conf,添加关于SVN服务器的内容
修改/etc/httpd/conf/httpd.conf。
2,重启HTTPD服务器
# service httpd restart
3,用浏览器访问http://192.168.1.5/test
四,可能出现的问题
1. 如果外网不能正常访问,可能还需要作端口映射,对外网开放3690端口。
检查端口是否打开,可以用命令: telnet xxx.xxx.xxx.xxx 3690
2. 在windows下checkout的时候,如果出现类似以下的错误:
原因是linux下有同名但大小写不同的文件。一种解决办法是尽量避免这种情况,改成不同的名称。