如何验证 Apache Server 的安装是否有效?

如何验证 Apache Server 的安装是否有效?
  • Debian 9.5
  • Apache HTTP 服务器 2.4.34 (httpd)

从以下位置安装 Apache 后官方网站使用sudo make install,我想检查安装是否可以启动服务器:

$ sudo /usr/local/apache2/bin/apachectl -k start

但我收到一个错误

/usr/local/apache2/bin/httpd:符号查找错误:/usr/local/apache2/bin/httpd:未定义符号:apr_crypto_init

该错误与库的主题有关吗?会是什么呢?

我在安装过程中所做的配置是:

$ sh configure --prefix /usr/local/apache2

如果您需要附加屏幕、日志或已安装的库,请更新帖子以获取更多详细信息。


解决方案

我用 /usr/local 前缀重建了 httpd

$ sh configure --prefix /usr/local
$ sudo make install
$ sudo /usr/local/bin/apachectl -k start

我建议返回到虚拟机的初始状态,这样就不会有残留的库和文件。

答案1

是的,该错误(可能)与库有关。我怀疑,由于您给出了configure前缀/usr/local/apache2,因此构建的库最终以httpd结尾/usr/local/apache2/lib,而动态链接器不知道这一点。

有多种方法可以解决此问题:

  • 使用包裹相反,从长远来看,它会让你的生活更轻松:

    sudo apt install apache2
    

或者

  • 添加/usr/local/apache2/lib到动态链接器的配置;创建一个文件,/etc/ld.so.conf.d/apache2-local.conf包含单行

    /usr/local/apache2/lib
    

    并运行sudo ldconfig

或者

  • httpd使用前缀 进行重建/usr/local,以便其二进制文件最终位于 中/usr/local/bin,其库位于 中/usr/local/lib

(顺便说一句,您不需要configure以 root 身份运行,也不应该以普通用户身份配置和构建,并且只能以 root 身份安装。)

相关内容