Я установил Redmine на MacOSX Server 10.6.8 в соответствии с этим описание установки. Пока все работает нормально: когда я запускаю webrick, сервер обслуживает страницы Redmine. Драгоценные камни и redmine устанавливаются под пользователем «redmine».
После этого я решил настроить apache2 с пассажиром, как описано Вот. Как следует из описания, я также установил пассажирское стекло который хранит файлы конфигурации своего виртуального хоста в /private/etc/apache2/passenger_pane_vhosts
. Это то, что я придумал после множества попыток и ошибок вручную. По крайней мере, теперь я могу попасть на страницу с ошибкой пассажира.
// redmine.vhost.conf
<VirtualHost *:80>
ServerName myserver
ServerAlias localhost
DocumentRoot "/Users/redmine/Sites/redmine"
# RackEnv production
# RackBaseURI /
RailsEnv production
RailsBaseURI /
# PassengerUser www-data
# PassengerGroup www-data
<Directory "/Users/redmine/Sites/redmine">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Однако в пассажирском модуле по-прежнему возникают следующие ошибки.
Error message: No such file or directory - config/environment.rb
В /var/log/apache2/error_log
веб-сервера заявил следующее.
[warn] NameVirtualHost *:80 has no VirtualHosts
[notice] Apache/2.2.21 (Unix) Phusion_Passenger/3.0.12 configured --
resuming normal operations
[ pid=21824 thr=2151905620 file=utils.rb:176 time=2012-06-01 18:22:07.126 ]: ***
Exception Errno::ENOENT in PhusionPassenger::ClassicRails::ApplicationSpawner
(No such file or directory - config/environment.rb) (process 21824,
thread #<Thread:0x0000010086f2a8>):
Я экспериментировал с пользовательский переключатель функциональности пассажира как описано в документации - как вы можете понять из моего файла конфигурации. Хотя мне это не удалось.
ОБНОВИТЬ: (04.06.2012)
После того, как я изменил DocumentRoot и Каталог путь к /Users/redmine/Sites/redmine/public
как предложил Хольгер, сайт Redmine доступен по http://myserver
. Однако он недоступен под http://myserver/redmine
; то 404.html
из public/
папка обслуживается.
Я думаю, что Redmine доступен через http://myserver
потому что я перезаписываю DocumentRoot для всего сервера Apache (?). Но я не этого хочу. Без установки DocumentRoot в redmine.vhost.conf
Я обнаружил следующую страницу с ошибкой.
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to
use an ErrorDocument to handle the request.
Apache/2.2.21 (Unix) Phusion_Passenger/3.0.12 Server at myserver Port 80
Вопрос: Как мне настроить сервер, чтобы получить желаемый http://myserver/redmine
URL?
В соответствии с пассажирская документация вы должны использовать public
каталог в качестве корня документа. В вашем случае это будет /Users/redmine/Sites/redmine/public
.
Таким образом, в корне документа находятся только действительно общедоступные файлы, и Passenger находит правильный корень приложения. Вы никогда не должны помещать какие-либо файлы реального кода (или, что еще хуже: файлы конфигурации) в корень документа, так как они доступны для любого чтения.
Чтобы подключиться как URL-адрес / redmine, попробуйте
RewriteBase /redmine/
в вашем VirtualHost
Только для Пользователей, установивших Redmine с Bitnami-Stack:
Мне действительно интересно, почему я получил ту же ошибку, которая описывала ThreadOpener после обновления и перезапуска моей ОС. Дистрибутив также установил apache и mysql и запустил этот. BitNami имеет свой собственный apache- и Mysql-сервер внутри Bundle.
Решение: остановите Apache и mysql и запустите BitNami с помощью:
cd /opt/redmine-2.3.1-3
ctlscript.sh start mysql
ctlscript.sh start apache
Это решит мою проблему!