Window下搭建SVN+Apache

软件下载:

http://httpd.apache.org/download.cgi,下载:

apache_2.2.14-win32-x86-openssl-0.9.8k.msi

 http://subversion.tigris.org/,下载:

Setup-Subversion-1.6.6.msi

http://tortoisesvn.net/downloads,下载:

LanguagePack_1.6.3.16613-win32-zh_CN.msi

TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi

备注:apache与svn安装时,需要注意一点版本是否兼容,注意查下版本匹配情况;

安装apache

安装apache 按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Apache下;

修改apache端口,在D:\Program Files\Apache\conf下的httpd.conf将listen 80 更改为listen 8000,保存,然后重启apache

检查apache是否安装成,访问http://localhost:8000,如果显示”it works”则表明安装成功;

备注:默认情况下apache是80端口,但是80端口经常会让其它服务占用,建议最好更改访问端口

安装svn服务端

 安装svn服务端,按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Svn下;

 

安装svn客户端及汉化包

 安装svn安户端及汉化包,按照提示安装即可,如我安装在D:\Program Files\TortoiseSVN

 

集成svnapache

  将Svn环境下bin目录中的mod_dav_svn.so和mod_authz_svn.so复制到Apache环境下modules目录下;

 配置apache环境下的httpd.conf,去掉前面的#号;

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

 

将下面几行添加到LoadModule部分的最后,注意svn的环境目录更改,需符号要求;

LoadModule dav_svn_module "d:/Program Files/svn/bin/mod_dav_svn.so"  

LoadModule authz_svn_module "d:/Program Files/svn/bin/mod_authz_svn.so"

 保存重启下apache,可以看到如下图所示:

 

配置apachesvn,让apache告诉svn如何工作

以下是我的具体配置情况可以参考下

<Location /svn> 

#引用远程访问模块

DAV svn   

 

#版本库路径

SVNListParentPath on

SVNParentPath   d:/Svn/Project

 

#激活基本认证,就是用户名/密码

AuthType Basic

 

#用来说明何时弹出要求用户输入认证信息的认证对话框

AuthName "Subversion repositories"

 

#指定使用的认证密码文件

AuthUserFile d:/Svn/conf/passwd.ini  

 

#位置Subversion版本库的访问控制文件的路径

AuthzSVNAccessFile d:/Svn/conf/authz.ini

 

#指定只有输入了正确的用户/密码的用户可以访问URL

Require valid-user

</Location>

 

更为详细的解释设置 Apache httpd.conf

设置

解释

<Location /svn>

意思是Subversion版本库的URL是http://MyServer/svn/

DAV svn

告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。

SVNListParentPath on

对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。

SVNParentPath D:\SVN

告诉Subversion需要查看的版本库位于D:\SVN之下

SVNIndexXSLT "/svnindex.xsl"

使用它可以在用浏览器浏览时更好看。

AuthType Basic

激活基本认证,就是用户名/密码

AuthName "Subversion repositories"

用来说明何时弹出要求用户输入认证信息的认证对话框

AuthUserFile passwd

指定使用的认证密码文件

AuthzSVNAccessFile

位置Subversion版本库的访问控制文件的路径

Require valid-user

指定只有输入了正确的用户/密码的用户可以访问URL

 

 

创建passwd文件来管理svn的访问权限

在开始菜单下,“运行”输入cmd,然后切换到apache/bin目录下:

 

 第1个用户创建时用:htpasswd -c D:\svn\conf\passwd.ini yb.ma//其中passwd.ini为文件名,yb.ma为用户帐号

第2个用户创建时用:htpasswd D:\svn\conf\passwd.ini y.fan

 

可以找到具体的目录查看,如下图所示,验证是否创建成功:

8 SVN版本库及登录访问权限设置

 D:\Svn\Project\目录下创建test1文件,然后通过svn客户端右键在此创建版本库;

将会得到如下效果图,则表明创建成功:

 

 

D:\Svn\TempProjcet\test1创建如下配置库目录结构图,如我创建如下(可以根据自己实际情况定制)

 

导入配置库结构到版本库中,如右键导入,填写具体的地址:

 

备注:要导入的版本库必须在authz.ini文件中配置

 

 D:\Svn\conf创建authz.ini文件,然后文件中填写如下设置

 #建立分组:admin, developerpm,testers

[groups]

admin=yb.ma

pm=yb.ma

developers=yb.ma  

testers=yb.ma

 

#预置设置

[/]

*=r

@admin=rw

dangerman=

 

#多个项目配置,一级目录权限

[test1:/]

@developers=rw

 

#branches二级目录权限

[/branches]

@testers=r

@developers=rw

 

#tags二级目录权限

[/tags]

@admin=rw

@pm=rw

 

#trunk二级目录权限

[/trunk]

@admin=rw

@developers=rw

 

配置中经常会遇到一些问题,总结一下:

一、apache the requested operation has failed 

原因一:80端口占用例如IIS,另外就是迅雷。我的apache服务器就是被迅雷害得无法启用!

原因二:软件冲突装了某些软件会使apache无法启动如Dr.com 你打开网络连接->TcpIp属性->高级->WINS标签 把netbios的lmhosts对勾去掉,禁用tcp/ip的netbios. 然后再启动应该就可以了。
 

原因三:httpd.conf配置错误如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示the requested operation has failed,这是比较郁闷的事,因为查错要看个半天。 其实可以用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决。

检查错误方法:进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)\bin> httpd.exe -w -n "Apache2" -k start

(引号中的Apache2修改为你的Apache服务名,我的是2.2.4版,服务名就是Apache2,可以到计算机服务里找)

提示133行有问题时(提示:Syntax error on line 133 of ...........),打开Apache安装目录\conf\httpd.conf 找到第133行的ServerAdmin (没有工具确定行数的按ctrl+F 用"ServerAdmin"关键字查找,一般会有两个,下面那个就是)这行在其后空一格,随便加个名字,例如,加上abc后,就可以解决了.


如果是端口占用(提示:(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。),先退出Apache,在httpd.conf中搜索Listen 80 ,将80改成8080或者别的端口号,重新运行一下Apache,这下应该能够启动了.

以上是一般无法启动时用的方法,拿出来供有类似问题的朋友参考.希望有所帮助.


如果是网站根目录设置不对也会启动不了,Apache事还真多.有两处。在httpd.conf中查找 Apache/htdocs .修改即可,如K:/IDDCWEB/wwwroot
一般文件地址的“\”在Apache里要改成“/”。

如果用的Apache2.24版本,要选择php中的php5apache2_2.dll加载.


下面附加自己修改httpd.conf的一些设置.供大家参考比较.

1.改网站根目录,有两处。查找 DocumentRoot 和 Directory.修改即可,如D:/wwwroot    ;主要是一般文件地址的“\”在Apache里要改成“/”。

2.首页设置,DirectoryIndex,添加相关首页项即可,如index.php ihdex.htm


3.查找LoadModule ssl,在下面加两行,第一行“LoadModule php5_module D:/Server/php/php5apache2_2.dll”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置,是当然,其中的“D:/php”要改成你先前选择的php解压缩的目录。

4.查找AddType application/x-gzip .gz .tgz,在下面加入“AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行,你也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。

5.搜索ServerName   修改网站名字后面的端口 为前面改过的端口,如果没改过,省略.

 

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2010-05/26203.htm

、版本不兼容问题

本人提供一个下载地址:http://download.csdn.net/detail/ning109314/3909709,希望对对大家有帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值