apache2 +subversion,apache服务无法启动了,报:参考特定服务错误代码1apache2 +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配置文件最后加入以下几行: <Location /svn> DAV svn SVNListParentPath on SVNParentPath d:/svndatabase/testproject AuthType Basic AuthName "subversion repositories" AuthUserFile passwd #AuthzSVNAccessFile svnaccessfile Require valid-user </Location> 其中:d:/svndatabase/testproject 是本地建好的subversion数据库路径(FSFS格式) 8)在命令提示符界面下 输入以下的命令行用来创建passwd 数据库认证文件 bin\htpasswd -c passwd <username> 输入口令。 结果在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服务仍然不能启动。 <Location /svn> DAV svn SVNListParentPath on SVNParentPath d:/svndatabase/testproject AuthType Basic AuthName "subversion repositories" AuthUserFile passwd #AuthzSVNAccessFile svnaccessfile Require valid-user </Location> ======================
继续很奇怪的是,我把http.conf配置文件改回之前实验过的正常启动apache服务的状态(回溯),apache服务也不能启动了。而且报错和回溯之前报错一样:"windows不能在本地计算机启动apache2.有关更多信息,查阅系统事件日志。如果这是非microsoft服务,请与服务厂商联系,并参考特定服务错误代码1"。
这是怎么回事? 我查看了apache 日志文件: access.log, error.log ,都没有关于这次的报错信息。无从查起,这个错误? ========================================
改httpd.conf的SVNParentPath为SVNPath我改了一下 httpd.conf,问题不再出现了。只是不能用SVNParentPath了,这个是用来指定多个库的,暂时先不管它。
我是这样改的: httpd.conf文件 最后几句写成: <Location /svn> DAV svn SVNPath d:/svndatabase/testproject AuthType Basic AuthName "subversion repositories" AuthUserFile d:/svndatabase/passwd AuthzSVNAccessFile svnaccessfile Require valid-user </Location> 其中这两句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搞定所有问题。 ===================================
|
|
来自: Lucia‘s doc > 《资料整理》