Linux中基于apache httpd的svn服务器搭建与配置
mod_dav_svn是apache连接svn的模块
yum install subversion mod_dav_svn httpd
配置文件简单说明,
SVNParentPath 说明可以在指定的目录下,创建多个SVN项目
-----------------------
vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn". Each repository
# must be readable and writable by the 'apache' user. Note that if
# SELinux is enabled, the repositories must be labelled with a context
# which httpd can write to; this will happen by default for
# directories created in /var/www. Use "restorecon -R /var/www/svn"
# to label the repositories if upgrading from a previous release.
#
#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
# # cd /var/www/svn
# # svnadmin create stuff
# # chown -R apache.apache stuff
#
<Location /repos>
DAV svn
SVNParentPath /var/www/svn
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/passwdfile
Require valid-user
# </LimitExcept>
</Location>
-----------------------------
用apache自带的命令添加密码
[root@master1 www]# htpasswd -c /etc/subversion/passwdfile admin
New password:
Re-type new password:
Adding password for user admin
创建SVN的版本库
cd /var/www/svn
svnadmin create mytest0531
配置版本库相关文件
[root@master1 conf]# pwd
/var/www/svn/mytest0531/conf
[root@master1 conf]# ll
总计 24
-rw-r--r-- 1 root root 1080 05-31 16:05 authz
-rw-r--r-- 1 root root 309 05-31 16:05 passwd
-rw-r--r-- 1 root root 2279 05-31 16:05 svnserve.conf
配置文件说明
svnserve.conf 文件, 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
passwd文件
password-db = passwd
authz-db = authz
authz文件
[users]
harry = harryssecret
sally = sallyssecret
authz文件
[groups]
harry_and_sally = harry,sally
[testsvn:/]
@harry_and_sally = rw
* = r
testsvn对应版本库名称,/对应svn的目录,/var/www/svn
启动svn
svnserve -d -r /var/www/svn
测试访问
http://192.168.0.209/svn/mytest0531
=======================================================================
SVN关于权限的测试
一个疑问:web访问的用户,具有什么权限??
httpd目录下关于svn的配置文件,admin测试用户只具有浏览权限。
subversion.conf,提供svn客户端访问svn的方式。
权限测试:
web用户
admin
svn客户端用户(svn配置文件中设置的用户)
user01
user02
user03
配置内容如下
[root@master1 conf]# cat svnserve.conf |grep -v '^#'|sed /^$/d
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
------------------------------
anon-access: 控制非鉴权用户访问版本库的权限。可以设置为write、read、none
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
[root@master1 conf]# cat passwd |grep -v '^#'|sed /^$/d
[users]
user01 = user01
user02 = user02
user03 = user03
格式:用户名 = 密码
[root@master1 conf]# cat authz |grep -v '^#'|sed /^$/d
[aliases]
[groups]
user01 = user01
user02_03 = user02,user03
[mytest0531:/]
@user01 = wr
@user02_03 =r
[groups]分组选项
[mytest0531:/]对于mytest0531下的所有目录,user01具有读写权限,user02、user03具有读权限。
测试工具TortoiseSVN
1·安装TortoiseSVN
2·连接,在文件夹中右键,选择SVN Checkout...
3·选择OK
4·提示输入用户名和密码
5·输入不正确,不会有提示,但是也连接不上。可以重新输入。
6·用测试账号user02登录
7·将SVN的文件下载到本地的C:\Users\Ninglianjie\mytest0531目录下
8·将“新建文本文档.txt”删除,然后用user02上传,看结果如下:
选择SVN Commit,输入user02密码user02
9·用user01密码user01提交之后,结果如下
则可以正常删除。
10·用web浏览器浏览,如下
输入地址http://192.168.0.209/svn/mytest0531/
用户名admin,密码admin,“新建文本文档.txt”已经删除
4.建立启动svn的用户
1
2
3
4
|
[root@moshi ~] # useradd svn #如果提示svn账户已存在,则执行以下命令 [root@moshi ~] # passwd svn ##根据提示修改下密码,不能过于简单,可使用常用密码 [root@moshi ~] # chown -R svn:svn /home/svn/ ##允许用户svn访问版本库 [root@moshi ~] # chmod –R o+rw /home/svn ##解决windows检出提交提示/home/svn/db/txn-current-lock’错误 |
5.配置svn的端口
1
|
[root@moshi ~] # vi /etc/httpd/conf/httpd.conf |
找到
#Listen 12.34.56.78:80这一行,
Listen 9999 ##9999就是svn的端口,默认是80,你可以修改成你自己想要的。不建议使用默认80端口
5.配置httpd
1
|
[root@moshi ~] # vi /etc/httpd/conf.d/subversion.conf |
修改文件内容为:
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /home/svn
AuthType Basic
AuthName "Authorization"
AuthUserFile /home/svn/conf/pwd.conf ##对应你的用户配置文件
AuthzSVNAccessFile /home/svn/conf/authz.conf ##对应你的权限配置文件
Require valid-user
</Location>
保存退出!
重启httpd服务。
1
2
3
|
[root@moshi ~] # service httpd restart 停止 httpd: [确定] 正在启动 httpd: [确定] |
出现以上字样,表名httpd的配置已经成功启动成功。
6.启动svn
1
|
[root@moshi ~] # svnserve -d -r /home/svn/ |
7.查看svn服务是否正常
1
2
3
4
|
[root@moshi ~] # ps aux|grep svn ##出现以下内容说明svn服务已经成功启动 root 8610 0.0 0.0 152864 740 ? Ss 11:25 0:00 svnserve -d -r /home/svn/repos1/ root 13128 0.0 0.0 103252 876 pts/0 S+ 14:00 0:00 grep svn |
8.进入浏览器访问。
在浏览器中输入:服务器Ip+端口+httpd配置中的<Location /svn>。
会提示你输入用户名密码。
9.总结
嗯,没啥太多总结,这些内容都是我从网上综合多个帖子试验出来的结果,希望能给你一些帮助。
Linux中基于apache httpd的svn服务器搭建与配置的更多相关文章
- 基于SSL加密的vsftpd 服务器搭建和配置
基于SSL加密的VSFTPD 服务器搭建和配置 1.安装 ubuntu系统:apt-get install vsftp lftp centos系统:yum install -y vsftpd ftp ...
- SVN服务器搭建和配置使用详解
SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...
- Centos6.5 SVN服务器 搭建及配置
现有的项目开发中,版本控制机必不可少.合理的使用版本控制可以提高开发效果,在保证项目是最新的同时,也提高了源代码的安全性. 工具/原料 接入Internet的一台Centos6.5Linux计算机 安 ...
- svn服务器搭建与配置
http://www.cnblogs.com/armyfai/p/3985660.html
- 软件测试-Svn服务器搭建全过程-基于Centos6.7-64bit
本文详细介绍了在CentOs6.7-64bit服务器上搭建SVN版本控制服务 工具准备 CentOs6.7-64bit操作系统:关闭linux防火墙:设置定固IP--DHCP(动态):安装系统过程中开 ...
- linux 中 svn 服务器搭建 重启
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
- 基于腾讯Centos7云服务器搭建SVN版本控制库
基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
- Linux下的SVN服务器搭建
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
随机推荐
- A. Little C Loves 3 I Codeforces Round #511 (Div. 2) 【数学】
题目: Little C loves number «3» very much. He loves all things about it. Now he has a positive integer ...
- POJ - 1222 / POJ - 3279 枚举第一行
说好的高斯消元法呢,暴搜都能0ms 这种翻转就是枚举第一行控制变量下面行就全都确定了 代码参考挑战程序设计例题 #include<iostream> #include<algorit ...
- jmeter发送邮件的模板
<hr/> (本邮件是程序自动下发的,请勿回复!)<br/><hr/> 项目名称:$PROJECT_NAME<br/><hr/> 构建编号: ...
- method reference
import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util ...
- 2019.03.27 读书笔记 关于GC垃圾回收
在介绍GC前,有必要对.net中CLR管理内存区域做简要介绍: 1. 堆栈:用于分配值类型实例.堆栈主要操作系统管理,而不受垃圾收集器的控制,当值类型实例所在方法结束时,其存储单位自动释放.栈的执行效 ...
- jar包、jdk版本、兼容性
对jar包.jdk版本,以及不同jdk版本的jar包的兼容性有一些疑问,搜集一些资料于此 查看jar包的jdk版本 查看.jar包中的META-INF\MANIFEST.MF Build-Jdk: 1 ...
- 06-struts2与ognl的结合
1 参数接收 2 配置文件中 1 Demo2Action package www.test.c_config; import com.opensymphony.xwork2.ActionSupport ...
- B站视频下载(VideoHelper)
继续上次的知乎爬虫, 这次开始了哔哩哔哩的爬虫实践: 首先介绍下如何下载吧: VideoHelper 里面有三种方式下载b站视频. 同样的流程, 还是先抓包,分析参数,寻找参数(包括之前的请求包和页面 ...
- Springboot - 自定义错误页面
Springboot 没找到页面或内部错误时,会访问默认错误页面.这节我们来自定义错误页面. 自定义错误页面 1.在resources 目录下面再建一个 resources 文件夹,里面建一个 err ...
- SpringBoot | 第二十八章:监控管理之Spring Boot Admin使用
前言 上一章节,我们介绍了Actuator的使用,知道了可通过访问不同的端点路径,获取相应的监控信息.但使用后也能发现,返回的监控数据都是以JSON串的形式进行返回的,对于实施或者其他人员来说,不是很 ...