4

成功安装 Apache2(2.4.4) 后,我尝试启动 https 服务器,但出现以下错误

bimlesh@server:/usr/local/apache2/bin$ ./apachectl start
httpd: Syntax error on line 71 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_authn_core.so into server: /usr/local/apache2/modules/mod_authn_core.so: cannot open shared object file: No such file or directory
bimlesh@server:/usr/local/apache2/bin$ 

我看了看,/usr/local/apache2/modules/确实那些 .so 文件不可用。任何人都可以请帮助如何摆脱。

如果我查看/usr/local/apache2/modules/文件夹然后我看到:(没有可用的 .so 文件)

bimlesh@server:/usr/local/apache2/bin$ ls ../modules/
httpd.exp             mod_authn_file.a        mod_cache_disk.a   mod_file_cache.a            mod_logio.la           mod_ratelimit.a        mod_socache_dbm.la
mod_access_compat.a   mod_authn_file.la       mod_cache_disk.la  mod_file_cache.la           mod_mime.a             mod_ratelimit.la       mod_socache_memcache.a
mod_access_compat.la  mod_authn_socache.a     mod_cache.la       mod_filter.a                mod_mime.la            mod_remoteip.a         mod_socache_memcache.la
mod_actions.a         mod_authn_socache.la    mod_cgid.a         mod_filter.la               mod_negotiation.a      mod_remoteip.la        mod_socache_shmcb.a
mod_actions.la        mod_authz_core.a        mod_cgid.la        mod_headers.a               mod_negotiation.la     mod_reqtimeout.a       mod_socache_shmcb.la
mod_alias.a           mod_authz_core.la       mod_dav.a          mod_headers.la              mod_proxy.a            mod_reqtimeout.la      mod_speling.a
mod_alias.la          mod_authz_dbd.a         mod_dav_fs.a       mod_include.a               mod_proxy_ajp.a        mod_request.a          mod_speling.la
mod_allowmethods.a    mod_authz_dbd.la        mod_dav_fs.la      mod_include.la              mod_proxy_ajp.la       mod_request.la         mod_status.a
mod_allowmethods.la   mod_authz_dbm.a         mod_dav.la         mod_info.a                  mod_proxy_balancer.a   mod_rewrite.a          mod_status.la
mod_auth_basic.a      mod_authz_dbm.la        mod_dbd.a          mod_info.la                 mod_proxy_balancer.la  mod_rewrite.la         mod_substitute.a
mod_auth_basic.la     mod_authz_groupfile.a   mod_dbd.la         mod_lbmethod_bybusyness.a   mod_proxy_connect.a    mod_sed.a              mod_substitute.la
mod_auth_digest.a     mod_authz_groupfile.la  mod_deflate.a      mod_lbmethod_bybusyness.la  mod_proxy_connect.la   mod_sed.la             mod_unique_id.a
mod_auth_digest.la    mod_authz_host.a        mod_deflate.la     mod_lbmethod_byrequests.a   mod_proxy_express.a    mod_session.a          mod_unique_id.la
mod_auth_form.a       mod_authz_host.la       mod_dir.a          mod_lbmethod_byrequests.la  mod_proxy_express.la   mod_session_cookie.a   mod_unixd.a
mod_auth_form.la      mod_authz_owner.a       mod_dir.la         mod_lbmethod_bytraffic.a    mod_proxy_fcgi.a       mod_session_cookie.la  mod_unixd.la
mod_authn_anon.a      mod_authz_owner.la      mod_dumpio.a       mod_lbmethod_bytraffic.la   mod_proxy_fcgi.la      mod_session_dbd.a      mod_userdir.a
mod_authn_anon.la     mod_authz_user.a        mod_dumpio.la      mod_lbmethod_heartbeat.a    mod_proxy_ftp.a        mod_session_dbd.la     mod_userdir.la
mod_authn_core.a      mod_authz_user.la       mod_env.a          mod_lbmethod_heartbeat.la   mod_proxy_ftp.la       mod_session.la         mod_version.a
mod_authn_core.la     mod_autoindex.a         mod_env.la         mod_log_config.a            mod_proxy_http.a       mod_setenvif.a         mod_version.la
mod_authn_dbd.a       mod_autoindex.la        mod_expires.a      mod_log_config.la           mod_proxy_http.la      mod_setenvif.la        mod_vhost_alias.a
mod_authn_dbd.la      mod_buffer.a            mod_expires.la     mod_log_debug.a             mod_proxy.la           mod_slotmem_shm.a      mod_vhost_alias.la
mod_authn_dbm.a       mod_buffer.la           mod_ext_filter.a   mod_log_debug.la            mod_proxy_scgi.a       mod_slotmem_shm.la
mod_authn_dbm.la      mod_cache.a             mod_ext_filter.la  mod_logio.a                 mod_proxy_scgi.la      mod_socache_dbm.a
bimlesh@server:/usr/local/apache2/bin$ 
4

1 回答 1

2

find / -type f -name mod_authn_core.so

或根据需要安装 updatedb ( mlocate、slocate、findutils 或 sth ) 并运行

updatedb

然后(或之前)

locate mod_authn_core.so

找出这些文件是否与它们应有的不同,并可能通过符号链接或将文件移动到预期的位置来修复位置。

如果没有您需要的文件,您可能需要在 httpd.conf 中注释它(如果它是特定模块),或者(重新)安装 apache 包。我相信 mod_authn_core 应该在基本包中,而不是在单独的模块中。可能有人盲目或意外删除了它,或者某些入侵者弄乱了系统,或者磁盘坏了或其他任何事情。

PS。模块通常在“lib”下,例如 /usr/local/lib/apache2 或 /usr/lib/apache2,或 /usr/lib/apache2/modules 或类似的,不在 /usr/local/apache2/modules 中,尽管它通常取决于包的编译..

你也可以跑

apache2ctl -t -D DUMP_VHOSTS

找出哪些模块被编译为共享或静态。您还应该包括有关分发的信息,并注意您是从源代码构建/安装的。

另外,看看这里:http ://httpd.apache.org/docs/2.4/install.html#configure

于 2013-07-16T18:03:33.757 回答