每次用新的服务器,都是要搭建些基本的环境,都是直接搜索某某某某环境搭建,搞定。记录下自己的搭建过程,以后可以直接看了。
第一步,安装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
第三步,配置权限
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时,修改注释时,配置的前面有空格,应该顶格写