在windows下配置基于apache的svn(带openssl0.9.8)
2010-08-17 12:03
507 查看
在windows下配置基于apache的svn,带openssl0.9.8。可通过http或者https访问,或者只能通过https访问。此文档是配置后根据记忆所写,可能有缺少的地方,还希望广大朋友给予指正。且只适合于自带openssl的apache。
一、下载和安装
(一)下载
A.服务器端下载
1、下载apache,在此我下载的是apache-2.2.11-win32-x86-openssl-0.9.8,该版本的apache自带了openssl。
2、下载subversion,在此配置文档里我用的是1.6.4。可在官网上下载。
B.客户端下载
下载TortoiseSVN,如何希望客户端用汉语的话,可以下载一个对应的语言包,在此文档中用的是TortoiseSVN-1.4.4和LanguagePack-1.4.4。
(二)安装
1、先安装apache和subversion,再安装TortoiseSVN和LanguagePack。(因为如果服务器端也需要装TortoiseSVN的话,先装了TortoiseSVN再装apache和subversion会导致版本库访问错误。)
2、将TortoiseSVN的语言设置为中文。
在桌面上点击右键,出现上图的菜单,点击进入,刚出现下图的画面。选择“中文(简体)即可”。
二、建配置库及用户名。
1、建配置库
在cmd命令里进入subversion的bin目录,然后输入
svnadmin create d:/svn/test
注:上层目录d:/svn/test必须存在。即在d盘下建svn/test文件夹。
运行此命令即建好一个库。打开之后可看到test空文件中多了下图所示的那些文件。
2、建用户名。
将apache设为环境变量,然后在cmd命令里进入我们想要的目录进行建用户名操作。执行以下命令即可。
初次建用户名:htpasswd -c passwd username,username对应我们的用户名,然后输入密码即可。
以后建用户名:htpasswd -m passwd username1
删除用户: htpasswd -D passwd username
注:此处必须用大写的D。
三、配置过程
在此为止,我们已经将客户端及服务器端的软件都安装好了,接下来就是配置过程了。
(一)配置可以通过http访问的
1、打开subversion的bin目录,将下图所示的三个文件复制到apache的modules目录下。(因为apache本身不包含dav_svn.so和authz_svn.so模块。
注:如果apache的版本不是2.2.11,libdb44.dll的名字可能就是libdb**.dll。
2、因为apache和subversion的版本不对应,所以应将subversion的bin目录中的所有的dll文件复制到apache的bin目录里,在复制的过程中,要让apache停止。
3、打开apache的conf目录里的httpd.conf文件进行修改。
(1)在LoadModule部分,首先将以下两行前面的#去掉。
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
改为 LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
(2) 在LoadModule部分添加以下两句,因为我们前面只是将subversion中的dav_svn.so和authz_svn.so模块复制到apache的modules目录下,但是apache启动后并不会加载它,所以我们添加以下两句,以便让apache会加载这两个模块。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
(3)在httpd.conf文件的最后添加以下内容(针对多库模式)。
<Location /repos/>
DAV svn
SVNParentPath "d:/svn" # 库的路径。
SVNListParentPath on # 查看所有的库(即库列表)
AuthType Basic
#SSLRequireSSL #限制项目仓库只能通过https的形式进行访问。
AuthName "svn repos"
AuthUserFile "D:/svn/passwd" #用户名及密码的存放路径,据自己的情况写。
AuthzSVNAccessFile "D:/svn/svnaccessfile" #权限文件的存放路径,据自己的情况写。
Require valid-user
</Location>
到此为止通过http访问的所有的配置都已经完成。给用户权限即可通过http://ip:port/repos/test进行访问。
注: (1)ip:服务器的IP。
port:安装apache时我们选择的端口。
repos:location后面的部分,根据自己的实际情况填写。
test:库的名称。
(2)在配置文件httpd.conf中添加内容时一定要注意在英文状态下输入,否则会导致apache启动不了;另外上面#及#后内容一定要去掉。
(二)在http可以访问的基础上继续配置,以使配置库可通过https访问或者只能通过https访问。
打开apache的conf目录里的httpd.conf文件进行修改。
1、将以下三行的注释去掉,即去掉#。
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule ssl_module modules/mod_ssl.so
改为
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule ssl_module modules/mod_ssl.so
2、将以下行前面的注释去掉
#Include conf/extra/httpd-ssl.conf
改为Include conf/extra/httpd-ssl.conf
3、如果希望只通过https访问,则应该前面Location部分的#SSLRequireSSL前面的#去掉。没有去掉的话是https和http形式都可以访问。
4、申请证书
在cmd命令进入到apache的conf目录,执行以下命令。
openssl genrsa -out server.key 1024 #生成密钥
openssl req -new -key server.key -out server.csr -config ./openssl.cnf #生成server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt #生成证书
生成证书时365是证书的有效期,可根据自己的情况进行填写。以上命令执行完之后会生成server.key ,server.csr,server.crt三个文件。
四、分配权限
在此文档我将权限文件命名为svnaccessfile,在其中添加权限内容。
内容如下:
[groups]
admin = username
dev =
...... #对应我们所需要的组。
[/] #设置哪些组或用户可以查看库目录(所有的库的一个列表)
@admin=r
[test:/] #给库设置访问权限。
@admin =rw
@dev=r
[test:/xx/xx] #继续细分库的权限。
@admin = rw
到此为止,所有的配置都已经完成,我们可以通过客户端进行日常工作了。
之前写这个文档的时候忽略了一点,没有写出访问端口,用https访问后如果没有修改openssl端口,则默认访问端口为443。因此访问链接为http://ip:443/repos/test。
修改openssl端口,将conf/extra下中httpd-ssl.conf里所有的443换成自己期望的端口,这样就可以通过自己想要的端口用https访问了,但是注意不要和其他的端口冲突。
对svn感兴趣或想与更多人交流的朋友可以加群
svn俱乐部_2:125194361
svn俱乐部_4:44367034
svn俱乐部_5:68302447
群一和群三已满。
一、下载和安装
(一)下载
A.服务器端下载
1、下载apache,在此我下载的是apache-2.2.11-win32-x86-openssl-0.9.8,该版本的apache自带了openssl。
2、下载subversion,在此配置文档里我用的是1.6.4。可在官网上下载。
B.客户端下载
下载TortoiseSVN,如何希望客户端用汉语的话,可以下载一个对应的语言包,在此文档中用的是TortoiseSVN-1.4.4和LanguagePack-1.4.4。
(二)安装
1、先安装apache和subversion,再安装TortoiseSVN和LanguagePack。(因为如果服务器端也需要装TortoiseSVN的话,先装了TortoiseSVN再装apache和subversion会导致版本库访问错误。)
2、将TortoiseSVN的语言设置为中文。
在桌面上点击右键,出现上图的菜单,点击进入,刚出现下图的画面。选择“中文(简体)即可”。
二、建配置库及用户名。
1、建配置库
在cmd命令里进入subversion的bin目录,然后输入
svnadmin create d:/svn/test
注:上层目录d:/svn/test必须存在。即在d盘下建svn/test文件夹。
运行此命令即建好一个库。打开之后可看到test空文件中多了下图所示的那些文件。
2、建用户名。
将apache设为环境变量,然后在cmd命令里进入我们想要的目录进行建用户名操作。执行以下命令即可。
初次建用户名:htpasswd -c passwd username,username对应我们的用户名,然后输入密码即可。
以后建用户名:htpasswd -m passwd username1
删除用户: htpasswd -D passwd username
注:此处必须用大写的D。
三、配置过程
在此为止,我们已经将客户端及服务器端的软件都安装好了,接下来就是配置过程了。
(一)配置可以通过http访问的
1、打开subversion的bin目录,将下图所示的三个文件复制到apache的modules目录下。(因为apache本身不包含dav_svn.so和authz_svn.so模块。
注:如果apache的版本不是2.2.11,libdb44.dll的名字可能就是libdb**.dll。
2、因为apache和subversion的版本不对应,所以应将subversion的bin目录中的所有的dll文件复制到apache的bin目录里,在复制的过程中,要让apache停止。
3、打开apache的conf目录里的httpd.conf文件进行修改。
(1)在LoadModule部分,首先将以下两行前面的#去掉。
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
改为 LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
(2) 在LoadModule部分添加以下两句,因为我们前面只是将subversion中的dav_svn.so和authz_svn.so模块复制到apache的modules目录下,但是apache启动后并不会加载它,所以我们添加以下两句,以便让apache会加载这两个模块。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
(3)在httpd.conf文件的最后添加以下内容(针对多库模式)。
<Location /repos/>
DAV svn
SVNParentPath "d:/svn" # 库的路径。
SVNListParentPath on # 查看所有的库(即库列表)
AuthType Basic
#SSLRequireSSL #限制项目仓库只能通过https的形式进行访问。
AuthName "svn repos"
AuthUserFile "D:/svn/passwd" #用户名及密码的存放路径,据自己的情况写。
AuthzSVNAccessFile "D:/svn/svnaccessfile" #权限文件的存放路径,据自己的情况写。
Require valid-user
</Location>
到此为止通过http访问的所有的配置都已经完成。给用户权限即可通过http://ip:port/repos/test进行访问。
注: (1)ip:服务器的IP。
port:安装apache时我们选择的端口。
repos:location后面的部分,根据自己的实际情况填写。
test:库的名称。
(2)在配置文件httpd.conf中添加内容时一定要注意在英文状态下输入,否则会导致apache启动不了;另外上面#及#后内容一定要去掉。
(二)在http可以访问的基础上继续配置,以使配置库可通过https访问或者只能通过https访问。
打开apache的conf目录里的httpd.conf文件进行修改。
1、将以下三行的注释去掉,即去掉#。
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule ssl_module modules/mod_ssl.so
改为
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule ssl_module modules/mod_ssl.so
2、将以下行前面的注释去掉
#Include conf/extra/httpd-ssl.conf
改为Include conf/extra/httpd-ssl.conf
3、如果希望只通过https访问,则应该前面Location部分的#SSLRequireSSL前面的#去掉。没有去掉的话是https和http形式都可以访问。
4、申请证书
在cmd命令进入到apache的conf目录,执行以下命令。
openssl genrsa -out server.key 1024 #生成密钥
openssl req -new -key server.key -out server.csr -config ./openssl.cnf #生成server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt #生成证书
生成证书时365是证书的有效期,可根据自己的情况进行填写。以上命令执行完之后会生成server.key ,server.csr,server.crt三个文件。
四、分配权限
在此文档我将权限文件命名为svnaccessfile,在其中添加权限内容。
内容如下:
[groups]
admin = username
dev =
...... #对应我们所需要的组。
[/] #设置哪些组或用户可以查看库目录(所有的库的一个列表)
@admin=r
[test:/] #给库设置访问权限。
@admin =rw
@dev=r
[test:/xx/xx] #继续细分库的权限。
@admin = rw
到此为止,所有的配置都已经完成,我们可以通过客户端进行日常工作了。
之前写这个文档的时候忽略了一点,没有写出访问端口,用https访问后如果没有修改openssl端口,则默认访问端口为443。因此访问链接为http://ip:443/repos/test。
修改openssl端口,将conf/extra下中httpd-ssl.conf里所有的443换成自己期望的端口,这样就可以通过自己想要的端口用https访问了,但是注意不要和其他的端口冲突。
对svn感兴趣或想与更多人交流的朋友可以加群
svn俱乐部_2:125194361
svn俱乐部_4:44367034
svn俱乐部_5:68302447
群一和群三已满。
相关文章推荐
- windows基于apache的svn安装配置
- Windows基于Apache的svn服务器配置
- Windows基于Apache的svn服务器配置
- Windows基于Apache的svn服务器配置
- Windows 下配置 SVN 的经验小记 (基于 Apache, Subversion, TortoiseSVN)
- windows安装基于Apache的SVN服务器(包括SSL配置)
- windows安装基于Apache的SVN服务器(包括SSL配置)[2007-8-19更新]
- windows安装基于Apache的SVN服务器(包括SSL配置)
- Windows基于Apache的svn服务器配置
- windows安装基于Apache的SVN服务器(包括SSL配置)[
- windows安装基于Apache的SVN服务器(包括SSL配置)
- windows安装基于Apache的SVN服务器(包括SSL配置)
- windows安装基于Apache的SVN服务器(包括SSL配置)[2007-8-19更新]
- 【转】windows安装基于Apache的SVN服务器(包括SSL配置)
- windows安装基于Apache的SVN服务器(包括SSL配置)
- Windows基于Apache的svn服务器配置
- 基于APACHE 的SVN服务器端安装与配置说明
- 配置Windows平台下基于Apache的Subversion服务器
- svn配置并与apache集成(windows环境)
- centos6.6基于apache环境SVN配置