У меня есть сервер Ubuntu (16.04.3 LTS) с установленным Apache 2.4.18 и redmine, после это руководство по установке.
Поэтому я отредактировал ssl.conf в моем apache2/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 может быть нарушена», если строка не прокомментирована.
Есть ли способ исправить это или есть другие файлы, которые я должен проверить, чтобы исправить эту ошибку?
Мне удалось решить проблему
PassengerResolveSymlinksInDocumentRoot
Эта опция была удалена в версии 5.2.0 согласно
https://blog.phusion.nl/2018/01/29/passenger-5-2-0/
Итак, есть 2 способа исправить это
1. не используйте символьные ссылки в DocumentRoot
2. используйте параметр PassengerAppRoot в виртуальном хосте Apache (если вы используете символьную ссылку в 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