svn_linux + apache 实现网页访问svn
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的更多相关文章
- win平台,apache通过web访问svn
上个月用php写一个在线打包lua变成luac,碰到个权限问题.pysvn无法更新.网上搜了好半天都找不到解决方法.最好还是自己解决了. 解决方法也很简单,找到aphache服务,提权限就行了.lin ...
- CentOS搭建SVN服务器,并通过Apache HTTP方式访问
摘要:本文主要讲述了在centos 6.5环境下搭建svn服务器,可通过svn:\\IP方式访问.同时由于部分公司内网端口限制,并不能访问外网的svn服务器,所以特地结合了apache服务器,使得可以 ...
- 使用 svn://ip/filename 方式访问svn 资源库
a. 下载 SVN的官方网站为 http://subversion.tigris.org/,当前最新版本为1.4.2.Windows下的二进制安装包分为两种,一种是以setup结尾的安装文件,另一种是 ...
- CentOS+Apache+php无法访问redis的解决方法
PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP. 接下来让我们安装 PH ...
- centos7基于SVN+Apache+IF.svnadmin实现SVN的web管理
一.介绍 本文介绍的是CentOS7上搭建基于Apache.SVN Server.iF.svnadmin实现web后台可视化管理SVN. iF.SVNAdmin应用程序是Subversion授权文件基 ...
- 用户对动态PHP网页访问过程,以及nginx解析php步骤
www.example.com | Nginx | 路由到www.example.com/index.php | 加载nginx的fast-cgi模块 | fast-cgi监听127.0.0.1:90 ...
- CentOS 7 配置HTTPS加密访问SVN
上一篇文章已经介绍了如何在CentOS7环境下安装SVN并整合HTTP访问 http://www.cnblogs.com/fjping0606/p/7581093.html 那么本文则介绍如何添加HT ...
- apache测试网页执行效率
apache软件下有一个测试网页访问速度的工具ab.exe,位于apache的bin目录下,windows下使用命令行进入bin目录,执行ab.exe -n 10000 -c 10 http://12 ...
- Centos虚拟机SVN的安装和使用http方式访问svn服务器
1.查看是否安装旧版SVNrpm -qa | grep subversion2.卸载旧版本SVNyum remove subversion3.安装SVNyum -y install subversio ...
随机推荐
- ListView嵌套GridView,显示不全解决办法
ListView嵌套GridView时,遇到了GridView只显示一行,其余都显示不出来的问题,最终解决办法如下: 需要自定义GridView,重新绘制高度即可: public class MyGr ...
- STL 智能指针
转自: https://blog.csdn.net/k346k346/article/details/81478223 STL一共给我们提供了四种智能指针:auto_ptr.unique_ptr.sh ...
- [Kubernetes]如何使用yaml文件使得可以向外暴露服务
最近因为项目需要上线,所以这段时间都扑到了Kubernetes上面. 昨天老大交代了一个任务,大概就是这样的: 看起来挺简单的,因为相关文件都给我了,我以为直接把文件拖上去,然后在访问ip:port方 ...
- QML 从入门到放弃 第二卷
第二卷如何更快速的放弃,注重的是C++和QML的交互 <1>记事本.. (1) 先测试下不在QML创建C++对象,仅仅在main.cpp添加一个属性函数供调用. 注意只使用槽函数来做到. ...
- 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告
报告内容如下 - - [导语] ------ 太晚了,时间也紧,一切尽量从简吧 PS:本文题目来自剑锋OI 所以废话也不多说,进入正题吧,代码直接跟在题目后边儿,主要分析在代码前,次要的就写在代码后面 ...
- ubuntu14.04上源码安装openssl1.0.2k
卸载自带openssl sudo apt-get remove openssl 解压文件tar -xzf openssl-1.0.2k.tar.gz 配置 sudo ./config shared - ...
- html5 - Storage 本地存储
Storage的解释 http://www.w3school.com.cn/html5/html_5_webstorage.asp 简单的理解就是: Storage 有两种: 1.localStora ...
- $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期
1 orm介绍 ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM. 一 ...
- C/C++中如何在main()函数之前执行一条语句?
在C语言中,如果使用GCC的话,可以通过attribute关键字声明constructor和destructor(C语言中如何在main函数开始前执行函数) #include <stdio.h& ...
- JMeter3.2生成图形化HTML报告
JMeter3.0引入了Dashboard Report,用于生成HTML页面格式图形化报告的扩展模块. 该模块支持通过两种方式生成多维度图形化测试报告: 在JMeter性能测试结束时,自动生成本次测 ...