在某些云服务中是不允许我们使用svn协议的,但是http可以使用,因此在这介绍下svn的http访问,做到版本管理的灵活性。
本文承接上一篇博文“svn配置”,因此在这svn服务器的具体搭建步骤就先不介绍了,直接从如何支持http开始。
1.安装svn和apache
yum -y install httpd httpd_devel mod_dav _svn subversion
2.更改svn版本库目录的owner
chown -R apache.apache /data/svn
3.添加用户名密码
htpasswd -c /data/svn/lqwc/conf/passwdfile xy_test
4.修改apache配置文件
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 both:
#
# a) readable and writable by the 'apache' user, and
#
# b) labelled with the 'httpd_sys_content_t' context if using
# SELinux
#
#
# 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
# # chcon -R -t httpd_sys_content_t stuff
#
<Location /svn> @1
DAV svn
SVNParentPath /data/svn@2
# 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 /data/svn/lqwc/conf/passwdfile@3
AuthzSVNAccessFile /data/svn/lqwc/conf/authz@4
Require valid-user
#</LimitExcept>
</Location>
说明: @1.此处为http访问的虚拟路径
@2.此处为svn版本库的主目录,此目录下是各个项目的目录,此例子为项目lqwc
@3.http用户的密码文件所在位置
@4.每个项目的访问权限
5.测试
在浏览器中访问http://192.168.1.2/svn/lqwc 即可出现项目lqwc版本库中的内容
注意:访问的到版本库中的主目录svn下的项目lqwc,才会显示,这表示配置成功
若测试成功,我们即可利用客户端进行版本更新了
补充:我们可以加上nginx做反向代理
vim /etc/nginx/conf.d/svn.conf
server {
listen 80;
server_name 192.168.1.2;(此处可更改为域名)
location /svn {
proxy_pass http://127.0.0.1:81/svn;
}
location / {
return 404;
}
}
重启nginx即可