1. 安装httpd

安装httpd服务:

$ sudo yum install httpd

检查httpd是否安装成功:

$ httpd -version
Server version: Apache/2.4. (CentOS)
Server built: Jul ::

2. 安装svnserve

安装svnserve服务:

$ sudo yum install subversion

检查svnserve是否安装成功:

$ svnserve --version
svnserve, version 1.7. (r1542130)
compiled Nov , ::

3. 按住mod_dav_svn

mod_dav_svn是apache服务器访问svn的一个模块。通过yum安装:

$ sudo yum install mod_dav_svn

安装成功后,会有mod_dav_svn.so和mod_authz_svn.so两个文件。

$ sudo find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so $ sudo find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so

4. 创建svn仓库

$ sudo mkdir /var/www/svn
$ sudo svnadmin create /var/www/svn/spring-hello-world $ ll /var/www/svn/
drwxr-xr-x. root root Nov : spring-hello-world $ ll /var/www/svn/spring-hello-world/
drwxr-xr-x. root root Nov : conf
drwxr-sr-x. root root Nov : db
-r--r--r--. root root Nov : format
drwxr-xr-x. root root Nov : hooks
drwxr-xr-x. root root Nov : locks
-rw-r--r--. root root Nov : README.txt

5. 配置权限

修改svn仓库的用户组为apache:

$ sudo chown -R apache:apache /var/www/svn/spring-hello-world/

创建用户文件passwd:

$ sudo touch /var/www/svn/passwd  #创建用户文件

$ sudo htpasswd /var/www/svn/passwd admin  #创建用户admin
$ sudo htpasswd /var/www/svn/passwd guest #创建用户guest $ cat /var/www/svn/passwd
admin:$apr1$UCkPzZ2x$tnDk2rgZoiaURPzO2e57t0
guest:$apr1$vX1RIUq6$OKS1bqKZSptzsPDYUOJ5x.

创建权限文件authz:

$ sudo cp /var/www/svn/spring-hello-world/conf/authz /var/www/svn/authz

$ cat /var/www/svn/authz
[/]
admin = rw
guest = r

6. 配置httpd

$ sudo touch /etc/httpd/conf.d/subversion.conf

$ cat /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /var/www/svn AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/www/svn/authz
AuthUserFile /var/www/svn/passwd
Require valid-user
</Location>

7. 启动httpd服务

$ sudo systemctl start httpd.service

客户端使用http://192.168.12.59/svn/spring-hello-world就可以访问刚才建立的svn仓库了。 如果返回403错误,可能是防火墙问题。增加防火墙规则:

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --reload

最新文章

  1. android 移动网络实时抓包
  2. HTTP在.NET中的一些应用和解析
  3. SqlServer -- char与varchar、nchar、N
  4. try{}、catch(){}、throw语句
  5. d.BIO连接器与NIO连接器的对比之二
  6. C#常用类汇总
  7. 在centos中创建nginx启动脚本
  8. 实际举例C#引用类型和值类型的区别&lt;网摘&gt;
  9. 【转】一个安全测试的CheckList
  10. vijos 1085 Sunnypig闯三角关
  11. C++ 外部调用private方法
  12. Tomcat 性能调优 出现java.lang.OutOfMemoryError: PermGen space
  13. 快速预览:C# 3.0的新东西
  14. 面对考试毫无畏惧的SSH
  15. 用SVG做background image
  16. python初接触
  17. mybatis中文官网
  18. css的三种使用方式:行内样式,内嵌样式,外部引用样式
  19. 读高性能JavaScript编程 第一章
  20. Linux 下的编译安装说明

热门文章

  1. Object.observe
  2. java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext问题原因及解决方法
  3. Word Break
  4. OpenGL的学习资源
  5. 配置自己的OpenGL库,glew、freeglut库编译,库冲突解决(附OpenGL Demo程序)
  6. libevent之丢失header问题
  7. python3 如何使用ip、爬虫
  8. textarea自适应高度
  9. sql server 更新视图的sp
  10. C#生成随机字符串(数字,字母,特殊符号)