当前位置 主页 > 服务器问题 > Linux/apache问题 >
四、安装SVN
yum install subversion #使用yum命令在线安装
svnserve --version #查看svn版本信息
五、配置SVN
1、创建svn版本库
mkdir -p /home/svn #创建svn版本库存放目录
cd /home/svn #进入目录
svnadmin create /home/svn/project1 #创建svn版本库project1
svnadmin create /home/svn/project2 #创建svn版本库project2
svnadmin create /home/svn/project3 #创建svn版本库project3
2、设置配置文件
mkdir -p /home/svn/conf #创建配置文件目录
cp /home/svn/project1/conf/passwd /home/svn/conf/passwd #拷贝账号密码配置文件模板
cp /home/svn/project1/conf/authz /home/svn/conf/authz #拷贝目录权限配置文件模板
cp /home/svn/project1/conf/passwd /home/svn/conf/svnserve.conf #拷贝全局配置文件模板
vi /home/svn/conf/passwd #编辑,添加以下代码
[users]
# harry = harryssecret
# sally = sallyssecret
osyunwei=123456
osyunwei1=123456
osyunwei2=123456
osyunwei3=123456
:wq! #保存退出
vi /home/svn/conf/authz #编辑,添加以下代码
[groups]
admin = osyunwei
project1 = osyunwei1
project2 = osyunwei2
project3 = osyunwei3
[/]
@admin = rw
* =
[project1:/]
@admin = rw
@project1 = rw
* =
[project2:/]
@admin = rw
@project2 = rw
* =
[project3:/]
@admin = rw
@project3 = rw
* =
:wq! #保存退出
vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代码
[general]
anon-access=none #禁止匿名访问,设置为none。默认为read,参数:read,write,none
auth-access=write #授权用户写权限
password-db=/home/svn/conf/passwd #用户账号密码文件路径,可以写绝对路径
authz-db=/home/svn/conf/authz #访问控制权限文件路径,可以写绝对路径
realm=svn #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称。
:wq! #保存退出
3、启动SVN
svnserve -d -r /home/svn --config-file /home/svn/conf/svnserve.conf --listen-port 3690
#--config-file后面跟全局配置参数文件
ps -ef|grep svn|grep -v grep #查看进程
netstat -ln |grep 3690 #检查端口
killall svnserve #关闭svn
4、设置svn服务开机启动
vi /etc/init.d/svn #编辑,添加以下代码
#!/bin/sh# chkconfig: 2345 85 85# processname: svnsvn_bin=/usr/local/svn/binsvn_port=3690svn_home=/home/svnsvn_config=/home/svn/conf/svnserve.confif [ ! -f "$svn_bin/svnserve" ]thenecho "svnserver startup: cannot start"exitficase "$1" instart)echo "Starting svnserve..."$svn_bin/svnserve -d -r $svn_home --config-file $svn_config --listen-port $svn_portecho "Successfully!";;stop)echo "Stoping svnserve..."killall svnserveecho "Successfully!";;restart)$0 stop$0 start;;*)echo "Usage: svn { start | stop | restart } "exit 1esac