windows下部署svn+apache

本文详细介绍了在Windows环境下部署SVN服务器的过程,包括安装Apache、TortoiseSVN、配置环境变量、修改Apache配置文件、创建SVN版本库、配置用户账号和权限控制、注册SVN服务等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

svn服务器部署流程

 

1、环境:windowns7 64位(最好固定配置IP)

软件:svn服务器版——TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi

      Apache2.2版本——httpd-2.2.22-win32-x86-no_ssl.msi(经测试过,2.2版本的比较稳定)

      svn客户端——svn客户端win64.msi(客户端svn,直接安下一步…)

 

 

2、 apache的安装,直接下一步,这里我是安装到D:\Apache2.2。安装完,修改端口好,进入D:\Apache2.2\conf\httpd.conf文件修改“Listen 10086”,启动apache,浏览器打开http://localhost:10086/。成功打开所以apache安装成功了!!

 

3、svn服务器版安装,直接下一步。这里我是安装到D:\svn

 

4、配置环境变量


将apache的D:\Apache2.2\bin,和svn的D:\svn\bin加进Path变量里。

 

5、配置apache,将svn的bin目录下的mod_authz_svn.so和mod_dav_svn.so文件,复制到apache下D:\Apache2.2\modules,然后修改apache的配置文件D:\Apache2.2\conf\ httpd.conf(加粗部分是修改,红色是新增

 

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_basic_module modules/mod_auth_basic.so

#LoadModule auth_digest_modulemodules/mod_auth_digest.so

#LoadModule authn_alias_modulemodules/mod_authn_alias.so

#LoadModule authn_anon_modulemodules/mod_authn_anon.so

#LoadModule authn_dbd_module modules/mod_authn_dbd.so

#LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_modulemodules/mod_authn_default.so

LoadModule authn_file_module modules/mod_authn_file.so

#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

#LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_modulemodules/mod_authz_default.so

LoadModule authz_groupfile_modulemodules/mod_authz_groupfile.so

LoadModule authz_host_module modules/mod_authz_host.so

#LoadModule authz_owner_modulemodules/mod_authz_owner.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule autoindex_module modules/mod_autoindex.so

#LoadModule cache_module modules/mod_cache.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

LoadModule cgi_module modules/mod_cgi.so

#LoadModule charset_lite_modulemodules/mod_charset_lite.so

LoadModule dav_modulemodules/mod_dav.so

LoadModule dav_fs_modulemodules/mod_dav_fs.so

#LoadModule dav_lock_module modules/mod_dav_lock.so

#LoadModule dbd_module modules/mod_dbd.so

#LoadModule deflate_module modules/mod_deflate.so

LoadModule dir_module modules/mod_dir.so

#LoadModule disk_cache_modulemodules/mod_disk_cache.so

#LoadModule dumpio_module modules/mod_dumpio.so

LoadModule env_module modules/mod_env.so

#LoadModule expires_module modules/mod_expires.so

#LoadModule ext_filter_modulemodules/mod_ext_filter.so

#LoadModule file_cache_modulemodules/mod_file_cache.so

#LoadModule filter_module modules/mod_filter.so

#LoadModule headers_module modules/mod_headers.so

#LoadModule ident_module modules/mod_ident.so

#LoadModule imagemap_module modules/mod_imagemap.so

LoadModule include_module modules/mod_include.so

#LoadModule info_module modules/mod_info.so

LoadModule isapi_module modules/mod_isapi.so

#LoadModule ldap_module modules/mod_ldap.so

#LoadModule logio_module modules/mod_logio.so

LoadModule log_config_module modules/mod_log_config.so

#LoadModule log_forensic_modulemodules/mod_log_forensic.so

#LoadModule mem_cache_module modules/mod_mem_cache.so

LoadModule mime_module modules/mod_mime.so

#LoadModule mime_magic_modulemodules/mod_mime_magic.so

LoadModule negotiation_modulemodules/mod_negotiation.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_balancer_modulemodules/mod_proxy_balancer.so

#LoadModule proxy_connect_modulemodules/mod_proxy_connect.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_modulemodules/mod_proxy_http.so

#LoadModule proxy_scgi_modulemodules/mod_proxy_scgi.so

#LoadModule reqtimeout_modulemodules/mod_reqtimeout.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

#LoadModule speling_module modules/mod_speling.so

#LoadModule ssl_module modules/mod_ssl.so

#LoadModule status_module modules/mod_status.so

#LoadModule substitute_modulemodules/mod_substitute.so

#LoadModule unique_id_module modules/mod_unique_id.so

#LoadModule userdir_module modules/mod_userdir.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule version_module modules/mod_version.so

#LoadModule vhost_alias_modulemodules/mod_vhost_alias.so

LoadModule dav_svn_modulemodules/mod_dav_svn.so

LoadModule authz_svn_modulemodules/mod_authz_svn.so

 

…..

 

<Location /svn/>

Dav svn

SVNParentPath "F:/BoHao"

AuthType Basic

AuthName "ICIL SVN"

SVNListParentPath on

AuthUserFile"F:/BoHao/userfile.txt"

AuthzSVNAccessFile"F:/BoHao/accessfile.txt"

Require valid-user

</Location>

RedirectMatch ^(/svn)$ $1/

 

 注释

SVNParentPath--SVN的库根目录(手动创建)路径,可以在这下面创建多个版本库;

AuthUserFile--------用户帐号信息文件(用htpasswd命令创建文件userfile.txt);

AuthzSVNAccessFile--权限控制文件(手动创建)

RedirectMatch^(/svn)$ $1/-----------重定向路径(/svn定向到/svn/),这样访问库列表可以通过http://ip:port/svn访问

 

 

 

6、创建SVN版本库。在任意一个地方创建版本库:进入用cmd进入F:\Myproject目录,创建版本,这里F:\Myproject文件夹下就多了一个liao文件夹。


 

7、配置SVN用户帐号文件。在Apache的配置文件里我们设了AuthUserFile 路径: F:/Myproject/userfile.txt,现在在DOS命令行里导航到文件夹:C:/SVN/运行命令:htpasswd -c userfile.txt username创建用户帐号文件,同时创建了一个初始帐号。


注意:-c参数表示创建一个用户帐号文件,下一次你再创建其它的帐号的时候就不需要这个参数了。

 

8、创建权限控制文本。在配置文件里我们设置了AuthzSVNAccessFile"F:/BoHao/accessfile.txt",现在我们手动创建这个文本文件,同事输入如下内容:

[/]

*=r

[liao:/]

liao=rw

liao2=rw

 

注意:[这里是项目的文件名:/]

 

 

9、svn注册服务

为了让 SVNservice服务随windows系统一起启动,需将其注册为windows服务。命令:为了让 SVNservice服务随windows系统一起启动,需将其注册为windows服务。命令:sc create svnservice binPath= "/" D:/svn/bin/svnserve.exe/"--service -r D:/SVN_REPOS" start= auto

 

  其他形式:sc create SVN binpath= "/"C:/Program Files/Subversion/bin/svnserve.exe/"–service -r E:/www/svn" displayname= "SVN Service" depend= Tcpipstart= auto

  注意,binpath= depend=start= displayname=等这些函数,等号后面需要有一个空格binpathsvnserve.exe文件所在目录,-d改成–service表示为使用服务启动。完成后需要到服务界面中启动,以后即为自动启动

命令方式:svnserve -d -r D:/svn/repos默认端口是3690,如果不幸这个端口被别别的程序暂用,可以通过选项 --listem --port=绑定端口.

 

linux

 svn import /etc/svn/tmp/ file:///etc/svn/repos/--message "init"

 

注意,上述命令均在一行中。sc.exeWindows 2000以后系统自带的一个工具,2000下没有,可以从XP上拷过来。svnservice为服务名称,后面的参数格式有严格要求,等号前面没有空格而后面有。binPath本身带有多个参数,因此用引号括起来,而由于路径里面又有空格,因此又加上了一层引号。 --service-r均为svnserve.exe的参数,前者要求它作为服务运行,后者指明了仓库的根路径(多仓库为仓库的父目录)。

带安装包的SVN会自动注册服务,这时我们可能需要修改-r参数,命令如下:

sc configsvnservice binPath= "/"C:/ProgramFiles/Subversion/bin/svnserve.exe/" --service -r D:/SVN_REPOS"

b. 访问

注册完后,通过运行sc start svnservice或者服务管理器(service.msc)启动服务。

接下来,我们就可以通过下面的命令来测试系统是否工作正常:

svn infosvn://localhost/Test

如果正确的显示出仓库的相关信息,那么就大功告成了,否则请检查服务的参数是否配置正确,比如,如果未在服务参数中指定正确的-r值,就会得到如下错误:

No repository foundin 'svn://localhost/Test'

如果安装了TortoiseSVN,则可以直接在浏览器中输入svn://localhost/Test,这样会调出TortoiseSVNRepos-Browser。到此,你就可以通过TortoiseSVN来导入工程进行版本管理了(参见后文)。

 

10、创建初始版本,选择初始版本,右键→svnimport(导入)→输入项目的urlhttp://localhost:10086/svn/liao)→OK按钮→导入中…......

 

完成

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值