Linux Centos7 搭建svn服务器
- 检查老版本:
- 安装svn:
- 创建版本库:
- 修改配置:
- 防火墙配置:
- 启动svn服务
- 配置浏览器访问svn
官网下载: http://subversion.apache.org/packages.html
SVN客户端:Thttps://tortoisesvn.net/downloads.htm
检查老版本:
首先查看系统下有没有安装过老版本的svn:rpm -qa subversion
如果有老版本先运行一下yum -y remove subversion,删除老版本。
安装svn:
yum安装svnserve,命令:yum -y install subversion
安装成功:
查看svn安装位置命令:rpm -ql subversion
创建版本库:
创建版本库目录:mkdir /home/svn/svnresp
创建svn版本库:svnadmin create /home/svn/svnresp/demo
进入: /home/svn/svnresp/demo
conf:是这个仓库配置文件(仓库用户访问账户,权限)
format:文本文件,文本内容表示当前文件库配置的版本号
hooks:放置hook脚步文件的目录
locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
修改配置:
进入: /home/svn/svnresp/demo/confauthz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
1、修改svnserve.conf:
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名,即访问时要输用户名和密码
realm = /home/svn/svnresp/ #指定版本库的认证域,即在登录时提示的认证域名称
2、修改authz
格式:
[<版本库>:/项目/目录]
<用户名> = 权限
新建两个用户权限,rw表示赋予此账号可读写的权限,r为读,w为写
还有以group的方式分配权限,这里就先不写了
3、修改passwd
格式:
[users]
<用户名> = 密码
修改svnserver.conf需要重启SVN服务才生效,修改authz,passwd文件不需要重启服务
防火墙配置:
subversion默认端口
subversion的默认端口为:3690
CentOS 7 防火墙开启、关闭与状态查看:
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld
启用防火墙:
sudo firewall-cmd --permanent --add-service=telnet
sudo firewall-cmd -permanent --add-port=3690/tcp
sudo firewall-cmd --reload
启动svn服务
启动svn服务命令:
svnserve -d -r /home/svn/svnresp/
配置浏览器访问svn
- 基本的安装包有:
httpd的mod_dav_svn mod_authz_svn
安装命令:yum install mod_dav_svn subversion httpd
检查 /etc/httpd/module 是否存在 mod_dav_svn mod_authz_svn
- 修改svn.conf
修改 /etc/httpd/config.d/下svn.conf,如果没有就创建一个。
如图:
- 使用命令创建用户及密码
htpasswd -c accesspwd admin
如图:
密码文件存放在 /etc/httpd/conf.d/accesspwd,且以加密形式存放
- 重启httpd服务
service httpd status # 状态
service httpd start # 启动
service httpd stop # 停止
service httpd restart # 重启