【问题标题】:During apachectl start getting open shared object file: No such file or directory在 apachectl 开始打开共享对象文件期间:没有这样的文件或目录
【发布时间】:2013-07-16 17:57:06
【问题描述】:

成功安装 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$ 

【问题讨论】:

    标签: apache2


    【解决方案1】:

    运行

    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

    【讨论】:

    • 能否请您阅读我编辑的帖子,其中会提供更多细节。
    • 我运行了“find -type f -name mod_authn_core.so”,文件不可用。
    • 你粘贴的不是你需要的。你需要 *.so 文件
    • so,如果 *.so 文件不可用,您可能需要重新安装包,mod_auth_core 可能在主包中,而不是额外的。
    • 注意我编辑了我的答案,尝试使用 find / -type f -name ..(使用“/”作为参数中的路径)
    猜你喜欢
    • 2017-04-22
    • 1970-01-01
    • 2015-04-12
    • 2018-11-26
    • 2019-11-27
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多