Centos搭建SVN服务器
2017-11-29 17:56
239 查看
1、yum安装SVN服务器:
yum install subversion
2、查看版本
svnserve –version
3.、创建SVN版本库目录
mkdir -p /var/svn/svnrepos1
mkdir -p /var/svn/svnrepos2
4、创建版本库
svnadmin create /var/svn/svnrepos1
svnadmin create /var/svn/svnrepos2
5、进入/var/svn/svnrepos1/conf目录(进行版本库配置)
authz:文件是权限控制文件
passwd:是帐号密码文件
svnserve.conf :SVN服务配置文件
6、设置账号密码 vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如
7、设置权限 vi authz
a. 格式:
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
b. 方式:
该文件的配置方式有两种,导致SVN启动的访问方式也有两种:
方式一(但版本库):
svnserve -d -r /svn/svnrepos1
在这种情况下,一个svnserve只能为一个版本库工作。
authz配置文件中对版本库权限的配置应这样写:(由于只有一个库,所以省略库名,地址的根路径表示该库的根路径,而不是SVN的根目录)
意思是mbshqqb对版本库有读写权限……
访问方式:
svn://192.168.0.1/
方式二:指定到版本库的上级目录(称之为多库svnserve方式)
svnserve -d -r /var/svn
这种情况,一个svnserve可以为多个版本库工作
authz配置文件中对版本库权限的配置应这样写:(每个库都指定为svn仓库的根目录)
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录。
使用:
svn://192.168.0.1/svnrepos1
svn://192.168.0.1/svnrepos2
8、修改svnserve.conf文件 vi svnserve.conf
打开下面的几个注释:
或设置成:
9、启动svn版本库
单版本:
svnserve -d -r /var/svn/svnrepos1
svnserve -d -r /var/svn/svnrepos2
多版本:
svnserve -d -r /var/svn –config-file=/var/svn/svnserve.conf
10、停止SVN命令
killall svnserve
11、 连接
单版本和多版本相同:
svn://localhost/svnrepos1
svn://localhost/svnrepos2
注意:
当客户端登录后发现既不弹出登录对话框,又提示认证错误时,如果你第一次输入密码错误了,那么需要清除之前保存的密码(该方法网上有解释,第一种是在设置中清除,第二种是删掉C盘用户目录下AppData中关于SVN认证的数据记录),如果是第一次登陆就不弹出密码认证框,而且尝试了网上所有的方法后都不行,那么说明你的三个配置文件的格式写错了:
1. 有没有打错的字:如[groups]写成了[goups],[general]写成了[genarel]
2. 是不是有多余的空格: 每行开始都没有空格,如果你是直接删除了注释中的#,而没有删除#后面的空格的话也会出现这种错误,而且这是网上出现最对的错误
3. 重复检查第一点和第二点,不会出现其他的方法了
yum install subversion
2、查看版本
svnserve –version
3.、创建SVN版本库目录
mkdir -p /var/svn/svnrepos1
mkdir -p /var/svn/svnrepos2
4、创建版本库
svnadmin create /var/svn/svnrepos1
svnadmin create /var/svn/svnrepos2
[root@localhost svnrepos]# ls /var/svn/svnrepos1 conf db format hooks locks README.txt
5、进入/var/svn/svnrepos1/conf目录(进行版本库配置)
[root@localhost conf]# ls /var/svn/svnrepos1/conf authz passwd svnserve.conf
authz:文件是权限控制文件
passwd:是帐号密码文件
svnserve.conf :SVN服务配置文件
6、设置账号密码 vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如
[users] mbshqqb=123456
7、设置权限 vi authz
a. 格式:
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
b. 方式:
该文件的配置方式有两种,导致SVN启动的访问方式也有两种:
方式一(但版本库):
svnserve -d -r /svn/svnrepos1
在这种情况下,一个svnserve只能为一个版本库工作。
authz配置文件中对版本库权限的配置应这样写:(由于只有一个库,所以省略库名,地址的根路径表示该库的根路径,而不是SVN的根目录)
[groups] admin=mbshqqb dev=user1,user2 [/] @admin=rw @dev=r user2=rw
意思是mbshqqb对版本库有读写权限……
访问方式:
svn://192.168.0.1/
方式二:指定到版本库的上级目录(称之为多库svnserve方式)
svnserve -d -r /var/svn
这种情况,一个svnserve可以为多个版本库工作
authz配置文件中对版本库权限的配置应这样写:(每个库都指定为svn仓库的根目录)
[groups] admin=mbshqqb dev=user1 [svnrepos1:/] @admin=rw user1=r [svnrepos2:/] @admin=rw user1=r
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录。
使用:
svn://192.168.0.1/svnrepos1
svn://192.168.0.1/svnrepos2
8、修改svnserve.conf文件 vi svnserve.conf
打开下面的几个注释:
anon-access = none #匿名用户无任何权限 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
或设置成:
anon-access = none #匿名用户无任何权限 auth-access = /var/svn/write #授权用户可写 password-db = /var/svn/passwd #使用哪个文件作为账号文件 authz-db = /var/svn/authz #使用哪个文件作为权限文件 realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。 缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
9、启动svn版本库
单版本:
svnserve -d -r /var/svn/svnrepos1
svnserve -d -r /var/svn/svnrepos2
多版本:
svnserve -d -r /var/svn –config-file=/var/svn/svnserve.conf
10、停止SVN命令
killall svnserve
11、 连接
单版本和多版本相同:
svn://localhost/svnrepos1
svn://localhost/svnrepos2
注意:
当客户端登录后发现既不弹出登录对话框,又提示认证错误时,如果你第一次输入密码错误了,那么需要清除之前保存的密码(该方法网上有解释,第一种是在设置中清除,第二种是删掉C盘用户目录下AppData中关于SVN认证的数据记录),如果是第一次登陆就不弹出密码认证框,而且尝试了网上所有的方法后都不行,那么说明你的三个配置文件的格式写错了:
1. 有没有打错的字:如[groups]写成了[goups],[general]写成了[genarel]
2. 是不是有多余的空格: 每行开始都没有空格,如果你是直接删除了注释中的#,而没有删除#后面的空格的话也会出现这种错误,而且这是网上出现最对的错误
3. 重复检查第一点和第二点,不会出现其他的方法了
相关文章推荐
- 详解CentOS的SVN服务器搭建与自动部署全过程
- centos 7上搭建svn服务器步骤
- linux(centos7)下SVN服务器如何搭建
- Linux下SVN服务器搭建(CentOS+Subversion)
- CentOS下的SVN服务器搭建过程
- Centos 6.8 svn服务器搭建
- Linux下SVN服务器搭建(CentOS+Subversion)
- centos搭建svn服务器并在windows实验
- Centos搭建SVN服务器
- 搭建 CentOS 6 服务器(14) - CVS、SVN、Git
- CentOS下搭建svn服务器
- linux(centos)搭建SVN服务器
- centos下的SVN服务器搭建
- linux(centos)搭建SVN服务器
- linux(centos)快速搭建SVN服务器
- CentOS 7 搭建SVN服务器
- cgmm Linux(centos)下SVN服务器的搭建及简单配置和使用
- CentOS 搭建简单svn服务器【转】
- CentOS 7搭建SVN服务器 nginx apache
- Centos下快速搭建SVN服务器