posts - 12, comments - 4, trackbacks - 0, articles - 0

Apache管理SVN

Posted on 2007-10-22 13:18 Edward's 阅读(1200) 评论(0)  编辑  收藏 所属分类: SVN

软件(版本):

apache_2.0.59-win32-x86-openssl-0.9.7j.msi

svn-1.4.4-setup.exe

TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.msi

SVN管理

 

创建SVN目录

svnadmin create E:\svn

启动svn服务,-d后台模式,-r指定服务器的仓库路径

svnserve -d -r E:\svn

首先将命令行的当前目录转到要导入SVN的项目的根文件下执行
svn import svn://localhost,把当前目录和子目录和文件import到SVN管辖之中
注意:
1、设置SVN_EDITOR环境变量,设定编辑器保存日志信息
2、认证失败:在SVN项目的conf目录下svnserve.conf
设置匿名用户的权限anon-access = read,读的权限;anon-access = write写的权限

svn mkdir svn://localhost/porject2,在服务器端创建虚拟目录
svn import svn://localhost/porject2

svn checkout svn://localhost/porject2,在要存放checkout的目录下之执行
svn commit test.txt,在修改的目录下执行。
svn commit test.txt -F c:\log.txt指定日志文件

### Uncomment the line below to use the default password file.
# password-db = passwd
使用默认的密码文件passwd

SVN用户登陆的信息会保存在C盘用户目录下面

备份SVN的命令
svnadmin hotcopy F:\SVN D:\SVN
把F:\SVN备份到D:\SVN

apache的安装

注意:IIS和迅雷,skype等软件都会占用80端口

在命令行下使用:netstat -a,netstat -ab;可以查看端口占用情况

apache整合subversion

把Sbuversion/bin目录下面的mod_authz_svn.so,mod_dav_svn.so复制到Apache2\modules下面

修改Apache2\conf\httpd.conf,去掉145,146行的注释
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

在后面加上
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so

最后加上
<Location /svn>
DAV svn
SVNPath F:\SVN
</Location>

增加登陆密码
<Location /svn>
DAV svn
SVNPath F:\SVN
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile F:\passwd\passwords
Require valid-user
</Location>

配置环境变量\Apache2\bin
执行htpasswd命令,htpasswd -c F:\passwd\passwords hello
创建passwords文件和hello用户,然后增加密码
-c为创建文件 -p为明文显示密码

设置仓库的根目录,SVNParentPath。下面可以有子目录
<Location /svn>
DAV svn
SVNParentPath F:\SVN
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile F:\passwd\passwords
Require valid-user
</Location>

在SVN仓库下创建子仓库subsvn,再import一个项目到http://localhost/svn/subsvn中去
此时合法用户只能访问http://localhost/svn/subsvn,而http://localhost/svn/为403

使得合法用户可以写操作,而读不需要用户名和密码
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

增加用户分组,不允许匿名用户访问。创建用户权限文件
<Location /svn>
DAV svn
SVNParentPath F:\SVN
AuthzSVNAccessFile F:\passwd\policy
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile F:\passwd\passwords
Require valid-user
</Location>

创建policy,在其中加入
[helloworld:/]
hello=rw
google=r
baidu=

用户分组
[groups]
developers=hello,google
testers=baidu
也可以这样
testers=@developers,baidu
对于项目组的权限
[helloworld:/]
@developers=rw
@testers=r


只有注册用户登录后才能发表评论。


网站导航: