黄晓明联系方式:apache2 subversion,apache服务无法启动了,报:参考特定服务错误代...

来源:百度文库 编辑:中财网 时间:2024/04/29 00:13:02

apache2 +subversion,apache服务无法启动了,报:参考特定服务错误代码1

apache2 +subversion 配置apache作为server,
当配置文件告诉apache, subversion库地址URL后,apache服务无法启动了.
报错信息: "windows不能在本地计算机启动apache2.有关更多信息,查阅系统事件日志。如果这是非microsoft服务,请与服务厂商联系,并参考特定服务错误代码1".
------------------------------------------------------
1)os: windowsXP+sp2
2)install: apache v2.0.59 (端口:80)
     svn_v1.4.0
   (注:我试过 apache  2.2.3 +svn1.4.0, 结果到 loadModule 就无法配置成功了,各位同仁吸取教训,不要用apache  2.2.3 )
3) apache正常启动
浏览器输入 http://localhost/ 出现apache测试页,正常!
4)拷贝 mod_dav_svn.so和mod_authz_svn.so这两个文件到 D:\Program Files\Apache Group\Apache2\modules目录下
   拷贝Subversion\bin下面的 libdb44.dll,libeay32.dll,ssleay32.dll到D:\Program Files\Apache Group\Apache2\modules目录下。
5)修改 httpd.conf
以下两句去掉注释:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
在LoadModule节最后,增加下面两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
httpd.conf 摘取部分内容如下:
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule access_module modules/mod_access.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_module modules/mod_auth.so
#LoadModule auth_anon_module modules/mod_auth_anon.so
#LoadModule auth_dbm_module modules/mod_auth_dbm.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule headers_module modules/mod_headers.so
LoadModule imap_module modules/mod_imap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.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 vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
#
# ExtendedStatus controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the "server-status" handler is called. The default is Off.
#
#ExtendedStatus On
# yuanyuan add 2007-1-11
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

6)至此,重启apache服务,一切正常
浏览器输入 http://localhost/ 出现apache测试页,正常!

7)按照 tortoiseSVN 1.4.0 帮助手册,配置apache+subversion
httpd.conf配置文件最后加入以下几行:

DAV svn
SVNListParentPath on
SVNParentPath d:/svndatabase/testproject
AuthType Basic
AuthName "subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user

其中:d:/svndatabase/testproject 是本地建好的subversion数据库路径(FSFS格式)
8)在命令提示符界面下 输入以下的命令行用来创建passwd 数据库认证文件
bin\htpasswd -c passwd
输入口令。
结果在D:\Program Files\Apache Group\Apache2\bin下看到生成了passwd文件,
写有用户名称,加密后的密码。

9)到此,预期结果是: 重启apache服务,成功后.
通过浏览器 输入:http://[服务器名称]/svn/testproject ,显示数据库信息.

实际结果是: 在monitor apache server,重启apache服务,失败。
浏览器 输入:http://[服务器名称]/svn/testproject ,显示"无法显示网页".

---------------------------------------------------------------
运行 test configuration ,通过。 但apache2服务无法启动。
报错:"windows不能在本地计算机启动apache2.有关更多信息,查阅系统事件日志。如果这是非microsoft服务,请与服务厂商联系,并参考特定服务错误代码1"
查询 windows事件查看器-系统日志,报错信息:“apache2 服务因1(0x1)服务性错误而停止。有关更多信息,请参阅在http://go.microsoft.com/fwlink/events.asp的帮助和支持中心。”
根据这个报错信息,上网搜索这个网址http://go.microsoft.com/fwlink/events.asp,已经无法链接这个地址了。
又在网上查 apache错误代码,没有找到。


看了以上这些信息,各位同仁能看出问题出在哪里吗?
或者我应该怎么做能定位到错误所在。

httpd.conf 文件,我把 以下语句注释掉后,apache服务仍然不能启动。

DAV svn
SVNListParentPath on
SVNParentPath d:/svndatabase/testproject
AuthType Basic
AuthName "subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
 ======================

继续

很奇怪的是,我把http.conf配置文件改回之前实验过的正常启动apache服务的状态(回溯),apache服务也不能启动了。而且报错和回溯之前报错一样:"windows不能在本地计算机启动apache2.有关更多信息,查阅系统事件日志。如果这是非microsoft服务,请与服务厂商联系,并参考特定服务错误代码1"。
这是怎么回事?

我查看了apache 日志文件: access.log, error.log ,都没有关于这次的报错信息。无从查起,这个错误? ========================================

改httpd.conf的SVNParentPath为SVNPath

我改了一下 httpd.conf,问题不再出现了。只是不能用SVNParentPath了,这个是用来指定多个库的,暂时先不管它。
我是这样改的:
httpd.conf文件 最后几句写成:

DAV svn
SVNPath d:/svndatabase/testproject
AuthType Basic
AuthName "subversion repositories"
AuthUserFile d:/svndatabase/passwd
AuthzSVNAccessFile svnaccessfile
Require valid-user

其中这两句SVNListParentPath on
SVNParentPath d:/svndatabase/testproject 写成SVNPath d:/svndatabase/testproject,就好了,apache服务可以正常启动了。浏览器中可以看到库内容了。=================================必须Apache 2.0,SVN不支持2.3~ =================================我也遇到几乎相同的问题,版本是svn1.4.2与apache2.0.44,其中 svn安装提示要与apache2.0.52匹配,我没找到这个版本所以忽略。

apache服务启动错误在于以下三行,任一条都导致出错:

DAV svn
SVNListParentPath on
SVNParentPath E:\SVN

=================================
不知到底是版本匹配问题還是另有原因?不同版本的語法格式有差别?盡量再找找2.0.52版看看。而且我还有个问题是不能用svn提供的mod_dav_svn.so和mod_authz_svn.so代替apache原有的文件,否则apache就会启动失败。哈哈,改用apache2.0.63搞定所有问题。===================================