以http,svn两种方式访问svn库
2016-04-22 18:25
465 查看
在 http://room-bb.iteye.com/blog/2190213搭建svn服务器这一文中,是通过svn:// 方式来访问svn仓库的。本文着重介绍通过apache配置,以http方式来访问版本库(这对于svn版本库部署在外网服务器上很有用)
[color=blue]1:创建多个svn仓库[/color]
[color=blue]2:配置svn[/color]
我们创建了三个svn仓库,可以把其中一个仓库的/data/svn/exam_1/conf目录下的配置文件移到 /data/svn/conf,这样可以通过一份配置,控制三个仓库的权限,具体操作如下:
[color=blue] 3:启动svn[/color] [color=red]注意参数噢,很重要[/color]
[color=blue] 4:配置svn支持http访问[/color]
[color=blue]5:关闭 SELinux[/color][color=red]。这个很重要,我就是没关闭,导致一直登陆不了,调试了一整天,都是泪啊[/color]
[color=blue]6:测试[/color]
svn方式访问:
在windows下,通过svn客户端输入
svn://192.168.7.223/exam_1
http方式访问
在浏览器地址栏输入
http://192.168.7.223/svn/exam_1
注意:这里比svn方式方位多了个/svn,因为我们配置location时设置了一个虚拟路径
如果想通过域名访问
例如
http://www.bb.com/svn/exam_1
修改hosts文件
vi /etc/hosts
192.168.7.223 www.bb.com
如果无法登录,要检查防火墙设置啦,iptables -L -n
查看svn和httpd的端口是否开放
[color=blue]1:创建多个svn仓库[/color]
svnadmin create /data/svn/exam_1
svnadmin create /data/svn/exam_2
svnadmin create /data/svn/exam_3
注意,你也可以不用执行多次svnadmin 其实创建了一个exam_1,可以直接cp -r exam_1 exam_2
[color=blue]2:配置svn[/color]
我们创建了三个svn仓库,可以把其中一个仓库的/data/svn/exam_1/conf目录下的配置文件移到 /data/svn/conf,这样可以通过一份配置,控制三个仓库的权限,具体操作如下:
mkdir -p /data/svn/conf
cp -r /data/svn/exam_1/conf/* /data/svn/conf
配置passwd
vi /data/svn/conf/passwd
manager = 123456
dev1 = 123456
dev2 = 123456
dev3 = 123456
art1 = 123456
art2 = 123456
art3 = 123456
des1 = 123456
des2 = 123456
des3 = 123456
配置authz
vi /data/svn/conf/authz
admin = manager
dev = dev1,dev2,dev3
art = art1,art2,art3
des = des1,des2,des3
[/]
@admin = rw
* =
[exam_1:/]
@admin = rw
@dev = rw
* =
[exam_2:/]
@admin = rw
@art = rw
* =
[exam_3:/]
@admin = rw
@des = rw
* =
配置全局文件 svnserve.conf
vi /data/svn/conf/svnserve.conf
anon-access = none #禁止匿名访问,设置为none。默认为read,参数:read,write,none
auth-access = write #授权用户写权限
password-db = /data/svn/conf/passwd
authz-db = /data/svn/conf/authz
realm = svn #每个SVN项目的认证名,会在认证提示里显示,建议写项目名称。
[color=blue] 3:启动svn[/color] [color=red]注意参数噢,很重要[/color]
svnserve -d -r /home/svn --config-file /data/svn/conf/svnserve.conf
[color=blue] 4:配置svn支持http访问[/color]
生成账号密码认证文件
htpasswd -cm /data/svn/conf/http_passwd manager #第一次生成要参数-c
htpasswd -m /data/svn/conf/http_passwd dev1 #后面添加的用户不要带参数-c
http_passwd 是http模式下使用的认证文件,passwd是svn模式使用的认证文件,
这两个文件中的用户和密码最好一样,这样,同一个用户可以用两种方式访问svn库
设置apache svn配置文件
cd /etc/httpd/conf.d/
如果没有subversion.conf 文件,那么先执行 yum -y install mod_dav_svn
vi /etc/httpd/conf.d/subversion.conf
<Location /svn> #/svn是虚拟目录,映射到/data/svn中。
DAV svn
#SvnPath /data/svn/ #只支持一个主目录的SVN版本库
SVNParentPath /data/svn/ #支持多个相同父目录的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 SVN"
AuthzSVNAccessFile /data/svn/conf/authz
AuthUserFile /data/svn/conf/http_passwd
Require valid-user
#</LimitExcept>
</Location>
设置权限目录
chown -R apache:apache /data/svn/
重启apache服务
service httpd restart
[color=blue]5:关闭 SELinux[/color][color=red]。这个很重要,我就是没关闭,导致一直登陆不了,调试了一整天,都是泪啊[/color]
getenforce ##查看SELinux状态
setenforce 0 ##设置SELinux 为permissive模式 不用重启,立即生效
##setenforce 1 成为enforcing模式
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled 重启机器后生效
[color=blue]6:测试[/color]
svn方式访问:
在windows下,通过svn客户端输入
svn://192.168.7.223/exam_1
http方式访问
在浏览器地址栏输入
http://192.168.7.223/svn/exam_1
注意:这里比svn方式方位多了个/svn,因为我们配置location时设置了一个虚拟路径
如果想通过域名访问
例如
http://www.bb.com/svn/exam_1
修改hosts文件
vi /etc/hosts
192.168.7.223 www.bb.com
如果无法登录,要检查防火墙设置啦,iptables -L -n
查看svn和httpd的端口是否开放
相关文章推荐
- HTTP访问的两种方式(HttpClient+HttpURLConnection)整合汇总对比
- 访问Http接口的两种请求方式
- Android两种网络访问方式(HttpClient HttpUrlConnection)的比较及三种传参方式介绍
- HTTP访问的两种方式:HttpURLConnection和HTTPClient的比较
- HTTP访问的两种方式
- System.Web.Http.Cors配置跨域访问的两种方式
- Nginx配置同一个域名http与https两种方式都可访问
- HTTP访问的两种方式(HttpClient和HttpURLConnection)
- 网页_访问(WinInet)和网页_访问_对象(WinHttp)两种方式在cookie方面的差异
- Ubuntu架设HTTP方式访问的SVN服务器以及war文件上传自动部署
- HTTP访问的两种方式
- CentOS搭建SVN服务器,并通过Apache HTTP方式访问
- 支持RTSP和HTTP两种方式访问的IP WiFi摄像头
- HTTP访问的两种方式(HttpClient和HttpURLConnection)
- java通过Http请求访问网络图片或文件返回byte数组的两种方式
- 使用 HTTP 协议访问网络的两种方式:HttpURLConnection 和 HttpClient
- Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
- svn3种访问方式svn:// file:/// http://
- 3.1 使用 HTTP 访问网络的两种方式详解
- Ubuntu架设HTTP方式访问的SVN服务器以及war文件上传自动部署