Linux服务器搭建SVN服务
一、SVN简介
Subversion(SVN) 是一个开源的版本控制系统, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
二、服务搭建
2.1安装所需要的包
yum install subversion httpd mod_dav_svn –y
2.2配置apache 开机启动和启动apache服务
#开机启动
systemctl enable httpd
#启动
systemctl start httpd
2.3 检查apache支持subversion的模块是否安装成功
#进入配置文件夹
cd /etc/httpd/conf.modules.d/
#查看有哪些配置
ls
#编辑配置文件
vim 10-subversion.conf
看到有图片中箭头指向的2个模块,就说明apache支持subversion模块已经安装成功了。
2.4创建svn用户
useradd svn #创建svn用户
创建仓库目录
mkdir /var/repos #创建repos文件夹
改变/var/repos目录的拥有者和所属组为svn
chown svn:svn -R /var/repos
2.5切换到svn用户,创建仓库
su - svn #切换到svn用户
创建一个测试仓库svntest
svnadmin create /var/repos/svntest #创建测试仓库
可以看到svntest仓库的目录结构如下 :
启动svn服务
svnserve -d -r /var/repos #启动svn服务
- -d 是以后台方式运行
- -r 指定要运行的仓库
查看服务是否正常启动
ss -anput|grep 3690 #查看服务是否正常启动
三、配置apache部分
3.1修改apache的运行用户为svn
cd conf
vim httpd.conf
3.2 创建subversion文件
cd conf.d/
vim subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn". Each repository
# must be both:
#
# a) readable and writable by the 'apache' user, and
#
# b) labelled with the 'httpd_sys_content_t' context if using
# SELinux
#
#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
# # cd /var/www/svn
# # svnadmin create stuff
# # chown -R apache.apache stuff
# # chcon -R -t httpd_sys_content_t stuff
#
#<Location /repos>
# DAV svn
# SVNParentPath /var/www/svn
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
# AuthType Basic
# AuthName "Authorization Realm"
# AuthUserFile /path/to/passwdfile
# Require valid-user
# </LimitExcept>
#</Location>
<Location /svn>
DAV svn
SVNParentPath /var/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/auth
Require valid-user
</Location>
3.3 建立密码文件,配置目录权限
su - svn #切换到svn用户
htpasswd -c /home/svn/passwd liang #首次创建用户liang
ll
第一次创建文件的时候要加 -c 参数。 以后就不要加了,否则会把以前的内容全部覆盖。
再创建第2个用户
htpasswd /home/svn/passwd test
查看创建的用户
可能看到已经有2个用户了。
3.4 创建权限控制文件
cd /home/svn/auth
vim auth
[/]
liang = rw
[svntest:/]
@group1 = rw
test = r
[groups]
group1 = liang
group2 = liang,test
liang这个用户可以对所有的仓库读写,test用户可以对svntest这个仓库读。
四、重启apache服务
systemctl restart httpd
在浏览器中访问:
var code = "13abbd1e-6781-44d4-91dd-5fa97b99ea12"