Linux服务器搭建SVN服务

怼烎@ 2024-04-03 10:49 219阅读 0赞

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安装所需要的包

  1. yum install subversion httpd mod_dav_svn y

在这里插入图片描述

2.2配置apache 开机启动和启动apache服务

  1. #开机启动
  2. systemctl enable httpd
  3. #启动
  4. systemctl start httpd

2.3 检查apache支持subversion的模块是否安装成功

  1. #进入配置文件夹
  2. cd /etc/httpd/conf.modules.d/
  3. #查看有哪些配置
  4. ls
  5. #编辑配置文件
  6. vim 10-subversion.conf

在这里插入图片描述

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

2.4创建svn用户

  1. useradd svn #创建svn用户

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

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

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

  1. chown svn:svn -R /var/repos

在这里插入图片描述

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

  1. su - svn #切换到svn用户

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

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

在这里插入图片描述
可以看到svntest仓库的目录结构如下 :
在这里插入图片描述
启动svn服务

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

在这里插入图片描述

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

查看服务是否正常启动

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

在这里插入图片描述

三、配置apache部分

3.1修改apache的运行用户为svn

  1. cd conf
  2. vim httpd.conf

在这里插入图片描述

3.2 创建subversion文件

  1. cd conf.d/
  2. vim subversion.conf

在这里插入图片描述

  1. LoadModule dav_svn_module modules/mod_dav_svn.so
  2. LoadModule authz_svn_module modules/mod_authz_svn.so
  3. # Example configuration to enable HTTP access for a directory
  4. # containing Subversion repositories, "/var/www/svn". Each repository
  5. # must be both:
  6. #
  7. # a) readable and writable by the 'apache' user, and
  8. #
  9. # b) labelled with the 'httpd_sys_content_t' context if using
  10. # SELinux
  11. #
  12. #
  13. # To create a new repository "http://localhost/repos/stuff" using
  14. # this configuration, run as root:
  15. #
  16. # # cd /var/www/svn
  17. # # svnadmin create stuff
  18. # # chown -R apache.apache stuff
  19. # # chcon -R -t httpd_sys_content_t stuff
  20. #
  21. #<Location /repos>
  22. # DAV svn
  23. # SVNParentPath /var/www/svn
  24. #
  25. # # Limit write permission to list of valid users.
  26. # <LimitExcept GET PROPFIND OPTIONS REPORT>
  27. # # Require SSL connection for password protection.
  28. # # SSLRequireSSL
  29. #
  30. # AuthType Basic
  31. # AuthName "Authorization Realm"
  32. # AuthUserFile /path/to/passwdfile
  33. # Require valid-user
  34. # </LimitExcept>
  35. #</Location>
  36. <Location /svn>
  37. DAV svn
  38. SVNParentPath /var/repos
  39. AuthType Basic
  40. AuthName "Subversion repository"
  41. AuthUserFile /home/svn/passwd
  42. AuthzSVNAccessFile /home/svn/auth
  43. Require valid-user
  44. </Location>

在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述
第一次创建文件的时候要加 -c 参数。 以后就不要加了,否则会把以前的内容全部覆盖。
再创建第2个用户

  1. htpasswd /home/svn/passwd test

在这里插入图片描述

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

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

3.4 创建权限控制文件

  1. cd /home/svn/auth
  2. vim auth
  3. [/]
  4. liang = rw
  5. [svntest:/]
  6. @group1 = rw
  7. test = r
  8. [groups]
  9. group1 = liang
  10. group2 = liang,test

在这里插入图片描述

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

四、重启apache服务

  1. systemctl restart httpd

在这里插入图片描述

在浏览器中访问:
在这里插入图片描述

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

发表评论

表情:
评论列表 (有 0 条评论,219人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux环境SVN服务器

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /