浏览器访问svn
文章转自https://www.cnblogs.com/ayanmw/archive/2011/12/19/2294054.html
你看到的这个文章来自于http://www.cnblogs.com/ayanmw
基本的安装包有: subversion /httpd/ svn的httpd的mod_dav_svn mod_authz_svn 两个模块.(yum install mod_dav_svn subversion httpd )
svn的服务形式应该是有两种: 1 通过svnserve建立的 通过svn://ip:port 端口默认是3690,这种形式; 2 通过apache httpd或者其他的web服务器的扩展模块,进行svn管理
对于svnserve,通过svnserve -d -r /var/www/svn 这种形式建立 daemon的后台进程,但是结束要 kill `pgrep svnserve` 这种形式 来kill掉,不知道有没有直接的比如 stop的方式.
通过http服务器来管理svn也很不错,可以很方便的浏览.其配置过程如下(首先几个软件都安装,这就不用说了.):
1.在 /etc/httpd/module下面 有两个 mod 关于 svn的.
2.在/etc/httpd/config.d/下有一个subversion.conf(没有就建立一个),其内容是:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNPath /var/www/svn/
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /var/www/svn/repos1/conf/passwd
Require valid-user
</Location>
# 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 /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 /path/to/passwdfile
# Require valid-user
# </LimitExcept>
#</Location>
其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库,AuthUserFile就是用户和密码的文件,也可以移动到其他地方单独管理.
/var/www/svn 下面可以通过 svnadmin createa /var/www/svn/repos1 来建立一个空的仓库.还可以建立多个仓库;这个目录貌似最好 给apche用户所有权限:chown -R apache.apache /var/www/svn ;在repos1/conf目录下可以进行一些账号密码 配置,就不多说了.建立的其他仓库 可以拷贝这些conf文件
其中AuthUserFile 是如何制作的呢?
创建“ AuthUserFile ”设置所需的用户密码以及存储的文件 使用 apache bin/htpasswd 命令来创建。命令的格式为 htpasswd [-cmdpsD] passwordfile username 若第一次创建用户,我们必须使用参数“-c”来同时创建用户密码文件 htpasswd -c passwd robert 上述命令创建的一个文件“ passwd”,同时在文件里添加了一个 user named “robert”,执行该命令时会要求输入密码。 注意:创建第二或之后的用户时,一定不能用参数“ c ”,否则之前的用户就会被删除。 如果想要删除某个用户,我们可以使用下列命令: htpasswd -D passwd robert 这样, robert就被从 passwd中删除了。
下面就是一个示例,创建两个用户 a b,密码 aaa,bbb,再删除。查看密码文件内容:
[root@src-server websvn]# htpasswd accesspwd a
htpasswd: cannot modify file accesspwd; use '-c' to create it
[root@src-server websvn]# htpasswd -c accesspwd a
New password:
Re-type new password:
Adding password for user a
[root@src-server websvn]# ll accesspwd
-rw-r--r-- 1 root root 16 Jun 23 02:03 accesspwd
[root@src-server websvn]# htpasswd accesspwd b
New password:
Re-type new password:
Adding password for user b
[root@src-server websvn]# cat accesspwd
a:wpEqdKjINQsvM
b:JEpHUbhZZP3fc
[root@src-server websvn]# htpasswd -D accesspwd b
Deleting password for user b
[root@src-server websvn]# cat accesspwd
a:wpEqdKjINQsvM
[root@src-server websvn]#
3. sudo service httpd restart 重启httpd apache 服务. 貌似很简单呢..回来再整理下svn的命令 补充.
然后通过 http://IP/svn/repos1可以访问这个仓库,可以建立多个仓库同时访问.不过直接访问 IP/svn 无法列出仓库的列表,apache显示 "forbidden \n You don't have permission to access /svn on this server"
对于一些svn的web管理程序也有,比如ViewVC 还有一些其他的管理svn的web程序,最好可以在web端创建仓库、权限管理就好了。目前寻找这样的svn web管理程序中。
CentOS 安装websvn直接yum即可,不需要配置mysql,只需要php的支持即可。
查看websvn的包文件
[root@src-server ~]# yum install websvn
Loaded plugins: fastestmirror, presto, refresh-packagekit
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* epel: ftp.kddilabs.jp
* extras: ftp.stu.edu.tw
* kernel-xen: us1.mirror.crc.id.au
* updates: mirrors.tuna.tsinghua.edu.cn
Setting up Install Process
Package websvn-2.3.3-2.el6.noarch already installed and latest version
Nothing to do
[root@src-server ~]#rpm -ql websvn
/etc/httpd/conf.d/websvn.conf
/etc/websvn/config.php
/usr/share/doc/websvn-2.3.3
/usr/share/doc/websvn-2.3.3/changes.txt
/usr/share/doc/websvn-2.3.3/doc
/usr/share/doc/websvn-2.3.3/doc/install.html
/usr/share/doc/websvn-2.3.3/doc/style.css
/usr/share/doc/websvn-2.3.3/doc/templates.html
/usr/share/doc/websvn-2.3.3/license.txt
/usr/share/websvn
/usr/share/websvn/blame.php
/usr/share/websvn/cache
/usr/share/websvn/comp.php
/usr/share/websvn/diff.php
/usr/share/websvn/dl.php
/usr/share/websvn/filedetails.php
/usr/share/websvn/include
/usr/share/websvn/include/accessfile.php
/usr/share/websvn/include/auth.php
/usr/share/websvn/include/bugtraq.php
/usr/share/websvn/include/command.php
/usr/share/websvn/include/config.php
/usr/share/websvn/include/configclass.php
/usr/share/websvn/include/diff_inc.php
/usr/share/websvn/include/diff_util.php
/usr/share/websvn/include/header
/usr/share/websvn/include/setup.php
/usr/share/websvn/include/svnlook.php
/usr/share/websvn/include/template.php
/usr/share/websvn/include/utils.php
/usr/share/websvn/include/version.php
/usr/share/websvn/index.php
/usr/share/websvn/languages
/usr/share/websvn/languages/chinese-simplified.php
/usr/share/websvn/languages/languages.php
/usr/share/websvn/languages/省略省略省略
/usr/share/websvn/listing.php
/usr/share/websvn/log.php
/usr/share/websvn/revision.php
/usr/share/websvn/rss.php
/usr/share/websvn/temp
/usr/share/websvn/templates
/usr/share/websvn/templates/BlueGrey
/usr/share/websvn/templates/BlueGrey/省略省略省略
/usr/share/websvn/templates/Elegant
/usr/share/websvn/templates/Elegant/省略省略省略
/usr/share/websvn/templates/calm
/usr/share/websvn/templates/calm/省略省略省略
/usr/share/websvn/wsvn.php
/var/cache/websvn
下面就是vim /etc/websvn/config.php,其实这个文件就是/usr/share/websvn/include/config.php,只是做了一个链接到etc目录,这种方法对于这种需要配置的web程序来说,还真是方便。
[root@src-server ~]# ll /etc/websvn/config.php
-rw-r--r-- 1 root root 21210 Jun 24 18:48 /etc/websvn/config.php
[root@src-server ~]# ll /usr/share/websvn/include/config.php
lrwxrwxrwx 1 root root 33 Jun 23 01:01 /usr/share/websvn/include/config.php -> ../../../../etc/websvn/config.php
[root@src-server ~]#
这里需要修改的配置选项有:
$config->parentPath('/srv/svn/');
$config->useMultiViews();
############ $config->useAuthenticationFile('/srv/svn/passwd');#这里是因为我 不知道如何在websvn上登录我的账号
$config->setBlockRobots();#防止搜索程序收录
$config->expandTabsBy(4);#默认的8 似乎并不适合我的习惯
$config->useEnscript();##语法高亮 建议安装GNU Enscript高亮显示程序包,官方下载:http://www.iki.fi/~mtr/genscript/
# 关于编码 我不知道如何设置,SetInputEncoding 对于我的websvn-2.3.3不起作用,反而websvn出现500错误。
修改/etc/httpd/conf.d/websvn.conf 添加基本权限认证
Alias /websvn /usr/share/websvn/ <Directory /usr/share/websvn/>
Options MultiViews Indexes
DirectoryIndex wsvn.php
order allow,deny
allow from all
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /srv/svn/passwd
Require valid-user </Directory>
websvn就可以在线浏览了。
第三节:在线修改htpasswd密码
前面是由apache的htpasswd来通过 base 认证来进行账号管理的。通过这个小程序可以在线添加删除 校验账号密码。还有点小遗憾是 没有对 添加 删除 进行权限管理。校验后 才可以进行这个选项。
http://www.cnblogs.com/mutuan/archive/2012/07/27/2611537.html
参考:http://www.scmbbs.com/cn/svntp/2007/11/svntp1.php
转载请注明出处:http://www.cnblogs.com/ayanmw 我会很高兴的!
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。
浏览器访问svn的更多相关文章
- 通过浏览器https能够访问SVN,但eclipse SVN,tortoiseSVN始终连接不上SVN的问题解决方案
为了便于本地代码维护,特意在本地搭建了一个visualSVN服务器用于本地代码管理,但是最近突然出现问题,eclipse上的SVN资源库始终连接不上,提示 "svn: connection ...
- 使用 svn://ip/filename 方式访问svn 资源库
a. 下载 SVN的官方网站为 http://subversion.tigris.org/,当前最新版本为1.4.2.Windows下的二进制安装包分为两种,一种是以setup结尾的安装文件,另一种是 ...
- 360路由器+花生壳实现外网访问SVN服务器
注册花生壳账号 花生壳注册地址:https://console.oray.com/passport/register.html?fromurl=http%3A%2F%2Fhsk.oray.com%2F ...
- Centos虚拟机SVN的安装和使用http方式访问svn服务器
1.查看是否安装旧版SVNrpm -qa | grep subversion2.卸载旧版本SVNyum remove subversion3.安装SVNyum -y install subversio ...
- 浏览器访问Servlet
浏览器访问Servlet1.指定一个Servlet路径( 在web.xml : <servlet> ...
- TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库
TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...
- 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面
现在很流行微信网页小游戏,用html5制作的小游戏移过来,可以放到微信浏览器中打开,关键是可以做成微信分享朋友圈的形式,大大提高游戏的传播,增强好友的游戏互动. 微信浏览器中打开网页游戏效果还不错,对 ...
- 解决使用IIS5.0配置的FTP服务器,客户端浏览器访问时无法获取目录列表的问题。
我在windows xp sp3下利用iis构架了FTP服务器,允许且只允许匿名用户登陆.但刚开始配置好后,不管是使用命令行模式还是使用浏览器都发现无法访问. 于是怀疑防火墙屏蔽端口所致,果不其然,在 ...
- Windows Server 2003服务器.net4.0+IIS6.0的服务器,IE11浏览器访问的不兼容性
工作中发生了一件诡异的事情: 程序在Win7+.NET4.0+IIS7.5的服务器部署,IE8和IE11请求时,响应的样式都正常. 但是在美的同事反映说,Windows Server 2003服务器. ...
随机推荐
- [android] 手机卫士手机定位的原理
手机定位的三种方式:网络定位,基站定位,GPS定位 网络定位,手机连上wifi 2g 3g的时候,手机会有一个ip,误差很大 基站定位,精确度与基站的多少有关,几十米到几公里的误差 GPS定位,至少需 ...
- 【Spring】详解spring事务属性
Spring声明式事务让我们从复杂的事务处理中得到解脱.使得我们再也无需要去处理获得连接.关闭连接.事务提交和回滚等这些操作.再也无需要我们在与事务相关的方法中处理大量的try…catch…final ...
- MVC中返回json数据的两种方式
MVC里面如果直接将数据返回到前端页面,我们常用的方式就是用return view(): 那么我不想直接用razor语法,毕竟razor这玩意儿实在是太难记了,还不如写ajax对接来得舒服不是 那么我 ...
- c语言学习笔记-do......while
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.do......while函数意义 循环执行(人机交互) 二.do......while函数结构 do{ 语句1: 语句2: ...
- 简单实用的jQuery分页插件
在做商城和订单管理的时候,常常会用到分页功能,所以我封装了一个jQuery的分页插件,该插件主要实现上下翻页,输入数字跳转等功能. 具体实现如下: 输入参数需要当前页码pageNo,总页码totalP ...
- Salesforce数据安全简介
数据安全级别 Salesforce中将数据安全分为若干等级: 组织级别:组织级别的安全设定在整个系统内部都有效.这是最广泛的级别 对象级别:对象级别的安全设定可以限制用户对于对象的权限 字段级别:字段 ...
- 【图解】Web前端实现类似Excel的电子表格
本文将通过图解的方式,使用纯前端表格控件 SpreadJS 来一步一步实现在线的电子表格产品(例如可构建Office 365 Excel产品.Google的在线SpreadSheet). 工具简介: ...
- 腾讯X5WebView集成及在移动端中使用
工作中经常涉及H5网页的加载工作,最多使用的就是安卓系统控件WebView,但是当网页内容比较多的时候,需要等待很久才能加载完,加载完后用户才能看到网页中的内容,这样用户需要等很久,体验很差. 那能不 ...
- Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...
- Apache与Tomcat有什么关系和区别
Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. Apache是web服 ...