Redmine работает на Apache2 с пассажиром
Я пытаюсь запустить Redmine на моем сервере Ubuntu 12.04 / Apache/2.2.22. Я слежу за этой документацией, которая отлично работала на моем ноутбуке, но не могу заставить ее работать на моем веб-сервере aws. Я предполагаю, что проблема с apache, потому что я просто получаю ошибку 404 при попытке перейти на страницу www.mydomain.com/redmine
Я следовал за документом шаг за шагом, но не буду работать. Я не очень знаком с конфигурацией VHost, так что кто-нибудь может сказать, если что-то не так с моим:
<VirtualHost *:80>
ServerAdmin admin@yourownpoet.com
ServerName www.yourownpoet.com
DocumentRoot /var/www/yourownpoet/web
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/yourownpoet/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
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 ${APACHE_LOG_DIR}/error.prod.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.prod.log combined
<IfModule mod_userdir.c>
UserDir html/yourownpoet/web
</IfModule>
<Directory /home/ubuntu/html/yourownpoet/web>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
<Directory /var/www/redmine>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
</VirtualHost>
PS: я создал символическую ссылку на общедоступный каталог redmine в моей папке DocumentRoot:
sudo ln -s /usr/share/redmine/public /var/www/yourownpoet/web
Это верно?
1 ответ
Задача решена!
Проблема заключалась в том, что у меня было установлено правило перезаписи в моем.htaccess в папке DocumentRoot. Это правило необходимо для запуска моего веб-сайта Symfony2, но оно работало с Redmine.
Мне пришлось специально отключить RewriteEngine для Redmine в конфигурации виртуального хоста:
<VirtualHost *:80>
ServerAdmin admin@yourownpoet.com
ServerName www.yourownpoet.com
DocumentRoot /var/www/yourownpoet/web
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/yourownpoet/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php [QSA,L]
</IfModule>
</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>
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 ${APACHE_LOG_DIR}/error.prod.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.prod.log combined
<IfModule mod_userdir.c>
UserDir html/yourownpoet/web
</IfModule>
<Directory /home/ubuntu/html/yourownpoet/web>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</LimitExcept>
</Directory>
<Directory /var/www/yourownpoet/web/redmine>
<IfModule mod_rewrite.c>
RewriteEngine off
</IfModule>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
</VirtualHost>
Надеюсь это поможет.