1.1 准备安装环境
[root@nginx ~]# uname -r
2.6.32-504.el6.x86_64
[root@nginx ~]# uname -m
x86_64
[root@nginx ~]#
1.2 查看是否安装subversion
[root@nginx ~]# rpm -qa subversion
[root@nginx ~]#
1.3 安装subversion
[root@nginx ~]# yum -y install subversion
1.4 配置并启动SVN
建立SVN版本库数据存储根目录(svndata) 及用户、密码权限目录(svnpassword)
mkdir -p /application/svndata
mkdir -p /application/svnpassword
[root@nginx ~]# mkdir -p /application/svndata
[root@nginx ~]# mkdir -p /application/svnpasswd
[root@nginx ~]#
1.5 启动SVN
svnserver -d -r /application/svndata
参数:
d: 设置svn启动为守护线程模式
-r: 设置SVN存储的根路径
[root@nginx ~]# svnserve -d -r /application/svndata/
[root@nginx ~]# ps -ef |grep svn
root 1717 1 0 18:00 ? 00:00:00 svnserve -d -r /application/svndata/
root 1755 1610 0 18:01 pts/0 00:00:00 grep svn
查看SVN端口号:
svnstat -lntup | grep 3690
[root@nginx ~]# netstat -lntup | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1717/svnserve
或lsof -i :3690
[root@nginx ~]# lsof -i :3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 1717 root 3u IPv4 14374 0t0 TCP *:svn (LISTEN)
1.6建立项目版本库
svnadmin create /application/svndata/sadoc
[root@nginx ~]# svnadmin create /application/svndata/sadoc
[root@nginx ~]# ll /application/svndata/
总用量 4
drwxr-xr-x. 6 root root 4096 4月 7 18:10 sadoc
[root@nginx ~]# tree /application/svndata
/application/svndata
└── sadoc
├── conf
│ ├── authz
│ ├── passwd
│ └── svnserve.conf
├── db
│ ├── current
│ ├── format
│ ├── fsfs.conf
│ ├── fs-type
│ ├── min-unpacked-rev
│ ├── rep-cache.db
│ ├── revprops
│ │ └── 0
│ │ └── 0
│ ├── revs
│ │ └── 0
│ │ └── 0
│ ├── transactions
│ ├── txn-current
│ ├── txn-current-lock
│ ├── txn-protorevs
│ ├── uuid
│ └── write-lock
├── format
├── hooks
│ ├── post-commit.tmpl
│ ├── post-lock.tmpl
│ ├── post-revprop-change.tmpl
│ ├── post-unlock.tmpl
│ ├── pre-commit.tmpl
│ ├── pre-lock.tmpl
│ ├── pre-revprop-change.tmpl
│ ├── pre-unlock.tmpl
│ └── start-commit.tmpl
├── locks
│ ├── db.lock
│ └── db-logs.lock
└── README.txt
11 directories, 28 files
1.7 调整SVN配置文件及权限文件
cd /application/svndata/sadoc/conf
[root@nginx ~]# cd /application/svndata/sadoc/conf
[root@nginx conf]# ll
总用量 12
-rw-r--r--. 1 root root 1080 4月 7 18:10 authz #权限管理文件
-rw-r--r--. 1 root root 309 4月 7 18:10 passwd #用户和密码配置文件
-rw-r--r--. 1 root root 2279 4月 7 18:10 svnserve.conf #主配置文件
修改svnserve.conf配置文件:
anon-access = none #访问权限改为不能匿名访问
auth-access = write
password-db = /application/svnpasswd/passwd #将用户密码文件指向创建的文件方便统一管理
authz-db = /application/svnpasswd/authz
拷贝application/svndata/sadoc/conf文件夹下的passwd和authz文件到/application/svnpasswd/下
[root@nginx conf]# cp authz passwd /application/svnpasswd
[root@nginx conf]# cd /application/svnpasswd/
[root@nginx svnpasswd]# ll
总用量 8
-rw-r--r--. 1 root root 1080 4月 7 18:41 authz
-rw-r--r--. 1 root root 309 4月 7 18:41 passwd
[root@nginx svnpasswd]#
解决安全性问题:
[root@nginx svnpasswd]# chmod 700 *
[root@nginx svnpasswd]# ll
总用量 8
-rwx------. 1 root root 1080 4月 7 18:41 authz
-rwx------. 1 root root 309 4月 7 18:41 passwd
编辑 /application/svnpasswd/passwd文件添加用户
liyutao = liyutao
zhangjian = zhangjian
提示:
1.等号前为SVN账号,等号后为SVN密码,密码是明文的,密码是明文的,注意密码权限
2.更改svnserve.conf时,需要重启SVN,更改authz、passwd文件不需要重启
编辑权限配置文件/application/svnpasswd/authz
[sadoc:/] #指定项目
liyutao = rw # 读写权限
zhanjian = r #读权限
重启SVN服务:
[root@nginx svnpasswd]# pkill svnserve
[root@nginx svnpasswd]# svnserve -d -r /application/svndata/
[root@nginx svnpasswd]# ps -ef | grep svn
root 2385 1 0 19:13 ? 00:00:00 svnserve -d -r /application/svndata/
root 2387 1610 0 19:13 pts/0 00:00:00 grep svn
客户端登陆:
安装客户端
svn://ip/sadoc