Я пытаюсь запустить 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
Это правильно?
Задача решена!
Проблема заключалась в том, что у меня было правило перезаписи, установленное в моем .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>
Надеюсь это поможет.