### 安装 yum -y install subversion ### 检测是否安装成功 svnserve --version ### 创建SVN版本库 mkdir -p /home/svn ##创建SVN所在目录 svnadmin create /home/svn/projects ##创建SVN版本库【projects 是版本库名称,可以创建多个】 ### 配置SVN cd /home/svn/projects 会看到自动生成的版本库文件 `conf` `db` `format` `hooks` `locks` `README.txt` 进入版本库中的配置目录conf: cd conf 此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)。 - 配置用户名命令文件:`vi passwd` 添加用户 [users] # harry = harryssecret # sally = sallyssecret yourname = yourpassword - 修改权限配置文件:`vi authz` 添加用户组 # add 'admin' group admin = admin1,admin2 user = user1,user2 添加组的权限 # This is 'admin' Group authority [/] 所有版本库的组权限 @admin = rw [projects:/] dev_test版本库下组的权限,和用户的权限 @admin = rw @user = r yourname = rw 格式: [<版本库>:/项目/目录] @<用户组名> = 权限 <用户名> = 权限 - 配置SVN服务综合配置文件:`vi svnserve.conf` vi /etc/rc.d/rc.local 编辑 添加:svnserve -d -r /home/svn //找到以下配置项,将前面的#号去掉,然后做相应的配置 anon-access = none //匿名用户访问权限:无 auth-access = write //普通用户访问权限:读、写 password-db = passwd //密码文件【使用哪个文件做为密码文件】 authz-db = authz //权限配置文件【使用哪个文件做为权限文件】 realm = /home/svn/projects //版本库所在【不写默认全部】 > 注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错 ### 开放svn端口 默认是3690端口,也可以用别的,已开启的跳过这一步。 执行修改命令: iptables -I INPUT -p tcp --dport 3690 -j ACCEPT 执行保存命令:/etc/rc.d/init.d/iptables save 执行重启命令:service iptables restart 执行查看命令:/etc/init.d/iptables status ### 启动和关闭 启动SVN:svnserve -d -r /home/svn 关闭SVN:killall svnserve 查看SVN运行情况:ps aux | grep svn 检测3690端口是否被占用:netstat -ln |grep 3690 ### 创建多个版本库 mkdir -p /home/svn/svn2 ##创建目录 svnadmin create /home/svn/svn2 重复步骤4的配置方法 killall svnserve #关闭svn服务 svnserve -d -r /home/svn/ #启动svn,注意目录,不包含svn2 ### 删除版本库 rm -rf /home/svn/svn2 ### 检出版本库到指定目录【目录直接写版本库地址】 svn co svn://127.0.0.1/projects/ /home/wwwroot/projects --username=name --password=pass svn up //更新文件 windows:svn://127.0.0.1/projects/ ### 自动更新 //每次当有提交时,svn地址自动update cd /home/svn/hooks cp post-commit.tmpl post-commit vi post-commit #!/bin/sh export LANG=en_US.UTF-8 #设置项目编码 /usr/bin/svn update /home/wwwroot/projects/ --username name --password pass --no-auth-cache #/usr/bin/svn SVN 安装地址 查看方式 whereis svn #/home/wwwroot/projects/ 项目在服务器的地址 chmod 777 post-commit 更改权限 chmod +x /home/svn/projects/hooks/post-commit ### 开机自动启动 vi /etc/rc.d/rc.local 编辑 添加:svnserve -d -r /home/svn