初步实现了Apache2.2.9+Subversion1.5.5在windows下的配置与权限设置
2009-02-12 14:28
676 查看
URL:http://www.iusesvn.com/
1.安装Apache2.2.9(http://httpd.apache.org/download.cgi)
选择:
Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.9-win32-x86-no_ssl-r2.msi [PGP] [MD5] 在安装过程输入信息前两项Network Domain和Server Name中都输入localhost,下面那个email就随便了,如果机器安装了iis并且启动中,要先把iis服务停掉。否则会和apache的监听端口冲突的。
2.下载SVN1.5(如果是1.4.6版本则有exe二进制安装文件,而1.5目前只有source版,解压下来即可用)
(我安装的是1.5.5版本:http://subversion.tigris.org/files/documents/15/44589/svn-win32-1.5.5.zip)
(先安装了之前的版本:1.4.6,然后弄1.5.5的拷过去覆盖安装的目录文件)
将/svn安装路径/bin中的文件mod_dav_svn.so和mod_authz_svn.so,将它们拷贝到Apache的modules目录,复制%SVN_HOME%/bin/libdb44.dll、libeay32.dll、以及 ssleay32.dll到%APACHE_HOME%/bin
然后,使用记事本之类的文本编辑器编辑Apache的配置文件/conf/httd.conf做如下修改:
去掉以下行的注释(将开头的#删除):
#LoadModule dav_module modules/mod_dav.so
在LoadModule节的最后添加以下两行:
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
* 完成以上步骤也就完成了Apache2.2.9 + svn1.5的基本配置
现在关闭Apache服务器,再重启,会发现Apache控制台的状态栏出现Subversion的信息
如:Apache/2.2.9(Win32) SVN/1.5 DAV/2
这就说明已经成功的将Subversion集成到了Apache当中
3.下载并安装TortoiseSVN(http://tortoisesvn.tigris.org/)
(我安装的是1.5.7.15182版本)
根据向导安装好后,创建版本库D:/SVN版本库/repository,右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4.修改Apache的配置文件
在Apache的配置文件/conf/httd.conf文件的尾部添加
<Location /svn>
#这里指定了仓库的访问路径
DAV svn
#指定仓库在硬盘上的实际位置
SVNPath D:/SVN版本库/repository
#认真方式为基本方式
AuthType Basic
#认证窗口的标题
AuthName "Subversion Repository"
#认证用户配置文件实际位置
AuthUserFile "D:/SVN版本库/passwords.auth"
#认证权限配置文件实际位置
AuthzSVNAccessFile "D:/SVN版本库/access.auth"
#设定为需要进行认证
Require valid-user
</Location>
设置解释<Location /svn>意思是Subversion版本库的URL是http://MyServer/svn/DAV svn告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。SVNListParentPath on对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。SVNParentPath D:/SVN告诉Subversion需要查看的版本库位于D:/SVN之下AuthType Basic激活基本认证,就是用户名/密码AuthName "Subversion repositories"用来说明何时弹出要求用户输入认证信息的认证对话框AuthUserFile passwd指定使用的认证密码文件AuthzSVNAccessFile位置Subversion版本库的访问控制文件的路径Require valid-user指定只有输入了正确的用户/密码的用户可以访问URL
* 接下来我们创建认证所需的两个文件:用户文件和权限文件到D:/SVN版本库下建立文件 passwords.auth和access.auth(可以用记事本创建后修改文件名)
* 配置认证用户文件passwords.auth,内容如下:
tom:tom
cat:cat
hello:world
在这里密码都没有加密,如果需要设置密码加密,可以用Apache安装目录下bin目录中的htpasswd.exe程序生成,具体生成方法如下:
我的Apache安装路径是:
D:/Program Files/Apache Software Foundation/Apache2.2/
打开命令窗口,进入到D:/Program Files/Apache Software Foundation/Apache2.2/bin,
在命令行中使用如下命令:htpasswd -c D:/svnroot/passwords.auth tom
回车后会提示输入密码,输入tom,再回车会提示输入确认密码,再次输入tom就可以了
命令行中的参数-c表示创建一个文件,第一次运行创建好了,再添加别的用户的时候就
不要再使用这个参数了,如我再添加cat和hello用户
htpasswd D:/svnroot/passwords.auth cat
htpasswd D:/svnroot/passwords.auth hello
这样建立的用户密码默认使用的MD5加密,你打开文件以后看到的可能就是如下格式:
tom:7Z/80Al6$WTqVrBgshc/Bxi6YYkUga1$apr1$
cat:kNrG459T$qfAZ7MpgpFcdd2xp25gST1$apr1$
到此我们就添加好了三个用户tom,cat和hello,他们的密码分别为tom,cat,world
* 配置认证权限文件access.auth
直接在D:/svnroot下建立access.auth文件即可,然后填入如下内容
[groups]
dev1 = tom,cat #开发用户组1
dev2 = hello #开发用户组2
[/]
* = r #设定所有用户对根目录有读权限,即浏览权限
[/aaa]
@dev1 = rw #设定dev1组成员对aaa目录有读和写权限
@dev2 = #设定dev2组成员对aaa目录没有任何权限
[/bbb]
@dev1 = #设定dev1组成员对bbb目录没有任何权限
@dev2 = rw #设定dev2组成员对bbb目录有读和写权限
[/ccc]
@dev1 = #设定dev1组成员对ccc目录没有任何权限
@dev2= #设定dev2组成员对ccc目录没有任何权限
到此我们为不同用户分组定义了权限,大家可以使用不同的用户
进行browse/import/checkout试验
访问路径为http://localhost/svn
*配置多仓库的用户权限
* 首先在建立一个仓库svn2
* 在D:/svnroot目录下首先执行D:/svnroot/mkdir svn2建立子目录svn2
* 然后执行svnserve create D:/svnroot/svn2建立仓库svn2
修改打开Apache安装目录下conf目录中的httpd.conf文件,将光标移到问文件的最末端
加入的代码修改如下:
<Location /svn>
DAV svn
#这里将SVNPath修改为SVNParentPath,当前目录为父目录
#仓库svn1和svn2在这个父目录下
SVNParentPath D:/svnroot
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "D:/svnroot/passwords.auth"
AuthzSVNAccessFile "D:/svnroot/access.auth"
Require valid-user
</Location>
* 认证用户文件passwords.auth不需要做任何修改
* 认证权限文件access.auth修改如下:
[groups]
dev1 = tom,cat #开发用户组1
dev2 = hello #开发用户组2
[svn1:/]
* = r
[svn1:/aaa]
@dev1 = rw #设定dev1组成员对svn1仓库下的aaa目录有读和写权限
@dev2 = #设定dev2组成员对svn1仓库下的aaa目录没有任何权限
[svn1:/bbb]
@dev1 = #设定dev1组成员对svn1仓库下的bbb目录没有任何权限
@dev2 = rw #设定dev2组成员对svn1仓库下的bbb目录有读和写权限
[svn1:/ccc]
@dev1 = #设定dev1组成员对svn1仓库下的ccc目录没有任何权限
@dev2= #设定dev2组成员对svn1仓库下的ccc目录没有任何权限
[svn2:/]
@dev1 = #设定dev1组成员对svn2仓库没有任何权限
@dev2= #设定dev2组成员对svn2仓库没有任何权限
到此我们为不同用户分组对不同仓库定义了权限,大家可以使用不同的用户
进行browse/import/checkout试验
仓库1访问路径为http://localhost/svn/svn1
仓库2访问路径为http://localhost/svn/svn2
对父目录http://localhost/svn/,任何用户都没有任何访问权限
5.总结
经过以上几个部分的介绍,初步实现了Apache2.2.9+Subversion1.5.5(for Apache2.2.X)在windows下的配置与权限设置,并且根据单仓库和多仓库的不同情况,进行了分别的分析与配置,基本可以满足日常开发的需要,在实际的开发中,可以根据实际人员和项目的权限安排,进行相应的配置。
以上经过本人配置实验,配置成功,通过TortoiseSVN 的版本浏览器可以简单实现了版本的管理
1.安装Apache2.2.9(http://httpd.apache.org/download.cgi)
选择:
Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.9-win32-x86-no_ssl-r2.msi [PGP] [MD5] 在安装过程输入信息前两项Network Domain和Server Name中都输入localhost,下面那个email就随便了,如果机器安装了iis并且启动中,要先把iis服务停掉。否则会和apache的监听端口冲突的。
2.下载SVN1.5(如果是1.4.6版本则有exe二进制安装文件,而1.5目前只有source版,解压下来即可用)
(我安装的是1.5.5版本:http://subversion.tigris.org/files/documents/15/44589/svn-win32-1.5.5.zip)
(先安装了之前的版本:1.4.6,然后弄1.5.5的拷过去覆盖安装的目录文件)
将/svn安装路径/bin中的文件mod_dav_svn.so和mod_authz_svn.so,将它们拷贝到Apache的modules目录,复制%SVN_HOME%/bin/libdb44.dll、libeay32.dll、以及 ssleay32.dll到%APACHE_HOME%/bin
然后,使用记事本之类的文本编辑器编辑Apache的配置文件/conf/httd.conf做如下修改:
去掉以下行的注释(将开头的#删除):
#LoadModule dav_module modules/mod_dav.so
在LoadModule节的最后添加以下两行:
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
* 完成以上步骤也就完成了Apache2.2.9 + svn1.5的基本配置
现在关闭Apache服务器,再重启,会发现Apache控制台的状态栏出现Subversion的信息
如:Apache/2.2.9(Win32) SVN/1.5 DAV/2
这就说明已经成功的将Subversion集成到了Apache当中
3.下载并安装TortoiseSVN(http://tortoisesvn.tigris.org/)
(我安装的是1.5.7.15182版本)
根据向导安装好后,创建版本库D:/SVN版本库/repository,右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4.修改Apache的配置文件
在Apache的配置文件/conf/httd.conf文件的尾部添加
<Location /svn>
#这里指定了仓库的访问路径
DAV svn
#指定仓库在硬盘上的实际位置
SVNPath D:/SVN版本库/repository
#认真方式为基本方式
AuthType Basic
#认证窗口的标题
AuthName "Subversion Repository"
#认证用户配置文件实际位置
AuthUserFile "D:/SVN版本库/passwords.auth"
#认证权限配置文件实际位置
AuthzSVNAccessFile "D:/SVN版本库/access.auth"
#设定为需要进行认证
Require valid-user
</Location>
设置解释<Location /svn>意思是Subversion版本库的URL是http://MyServer/svn/DAV svn告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。SVNListParentPath on对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。SVNParentPath D:/SVN告诉Subversion需要查看的版本库位于D:/SVN之下AuthType Basic激活基本认证,就是用户名/密码AuthName "Subversion repositories"用来说明何时弹出要求用户输入认证信息的认证对话框AuthUserFile passwd指定使用的认证密码文件AuthzSVNAccessFile位置Subversion版本库的访问控制文件的路径Require valid-user指定只有输入了正确的用户/密码的用户可以访问URL
* 接下来我们创建认证所需的两个文件:用户文件和权限文件到D:/SVN版本库下建立文件 passwords.auth和access.auth(可以用记事本创建后修改文件名)
* 配置认证用户文件passwords.auth,内容如下:
tom:tom
cat:cat
hello:world
在这里密码都没有加密,如果需要设置密码加密,可以用Apache安装目录下bin目录中的htpasswd.exe程序生成,具体生成方法如下:
我的Apache安装路径是:
D:/Program Files/Apache Software Foundation/Apache2.2/
打开命令窗口,进入到D:/Program Files/Apache Software Foundation/Apache2.2/bin,
在命令行中使用如下命令:htpasswd -c D:/svnroot/passwords.auth tom
回车后会提示输入密码,输入tom,再回车会提示输入确认密码,再次输入tom就可以了
命令行中的参数-c表示创建一个文件,第一次运行创建好了,再添加别的用户的时候就
不要再使用这个参数了,如我再添加cat和hello用户
htpasswd D:/svnroot/passwords.auth cat
htpasswd D:/svnroot/passwords.auth hello
这样建立的用户密码默认使用的MD5加密,你打开文件以后看到的可能就是如下格式:
tom:7Z/80Al6$WTqVrBgshc/Bxi6YYkUga1$apr1$
cat:kNrG459T$qfAZ7MpgpFcdd2xp25gST1$apr1$
到此我们就添加好了三个用户tom,cat和hello,他们的密码分别为tom,cat,world
* 配置认证权限文件access.auth
直接在D:/svnroot下建立access.auth文件即可,然后填入如下内容
[groups]
dev1 = tom,cat #开发用户组1
dev2 = hello #开发用户组2
[/]
* = r #设定所有用户对根目录有读权限,即浏览权限
[/aaa]
@dev1 = rw #设定dev1组成员对aaa目录有读和写权限
@dev2 = #设定dev2组成员对aaa目录没有任何权限
[/bbb]
@dev1 = #设定dev1组成员对bbb目录没有任何权限
@dev2 = rw #设定dev2组成员对bbb目录有读和写权限
[/ccc]
@dev1 = #设定dev1组成员对ccc目录没有任何权限
@dev2= #设定dev2组成员对ccc目录没有任何权限
到此我们为不同用户分组定义了权限,大家可以使用不同的用户
进行browse/import/checkout试验
访问路径为http://localhost/svn
*配置多仓库的用户权限
* 首先在建立一个仓库svn2
* 在D:/svnroot目录下首先执行D:/svnroot/mkdir svn2建立子目录svn2
* 然后执行svnserve create D:/svnroot/svn2建立仓库svn2
修改打开Apache安装目录下conf目录中的httpd.conf文件,将光标移到问文件的最末端
加入的代码修改如下:
<Location /svn>
DAV svn
#这里将SVNPath修改为SVNParentPath,当前目录为父目录
#仓库svn1和svn2在这个父目录下
SVNParentPath D:/svnroot
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "D:/svnroot/passwords.auth"
AuthzSVNAccessFile "D:/svnroot/access.auth"
Require valid-user
</Location>
* 认证用户文件passwords.auth不需要做任何修改
* 认证权限文件access.auth修改如下:
[groups]
dev1 = tom,cat #开发用户组1
dev2 = hello #开发用户组2
[svn1:/]
* = r
[svn1:/aaa]
@dev1 = rw #设定dev1组成员对svn1仓库下的aaa目录有读和写权限
@dev2 = #设定dev2组成员对svn1仓库下的aaa目录没有任何权限
[svn1:/bbb]
@dev1 = #设定dev1组成员对svn1仓库下的bbb目录没有任何权限
@dev2 = rw #设定dev2组成员对svn1仓库下的bbb目录有读和写权限
[svn1:/ccc]
@dev1 = #设定dev1组成员对svn1仓库下的ccc目录没有任何权限
@dev2= #设定dev2组成员对svn1仓库下的ccc目录没有任何权限
[svn2:/]
@dev1 = #设定dev1组成员对svn2仓库没有任何权限
@dev2= #设定dev2组成员对svn2仓库没有任何权限
到此我们为不同用户分组对不同仓库定义了权限,大家可以使用不同的用户
进行browse/import/checkout试验
仓库1访问路径为http://localhost/svn/svn1
仓库2访问路径为http://localhost/svn/svn2
对父目录http://localhost/svn/,任何用户都没有任何访问权限
5.总结
经过以上几个部分的介绍,初步实现了Apache2.2.9+Subversion1.5.5(for Apache2.2.X)在windows下的配置与权限设置,并且根据单仓库和多仓库的不同情况,进行了分别的分析与配置,基本可以满足日常开发的需要,在实际的开发中,可以根据实际人员和项目的权限安排,进行相应的配置。
以上经过本人配置实验,配置成功,通过TortoiseSVN 的版本浏览器可以简单实现了版本的管理
相关文章推荐
- Apache2.2.9+Subversion1.5.5在windows下的配置与权限设置
- windows下Apache2.2.9+Subversion1.5.5(for Apache2.2.X)的配置与权限设置
- Apache2.2.9+Subversion1.4.6在windows下的配置与权限设置
- SVN-1.5.3+Apache-2.0.59在windows下的配置与权限设置,以及配置HTTP方式访问SVN服务器
- apache实现网页浏览权限设置
- windows下、apache 2.2 与tomcat 7 通过jk方式实现 负载均衡配置
- [Django]Windows下Django配置Apache示范设置
- [重写默认的4个权限设置相关的类:一]实现自定义用户配置提供程序ProfileProvider(转载)
- Windows下Apache 目录权限设置详解
- [Django]Windows下Django配置Apache示范设置
- apache rewrite重写配置和本机域名配置,访问权限设置,伪静态实际应用
- apache在windows 2003下的安全配置(目录权限)
- Windows下Apache应用环境塔建安全设置(目录权限设置)
- 在windows下apache配置SSL以实现http转换为https
- windows下配置Apache+多tomcat实现负载均衡
- Windows 2003安全设置大全----系统权限与安全配置
- Windows下Apache配置实现HTTP服务器(Server, Proxy, Redirect)
- apache实现网页浏览权限设置
- windows下配置APMServ实现Apache+PHP+Mysql环境
- SVN篇之Windows XP+apache+SVN配置及权限管理