Centos搭建svn服务器+多项目权限控制

        每次用新的服务器,都是要搭建些基本的环境,都是直接搜索某某某某环境搭建,搞定。记录下自己的搭建过程,以后可以直接看了。

        第一步,安装svn服务器。

安装很简单,一条命令搞定:yum -y install subversion

第二步,创建工程

1、创建个文件夹当做svn仓库

      mkdir -p /usr/svn/repo

2、进入仓库目录

      cd /usr/svn/repo

3、在仓库目录中创建项目

svnadmin create Project_A

svnadmin create Project_B

svnadmin create Project_C

创建三个项目Project_A、Project_B、Project_C

扫描二维码关注公众号,回复: 5762768 查看本文章

第三步,配置权限

1、在任意个项目中的conf文件夹下复制出authz和passwd文件到repo目录下

2、将三个项目中的conf文件夹下的authz和passwd文件删除

3、配置repo目录下的authz和passwd文件

        在passwd文件中新增账户和密码

admin = 123456
user1 = 123456
user2 = 123456
user3 = 123456

     在authz文件中配置权限


# 对用户分组
[groups]
admin = admin
guest = user1,user2
dever = user3,user4
[/]                      //管理者拥有所有读写权限
* =
@admin = rw
# 对项目A的权限设置
[Project_A:/]
# 用户组前面要加@,用户则直接用户名即可
@admin = rw
user1 = r
user2 = rw
[Project_B:/]
@guest = rw

4、修改每个工程的conf下的svnserve.conf文件


anon-access = none              // 禁止匿名访问 
auth-access = write 
password-db = /usr/jileniao.net/svn/repo/passwd  //统一使用密码文件 
authz-db = /usr/jileniao.net/svn/repo/authz 
realm =  project_A              // 权限授权域,每个工程不能写一样的,建议写工程名

经过以上修改就可以在repo目录下的authz和passwd中控制所有项目的访问权限

第四步,配置安全规则

云服务器都需要配置安全规则才能开放端口访问

svn使用的端口是3690,如果已经被占用则需要去修改端口。

最后,启动svn服务

svnserve -d -r /usr/svn/repo

第五,遇到的问题

1、服务器路由端口开放

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,

如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
实际命令如下:

添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 

重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

2、修改svnserve.conf时,修改注释时,配置的前面有空格,应该顶格写

猜你喜欢

转载自blog.csdn.net/ovejur/article/details/88633807