在终端中输入yum即可如果已经安装,会显示yum的参数,如果没有安装,会提示yum未安装或无效命令(没安装的需先安装,这里不细说)
yum -y install subversion
svnserve --version
rpm -ql subversion
mkdir -p /usr/local/svnRepo
mkdir -p /usr/local/svnRepo/svn/project1 mkdir -p /usr/local/svnRepo/svn/project2
在每个版本库中的conf目录如下:
其中
| - authz 权限控制文件 | - passwd 帐号密码文件 | - svnserve.conf SVN服务配置文件
为了后续增加项目方便,创建公共的用户、权限配置文件,放到版本库公共路径/usr/local/svnRepo/conf下:
mkdir -p /usr/local/svnRepo/conf
复制authz、passwd文件到该目录,用于管理所有用户和权限。
修改/usr/local/svnRepo/conf/passwd,添加用户,格式就是“用户名=密码”,如:
[users] user1 = 123 user2 = 234 test = 345
修改/usr/local/svnRepo/conf/authz文件,加入用户权限,如:
[groups] developer = user1, user2 [svn/project1:/] @developer = rw * = [svn/project2:/] @developer = rw test = r * =
[groups]为分组管理,格式为:"组名=用户1,用户2...",方便按组分配权限
[svn/project1:/]为项目目录分配权限,“svn/project1”项目路径,这个路径是相对后面启动svn的路径而来的,“:/”表示这个项目的根目录,可以再细分目录设置权限,如:[svn/project1:/dev]
@developer为分组developer设置权限(组名前必须加@),test为单个用户设置权限
rw,分别代码读权限和写权限
特别注意最后要加上:
* =
表示除此之外的用户没有任何权限。
修改每个项目中conf路径下的svnserve.conf文件,对刚才公共文件的引用
anon-access = none #匿名用户不可读 auth-access = write #授权用户可写 password-db = /usr/local/svnRepo/conf/passwd #使用公共文件作为账号文件 authz-db = /usr/local/svnRepo/conf/authz #使用公共文件作为权限文件 realm = /usr/local/svnRepo/svn/project1 # 认证空间名,版本库所在目录
其他project做同样的修改。
如果在一台服务器上同时启动多个项目版本库,那么启动路径必须是所有项目仓库的根路径,比如:
/usr/local/svnRepo/svn/project1
/usr/local/svnRepo/svn/project2
根路径就是:
/usr/local/svnRepo/
启动命令
svnserve -d -r /usr/local/svnRepo/
这个启动路径就是客户端访问的起始点,可以理解为“svn://ip/”这样就访问到了这个路径/usr/local/svnRepo/
所以要访问project1的路径为:svn://ip/svn/project1
跟我们的目录相对应:/usr/local/svnRepo/svn/project1
如果后续需要增加项目,只需要在svn目录里面创建对应的项目,配置权限后即可访问,无需再重启svn服务
killall svnserve
用svn客户端checkout,输入路径、账号密码即可
svn默认端口为3690,如果访问不到,检查是否被防火墙拦截。