Linux服务器搭建SVN服务

Linux服务器搭建SVN服务

  • 一、SVN简介
  • 二、服务搭建
    • 2.1安装所需要的包
    • 2.2配置apache 开机启动和启动apache服务
    • 2.3 检查apache支持subversion的模块是否安装成功
    • 2.4创建svn用户
    • 2.5切换到svn用户,创建仓库
  • 三、配置apache部分
    • 3.1修改apache的运行用户为svn
    • 3.2 创建subversion文件
    • 3.3 建立密码文件,配置目录权限
    • 3.4 创建权限控制文件
  • 四、重启apache服务

一、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

Linux服务器搭建SVN服务_第1张图片

看到有图片中箭头指向的2个模块,就说明apache支持subversion模块已经安装成功了。

2.4创建svn用户

useradd svn  #创建svn用户

在这里插入图片描述
创建仓库目录

mkdir /var/repos  #创建repos文件夹

在这里插入图片描述
改变/var/repos目录的拥有者和所属组为svn

chown svn:svn -R /var/repos

Linux服务器搭建SVN服务_第2张图片

2.5切换到svn用户,创建仓库

su - svn #切换到svn用户

在这里插入图片描述
创建一个测试仓库svntest

svnadmin create /var/repos/svntest #创建测试仓库

在这里插入图片描述
可以看到svntest仓库的目录结构如下 :
Linux服务器搭建SVN服务_第3张图片
启动svn服务

svnserve -d -r /var/repos #启动svn服务

在这里插入图片描述

  • -d 是以后台方式运行
  • -r 指定要运行的仓库

查看服务是否正常启动

ss -anput|grep 3690 #查看服务是否正常启动

在这里插入图片描述

三、配置apache部分

3.1修改apache的运行用户为svn

cd conf
vim httpd.conf

Linux服务器搭建SVN服务_第4张图片

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
#

#
#   DAV svn
#   SVNParentPath /var/www/svn
#
#   # Limit write permission to list of valid users.
#   
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   
#
/svn>
       DAV svn
       SVNParentPath /var/repos
        AuthType Basic
        AuthName "Subversion repository"
        AuthUserFile /home/svn/passwd
        AuthzSVNAccessFile /home/svn/auth
        Require valid-user
</Location>

Linux服务器搭建SVN服务_第5张图片
Linux服务器搭建SVN服务_第6张图片

3.3 建立密码文件,配置目录权限

su - svn  #切换到svn用户
htpasswd -c /home/svn/passwd liang  #首次创建用户liang
ll

Linux服务器搭建SVN服务_第7张图片
第一次创建文件的时候要加 -c 参数。 以后就不要加了,否则会把以前的内容全部覆盖。
再创建第2个用户

htpasswd /home/svn/passwd test

Linux服务器搭建SVN服务_第8张图片

查看创建的用户
在这里插入图片描述

可能看到已经有2个用户了。

3.4 创建权限控制文件

cd /home/svn/auth
vim auth
[/]
liang = rw
[svntest:/]
@group1 = rw
test = r
[groups]
group1 = liang
group2 = liang,test

Linux服务器搭建SVN服务_第9张图片

liang这个用户可以对所有的仓库读写,test用户可以对svntest这个仓库读。

四、重启apache服务

systemctl restart httpd

在这里插入图片描述

在浏览器中访问:
Linux服务器搭建SVN服务_第10张图片

var code = "13abbd1e-6781-44d4-91dd-5fa97b99ea12"

你可能感兴趣的:(运维,服务器,svn,linux)