web-dev-qa-db-ja.com

Apache Passenger Resolve Symlinksが機能しなくなった|無効なコマンド

このインストールガイド に従って、Apache 2.4.18とredmineがインストールされたUbuntuサーバー(16.04.3 LTS)を持っています。

そのため、私はApache2/sites-availableのssl.confを編集して、次の行を追加しました。

<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」。スペルが間違っているか、サーバー構成に含まれていないモジュールによって定義されている可能性があります

ssl.confのレッドマイン部分を変更したり、Apacheモジュールを有効または無効にしたりしませんでした。

変更を元に戻しても、このエラーメッセージを回避するのに役立ちません。

PassengerResolveSymlinksInDocumentRootをコメント化すると、Apacheは再び動作しますが、redmineのインストールは無効になります。

passenger-config validate-installは、行がコメント化されている場合はエラーを返さず、行がコメント化されていない場合は「Apacheインストールが壊れている可能性があります」。

これを修正する方法はありますか、またはこのエラーを修正するために確認する必要がある他のファイルはありますか?

3
LKKP4ThX

なんとか問題を解決しました

PassengerResolveSymlinksInDocumentRoot

このオプションは、5.2.0バージョンで削除されました。

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

それを修正するには2つの方法があります

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