У меня есть сервер, настроенный с помощью redmine с использованием apache2 и redmine. Конфигурация была относительно простой:
<VirtualHost localhost>
RailsEnv production
# create a link in /var/lib/redmine/default/passenger to /usr/share/redmine
PassengerAppRoot /var/lib/redmine/default/passenger
SetEnv X_DEBIAN_SITEID "default"
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
DocumentRoot /usr/share/redmine/public
<Directory "/usr/share/redmine/public">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Теперь я хотел иметь подкаталог / downloads со статическими файлами. Поэтому я немного изменил конфигурацию
<VirtualHost localhost>
RailsEnv production
# create a link in /var/lib/redmine/default/passenger to /usr/share/redmine
PassengerAppRoot /var/lib/redmine/default/passenger
SetEnv X_DEBIAN_SITEID "default"
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
DocumentRoot /usr/share/redmine/public
<Directory "/usr/share/redmine/public">
Order allow,deny
Allow from all
</Directory>
Alias "/downloads/" /srv/downloads/
<Directory "/srv/downloads/">
Order allow,deny
Allow from all
Options +Indexes
</Directory>
</VirtualHost>
Это нормально работало без установленного пассажира, но не при использовании пассажира. Интересно просьба
localhost/downloads/test.gif
works fine, but not the request for localhost/downloads/
(which should show the directory listing... but instead queries redmine) Возможно ли каким-то образом получить доступный для просмотра подкаталог mod_autoindex?
Также необходимо добавить Location, которое отключает пассажира.
<VirtualHost localhost>
RailsEnv production
# create a link in /var/lib/redmine/default/passenger to /usr/share/redmine
PassengerAppRoot /var/lib/redmine/default/passenger
SetEnv X_DEBIAN_SITEID "default"
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
DocumentRoot /usr/share/redmine/public
<Directory "/usr/share/redmine/public">
Order allow,deny
Allow from all
</Directory>
Alias "/downloads/" /srv/downloads/
<Directory "/srv/downloads/">
Order allow,deny
Allow from all
Options +Indexes
</Directory>
<Location /downloads/>
PassengerEnabled off
</Location>
</VirtualHost>
или еще лучшее решение: отключите его по умолчанию и включите только для веб-приложения
<VirtualHost localhost>
PassengerEnabled off
RailsEnv production
# create a link in /var/lib/redmine/default/passenger to /usr/share/redmine
PassengerAppRoot /var/lib/redmine/default/passenger
SetEnv X_DEBIAN_SITEID "default"
Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
DocumentRoot /usr/share/redmine/public
<Directory "/usr/share/redmine/public">
PassengerEnabled on
Order allow,deny
Allow from all
</Directory>
Alias "/downloads" /srv/downloads
<Directory "/srv/downloads">
Order allow,deny
Allow from all
Options +Indexes
</Directory>
</VirtualHost>