1、通过yum安装SVN
[root@localhost ~]# yum -y install subversion
2、查看是否安装成功
[root@localhost ~]# rpm -q subversion3、检查安装版本
svnserve --version
4、创建svn根文件夹
mkdir /home/svn
5、创建代码仓库
mkdir /home/svn/project1
mkdir /home/svn/project2
svnadmin create /home/svn/project1
svnadmin create /home/svn/project2
6、进入代码仓库的conf文件夹
cd /home/svn/project1/conf
-rw-r--r--. 1 root root 2279 Apr 4 01:03 svnserve.conf -- 综合配置文件
-rw-r--r--. 1 root root 309 Apr 4 01:03 passwd -- 用户名口令文件
-rw-r--r--. 1 root root 1080 Apr 4 01:03 authz -- 权限设置文件
7、统一管理用户和权限
cp /home/svn/project1/conf/authz /home/svn
cp /home/svn/project1/conf/passwd /home/svn
7、修改权限文件
cd /home/svn
cp authz authz.bak
vim authz
1)、创建用户组和用户
..........
...
i[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
svnadmin = svnadmin, svn
project1 = project1user1, project1user2
project2 = project2user1, project2user2
project1bbs = bbs1, bbs2
project2bbs = bbs3, bbs4
.........
.....
2)、设置读写权限
..........
...
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[project1:/]
@svnadmin = rw
@project1 = rw
@project2 = r
[project1:/bbs]
@project1bbs = rw
[project2:/]
@svnadmin = rw
@project2 = rw
@project1 = r
@project2bbs = rw
.........
.....
9、配置口令文件
cp passwd passwd.bak
vim passwd
.........
.....
[users]
# harry = harryssecret
# sally = sallyssecret
svn = svn
svnadmin = svnadmin
project1user1 = project1user1
project1user2 = project2user2
project2user1 = project2user1
project2user2 = project2user2
bbs1 = bbs1
bbs2 = bbs2
bbs3 = bbs3
bbs4 = bbs4
..........
......
10、配置综合配置文件svnserve.confcd /home/svn/project1/conf
cp svnserve.conf svnserve.conf.bak
vim svnserve.conf
anon-access = none //禁止匿名访问auth-access = write
password-db = passwd //统一使用密码文件
authz-db = authz
realm = Project1 //提示名
同理project2
12、设置自启动
[root@localhost init.d]# chkconfig svnserve on
[root@localhost init.d]# chkconfig --list | grep svnserve
svnserve 0:off1:off2:on3:on4:on5:on6:off
13、配置防火墙端口
[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]# service iptables restart
[root@localhost conf]# service iptables status
14、启动svn
svnserve -d -r /home/svn
如果已有svnserve正在云行
ps -aux|grep svn
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 29462 0.0 0.0 156532 888 ? Ss 03:46 0:00 svnserve -d -r /home/svn
root 29779 0.0 0.0 103308 836 pts/0 S+ 04:25 0:00 grep svn
[root@localhost conf]# kill 29462
15、测试
[root@localhost conf]# svn co svn://127.0.0.1/project1
遇到问题Store password unencrypted (yes/no)? yes
svn: Authorization failed
解决:
vi /root/.subversion/servers
找到以下内容,注释去掉并改成yes就行了
store-plaintext-passwords = no
16、创建trunk, branches, tags/
[root@localhost svnrepo]# svn mkdir -m "Createing basic directory structure" \
> svn://192.168.207.130/project1/trunk svn://192.168.207.130/project1
/branches svn://192.168.207.130/project1
/tags