svn_linux + apache 实现网页访问svn

摘要:
如果返回403错误,可能是防火墙问题。增加防火墙规则:$sudofirewall-cmd--permanent--add-service=http$sudofirewall-cmd--permanent--add-service=https$sudofirewall-cmd--reload7.2、思路整理:1、URL路径不对:看看仓库的位置和你填写的是否一致,只需要在ip后面写仓库名字即可2、无权限下载或提交:就去全局配置里面的authz、passwd文件仔细检查,在apahce+svn配合模式下passwd下的文件需要加密生成的用户密码,明文是不允许且读取不到的3、提交或者访问超时等:防火墙开了没,centos7增加了firewalld的如果还安装了iptables那就都需要关闭,看端口、后台程序是否都在!

CentOS7:搭建SVN + Apache 服务器实现网页访问

1. 安装httpd

安装httpd服务:

$ sudo yum install httpd

检查httpd是否安装成功:

$ httpd -version
Server version: Apache/2.4.6 (CentOS)
Server built:   Jul 18 2016 15:30:14

2. 安装svnserve

安装svnserve服务:

$ sudo yum install subversion

检查svnserve是否安装成功:

$ svnserve --version
svnserve, version 1.7.14 (r1542130)
compiled Nov 20 2015, 19:25:09

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. 6 root root 80 Nov 10 14:42 spring-hello-world

$ ll /var/www/svn/spring-hello-world/
drwxr-xr-x. 2 root root   51 Nov 10 14:42 conf
drwxr-sr-x. 6 root root 4096 Nov 10 14:42 db
-r--r--r--. 1 root root    2 Nov 10 14:42 format
drwxr-xr-x. 2 root root 4096 Nov 10 14:42 hooks
drwxr-xr-x. 2 root root   39 Nov 10 14:42 locks
-rw-r--r--. 1 root root  229 Nov 10 14:42 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
svnserve -d -r /var/www/svn/ ###只要没有报错就可以,为了保险ps aux | grep svn 能看到后台程序
7.1、记住/var/www/svn/目录下面的authz和passwd文件是所有仓库的验证文件,在仓库下面的conf目录下的authz、passswd密码文件不用动即可,
但是需要配置仓库下面的conf目录的senserve.conf仓库主配置文件,里面指定authz、passwd文件的绝对路径,和开启anon-access两个即可

客户端使用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
7.2、思路整理:
1、URL路径不对:看看仓库的位置和你填写的是否一致,只需要在ip后面写仓库名字即可
2、无权限下载或提交:就去全局配置里面的authz、passwd文件仔细检查,
在apahce+svn配合模式下passwd下的文件需要加密生成的用户密码,明文是不允许且读取不到的
3、提交或者访问超时等:防火墙开了没,centos7增加了firewalld的如果还安装了iptables那就都需要关闭,看端口、后台程序是否都在!

免责声明:文章转载自《svn_linux + apache 实现网页访问svn》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#中ASCII码学习心得怎么彻底关闭flash助手弹窗?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Liunx-常用命令杂烩(5)

快捷键 ctrl+alt 显示鼠标 ctrl+alt+tab+F1~F6 :进入字符终端界面tty1~tty6,例如 ctrl+alt+tab+F7 :退出字符终端界面 简单命令相关 whoami      打印当前有效用户名 (who am i) date "+ %Y/%m/%d %H:%M:%S 打印年月日...

PHP 开发基础知识学习笔记

PHP 基本知识 PHP 数组操作 关联数组: <?php $var = array("first"=>1,"second"=>2,"third"=>3,"montd"=>4); foreach ($var as $key => $value) { echo "键 --> {$key} --> 值 --&...

Linux_搭建Samba服务(匿名访问)

【RHEL8】—SMBserver;【RHEL7】—SMBclient !!!测试环境我们首关闭防火墙和selinux(SMBserver和SMBclient都需要) [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [r...

Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君。限制:我个人的云计算服务器都是Linux的,所以不能直接用普通青年在windows服务器上安装酷Q的简单方法。环境:centos7.4、docker、酷Q容器 酷Q on Docker...

hbase安装配置(整合到hadoop)

如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1.  快速单击安装 在单机安装Hbase的方法。会引导你通过shell创建一个表,插入一行,然后删除它,最后停止Hbase。只要10分钟就可以完成以下的操作。 1.1下载解压最新版本 选择一个 ...

查看当前linux有多少http连接数

已采纳 1、查看apache当前并发访问数:    #对比httpd.conf中MaxClients的数字差距多少。netstat -an | grep ESTABLISHED | wc -l2、查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):ps aux|grep httpd|wc -l3、可以使用如下参数查看数据    ...