安装
卸载旧版
查看是否存在旧版,
#rpm -qa subversion
subversion-1.6.11-15.el6_7.x86_64 显示类似
存在,卸载:
# yum remove subversion
Complete!
配置svn
默认安装:
#yum install subversion
查看详细版本信息:
# svnserve --version
创建目录
#mkdir -p /var/svn/svnrepos
添加目录到svn版本库版本库
#svnadmin create /var/svn/svnrepos
进入conf目录(该svn版本库配置文件)
#cd /var/svn/svnrepos/conf/
其中有三个文件:
authz:权限控制文件
passwd:帐号密码文件
svnserve.conf:SVN服务配置文件
添加账号密码
#vim passwd
格式:帐号=密码 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
配置权限
#vim authz
[/] /*代表可以访问根目录
账号=rw /*读写权限
配置svn
#vim svnserve.conf
将这几行去掉注释并填写
anon-access = read /*匿名用户可读 可以是read,write,none
auth-access = write /*授权用户可写
password-db = passwd /*使用哪个文件作为账号文件
authz-db = authz /*使用哪个文件作为权限文件
realm = /var/svn/svnrepos /*认证空间名,版本库所在目录,之前创建的目录
启动关闭服务
启动svn版本库 #svnserve -d -r /var/svn/ /*此目录为SVN的.启动目录.
关闭SVN命令 #killall svnserve
查看进程 #ps -ef|grep svn|grep -v grep
iptables:
# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
# service iptables restart
svn://ip 就可以链接
svn配置进阶
权限控制authz配置
#vim authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[groups] /*组
root = centos,www /*创建一个root组,将用户加入到组
.....
语法:
[启动目录下的项目名:/目录/目录/..]
.....
[/] /*根目录权限设置(就是“svn”这个文件夹)
centos = rw /*aaa对svn下的所有版本库有读写权限
[repo:/] /*repo:/,表示对repo版本库下的所有资源设置权限
@root = rw /*root组的用户对repo版本库有读写权限
[repo2:/bcp] /*表示对版本库repo2中的bcp项目设置权限
[repo2:/bcp/aaa] /*表示对版本库2中的bcp项目的aaa目录设置权限
权限主体可以是用户组、用户或*
用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
另外要注意,即使svnserve服务已经运行,修改配置文件或者用户、权限管理文件,保存后马上生效,不需要重启服务。
开机启动
svn默认不开机启动
查看结对路径: which svnserve
编写一个启动脚本svn_startup.sh 保存在/root/svn_startup.sh
#!/bin/bash
/usr/bin/svnserve -d -r /home/svn/
执行命令修改执行权限:
#chmod ug+x svn_startup.sh
或者
#chmod 777 svn_startup.sh
加入自动运行:
#vi /etc/rc.d/rc.local
在末尾添加脚本的路径,如:
/root/svn_startup.sh
重启后:#ps -ef|grep svnserve 查看确认