Пытаюсь установить Redmine под apache. Сервер apache работает в локальной сети. Моя установка apache состоит из одного виртуального хоста. Я могу получить доступ к различным каталогам, просто используя соответствующий путь:
http: // IP-адрес / папка_проекта_1
Как я могу настроить виртуальный хост, чтобы Redmine работал в этой ситуации? Вот моя текущая настройка виртуального хоста:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
RailsBaseURI /redmine
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/redmine/public>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
Спасибо, Ingo86
Укажите DocumentRoot в общедоступном каталоге Redmine, а RailsBaseURI - в /.
Вот пример моего рабочего сервера Ubuntu:
<VirtualHost *:80>
ServerName redmine.int.example.com
ServerAlias redmine
DocumentRoot /var/www/redmine/public
RailsBaseURI /
RailsEnv production
PassengerMaxPoolSize 4
<Directory /var/www/redmine/public>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
LogLevel info
ErrorLog /var/log/apache2/redmine-error.log
CustomLog /var/log/apache2/redmine-access.log combined
</VirtualHost>
Кто-то предложил указать DocumentRoot в корень каталога redmine следующим образом:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName golem.it
DocumentRoot "/var/www/redmine/public"
<Directory /var/www/redmine/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Вышеупомянутое, конечно, работает, однако оно не отвечает ни на конкретный вопрос, ни дает общее решение, которое не требует полного кражи корня документа из других приложений.
Решение, которое я нашел, требует создания символической ссылки на /var/www/redmine-2.2/public с именем redmines (обратите внимание, что это не redmine, а redmines из-за возможной ошибки именования пассажиров!), Решение показано ниже (игнорируйте часть ssl ):
NameVirtualHost *:443
<VirtualHost *:443>
ServerName golem.it
DocumentRoot "/var/www"
Options +Indexes
Options +ExecCGI
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
PassengerAppRoot /var/www/redmine-2.2
RailsBaseURI /redmines
Alias /redmine /var/www/redmines
<Directory /var/www/redmines>
AllowOverride All
Options -MultiViews
</Directory>
SSLEngine On
SSLCertificateFile /etc/apache2/dwewe.crt
SSLCertificateKeyFile /etc/apache2/wefew.key
SSLCACertificateFile /etc/apache2/wefer/ca.crt
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
</VirtualHost>
Ты пробовал RailsBaseURI /redmine/public
вместо того RailsBaseURI /redmine
? на всякий случай.