Назад | Перейти на главную страницу

запустить 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

Это правильно?

Задача решена!

Проблема заключалась в том, что у меня было правило перезаписи, установленное в моем .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>

Надеюсь это поможет.