电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1879 人浏览分享

CentOS安装并配置基于Apache的SVN服务器

[复制链接]
1879 0

在Linux服务器上安装并配置基于Apache的SVN服务器:

    1、安装服务

    2、创建svn版本库

    3、创建svn用户

    4、配置svn权限

    5、配置http访问


  1. #
  2. #    1、安装服务,需要安装如下程序包:
  3. #        subversion
  4. #        httpd
  5. #        mod_dav_svn
  6. #
  7. [root@svn-server ~]# yum install subversion httpd mod_dav_svn -y
  8. #
  9. #    2、创建svn版本库
  10. #
  11. #        创建存放svn版本库的目录/svn
  12. #
  13. [root@svn-server ~]# mkdir /svn
  14. #
  15. #        在/svn目录下使用svnadmin命令创建svn版本库repot,然后查看创建好的svn版本库
  16. #
  17. [root@svn-server ~]# svnadmin create /svn/repot
  18. [root@svn-server ~]# ll /svn/repot
  19. total 24
  20. drwxr-xr-x. 2 root root 4096 Dec 13 22:52 conf
  21. drwxr-sr-x. 6 root root 4096 Dec 13 22:52 db
  22. -r--r--r--. 1 root root    2 Dec 13 22:52 format
  23. drwxr-xr-x. 2 root root 4096 Dec 13 22:52 hooks
  24. drwxr-xr-x. 2 root root 4096 Dec 13 22:52 locks
  25. -rw-r--r--. 1 root root  229 Dec 13 22:52 README.txt
复制代码

  1. #
  2. #    3、创建svn用户
  3. #
  4. #       使用htpasswd命令创建用户配置文件
  5. #        -c            第一次创建用户的时候,同步创建用户配置文件(仅第一次)
  6. #        -b            在htpasswd命令中明文配置密码
  7. #        -m            使用MD5对密码进行加密
  8. #        /svn/repot/conf/passwd    用户配置文件位置,文件名和存放目录没有要求
  9. #        admin         用户名
  10. #        123456        admin密码,因为前面使用了 -b 选项,所以必须在后面加上密码
  11. #
  12. [root@svn-server ~]# htpasswd -c -b -m /svn/repot/conf/passwd admin 123456
  13. Adding password for user admin
  14. #
  15. #        创建第二个用户的时候就不需要 -c 选项了
  16. #        不指定加密选项则在Linux上默认使用 -d 选项,crypt加密
  17. #        不使用 -b 选项,则会提示你输入两次没有回显的密码,两次密码必须一致
  18. #
  19. [root@svn-server ~]# htpasswd /svn/repot/conf/passwd rouser
  20. New password:
  21. Re-type new password:
  22. Adding password for user rouser
  23. #
  24. #        查看用户配置文件:admin密码使用MD5加密,rouser密码使用crypt加密
  25. #
  26. [root@svn-server ~]# cat /svn/repot/conf/passwd
  27. admin:$apr1$R6KbqLSX$UwXTcVK6iCRfxlfyIbO4z/
  28. rouser:UBx6tRs3XYOwI
  29. #
  30. #    4、配置svn权限
  31. #
  32. #        我们使用默认的svn权限配置文件进行配置,文件名和存放目录没有要求
  33. #
  34. [root@svn-server ~]# cat /svn/repot/conf/authz
  35. [groups]                  #定义用户组,方便统一管理
  36. all = admin,rouser      #定义一个组叫做“all”,包含“admin”和“rouser”
  37. [/]                       #定义svn版本库根目录权限(子目录继承根目录权限)
  38. * = r                   #所有用户有读权限
  39. @all = r                #用户组“all”中的所有用户有读权限
  40. admin = rw              #admin用户有读权限和写权限
  41. rouser = r       #rouser有读权限
  42. #
  43. #    5、配置http访问
  44. #
  45. #        编辑Apache配置文件 /etc/httpd/conf.d/subversion.conf
  46. #
  47. [root@svn-server ~]# cat /etc/httpd/conf.d/subversion.conf
  48. LoadModule dav_svn_module     modules/mod_dav_svn.so  #加载dav_svn模块
  49. LoadModule authz_svn_module   modules/mod_authz_svn.so  #加载authz_svn模块
  50. <Location /repot>                                          #针对repot版本库做访问配置
  51.     DAV svn                                            #
  52.     SVNPath /svn/repot                                 #repot版本库路径
  53.     AuthzSVNAccessFile /svn/repot/conf/authz           #访问权限配置文件
  54.     AuthType Basic                                     #http验证方式:Basic
  55.     AuthName "Authorization repot SVN"               #验证提示语
  56.     AuthUserFile /svn/repot/conf/passwd                #用户配置文件
  57.     Require valid-user                                 #限定用户只有输对了用户名和密码才能访问
  58.     Satisfy Any                                        #ip没有被禁止或者完成账号密码验证就能访问
  59. </Location>
  60. #
  61. #        设置svn版本库下的目录和文件的所有者和属组为apache,允许通过http访问的用户可以读写svn版本库中的文件
  62. #
  63. [root@svn-server ~]# chown -R  apache.apache /svn/
  64. [root@svn-server ~]# ll /svn/
  65. total 4
  66. drwxr-xr-x. 6 apache apache 4096 Dec 13 22:52 repot
  67. #
  68. #        重启http服务
  69. #
  70. [root@svn-server ~]# /etc/init.d/httpd restart
  71. Stopping httpd:                                            [  OK  ]
  72. Starting httpd:                                            [  OK  ]
  73. #
  74. #        设置svn服务开机启动
  75. #
  76. [root@svn-server ~]# chkconfig httpd on
  77. [root@svn-server ~]# chkconfig --list |grep httpd
  78. httpd          0:off1:off2:on3:on4:on5:on6:off
  79. #
  80. #        注意配置好防火墙和SELinux,为了方便验证,可以临时关闭防火墙和SELinux
  81. #
  82. #        在浏览器或者svn客户端中访问 http://svn-server_ip/repot 验证svn已经可以访问
  83. #
  84. #        admin用户有读权限和写权限,rouser只有读权限
  85. #
  86. #########################################################################################################
  87. #
  88. #    修改用户配置文件和svn权限后立即生效,不需要重启服务
  89. #
  90. #        删除用户
  91. #
  92. [root@svn-server ~]# htpasswd -D /svn/repot/conf/passwd rouser
  93. Deleting password for user rouser
  94. [root@svn-server ~]# cat /svn/repot/conf/passwd
  95. admin:$apr1$R6KbqLSX$UwXTcVK6iCRfxlfyIbO4z/
  96. #
  97. #        重置密码,先使用crypt加密,后使用MD5加密
  98. #
  99. [root@svn-server ~]# htpasswd -b /svn/repot/conf/passwd admin 654321
  100. Updating password for user admin
  101. [root@svn-server ~]# cat /svn/repot/conf/passwd
  102. admin:dnCSoZ6Ja0drU
  103. [root@svn-server ~]# htpasswd -b -m /svn/repot/conf/passwd admin 111111
  104. Updating password for user admin
  105. [root@svn-server ~]# cat /svn/repot/conf/passwd
  106. admin:$apr1$xGna7avC$F6Tkpd8iHs2ESCsu2Psl0.
复制代码




您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.