Apache Passenger Resolve 符号链接停止工作 | 无效命令

Apache Passenger Resolve 符号链接停止工作 | 无效命令

我有一台 Ubuntu 服务器(16.04.3 LTS),安装了 Apache 2.4.18 和 redmine,如下所示本安装指南

因此我编辑了我的 ssl.confapache2/sites-available并添加了以下几行:

<IfModule mod_ssl.c>
  <VirtualHost _default_:443>
   ...

    <Directory /var/www/html/redmine>
      RailsBaseURI /redmine
      PassengerResolveSymlinksInDocumentRoot on
    </Directory>

  </VirtualHost>
</IfModule>

这曾经可以工作几个月,但今天我编辑了ssl.conf以添加另一个位置。现在 Apache 重启失败并systemctl status apache2.service显示以下错误消息:

无效命令‘PassengerResolveSymlinksInDocumentRoot’,可能是拼写错误或由服务器配置中未包含的模块定义

我既没有更改 redmine 部分的任何内容,ssl.conf也没有启用或禁用任何 Apache 模块。

即使恢复更改也无助于避免出现此错误消息。

评论PassengerResolveSymlinksInDocumentRoot使 Apache 再次工作,但禁用 redmine 安装。

passenger-config validate-install如果该行被注释掉,则返回零错误;如果该行被取消注释,则返回“您的 Apache 安装可能已损坏”。

有什么方法可以修复此错误吗?或者我应该检查其他文件来修复此错误吗?

答案1

我已经解决了这个问题

PassengerResolveSymlinksInDocumentRoot

根据以下说明,该选项已在 5.2.0 版本中删除:

https://blog.phusion.nl/2018/01/29/passenger-5-2-0/

因此有两种方法可以解决这个问题

1.不要在 DocumentRoot 中使用符号链接

2.在虚拟主机Apache中使用参数PassengerAppRoot(如果您在DocumentRoot中使用符号链接)

<VirtualHost *:443>
    ServerName myservername
    DocumentRoot /var/www/redmine
    PassengerAppRoot /opt/redmine/redmine
</VirtualHost>

# ls -l /var/www/redmine
lrwxrwxrwx 1 root root 27 Apr 27  2017 /var/www/redmine -> /opt/redmine/redmine/public

相关内容