2011-10-25 11 views
4

私は、Apacheの下にある単一のサーバーに1組のredmineインスタンスを設定しようとしています。Apache /パッセンジャーで複数のredmineインスタンスを設定する

は、最初はうまく働いたと私は、次のバーチャルホストの設定でそれ用に設定バーチャルホストを持っている:

<VirtualHost *:80>                       
    ServerName tickets.domain.com                  
    DocumentRoot /var/www/redmine                   
    RailsEnv production                      
    RailsBaseURI/                       
    PassengerResolveSymlinksInDocumentRoot on                
</VirtualHost> 

私はメインのデフォルトサイトのオフサブディレクトリとしてセットアップに必要な第二:

Alias /ops/ "/var/www/ops/"                   
<Directory "/var/www/ops/">                   
    RailsEnv ops                      
    RailsBaseURI /ops                     
    PassengerResolveSymlinksInDocumentRoot on               
</Directory> 

したがって、server/opsは2番目のインスタンスのURLです。

私が抱えている問題は、Apacheを再起動すると、最初にヒットしたURLが最初に勝っているように見えて、サイトの他のインスタンスが破損するということです。私が/ opsのURLをヒットした場合、うまくロードされますが、チケットに行きます。すべてのURLに/ opsが含まれているため(JSやその他のファイルの場合)、アクセス許可を拒否されます。

私はApacheを再起動してチケットを取得します。最初にサイトをロードしても問題ありませんが、/ ops urlのRedmineから404エラーが表示されます。

これは、Redmine PPAを使用したUbuntu上にあり、/ var/www/opsと/ var/www/redmineは、共有Redmineソースコードへのシンボリックリンクで、独自の環境(productionとops)が定義されています。

これらの2つのライブをどのように並行して行うことができるかについてのヒントはありますか?

おかげ

答えて

1

これで、複数のRedmineのインスタンスをホストしている私のApacheの設定(domain.tldに/ DEV1、domain.tldに/ DEV2、...)。

各redmine設定の:config/initializers/session_store.rbの:keyと:session_pathも変更する必要があります。

<IfModule mod_ssl.c> 
     <VirtualHost _default_:443> 
      Servername domain.tld 
      ServerAdmin [email protected] 
      DefaultInitEnv RAILS_ENV production 
      DefaultInitEnv GEM_PATH /var/lib/gems/1.8 
      DocumentRoot /var/www/default-ssl 
      <Directory /var/www/default-ssl> 
      AuthType Basic 
      AuthName "secure section" 
      AuthUserFile /etc/apache2/htpasswd 
      Require valid-user 
      Options +FollowSymLinks +ExecCGI 
      RewriteEngine On 
      RewriteRule ^$ index.html [QSA] 
      RewriteRule ^([^.]+)$ $1.html [QSA] 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] 
      ErrorDocument 500 "Application error Rails application failed to start properly" 
      AllowOverride None 
      Order allow,deny 
      allow from all 
      </Directory> 

      LogLevel warn 
      ErrorLog /ssl_error.log 
      CustomLog /ssl_access.log combined 
      ServerSignature Off 
      SSLEngine on 
      SSLCertificateFile /etc/ssl/certs/domain.tld.crt 
      SSLCertificateKeyFile /etc/ssl/private/domain.tld.key 
      SSLCACertificateFile /etc/ssl/certs/domain.tld.ca 

      <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
      SSLOptions +StdEnvVars 
      </FilesMatch> 
      BrowserMatch "MSIE [2-6]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 
      BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown 

      Alias /dev1 /var/www/default-ssl/dev1/public 
      <Directory /var/www/default-ssl/dev1/public> 
      PassengerAppRoot /var/www/default-ssl/dev1 
      RailsBaseURI /dev1 
      Require user user1 user2 
      </Directory> 

      Alias /dev2 /var/www/default-ssl/dev2/public 
      <Directory /var/www/default-ssl/dev2/public> 
      PassengerAppRoot /var/www/default-ssl/dev2 
      RailsBaseURI /dev2 
      Require user user1 
      </Directory> 

      ... 

     </VirtualHost> 
     </IfModule> 
+1

ありがとう、私はあなたが私の質問に答えたと思う。基本的に私はソースコードの異なるディレクトリに住む必要があります。同じディレクトリから2つのインスタンスを実行できるかどうかを確認しようとしていました。私はソースディレクトリをコピーし、すべてがうまく動作しています。 – Rick

0

パスに基づいて設定された乗客distingues。 Ubuntuのバグデータベースに見てみてください: Multiple instance of redmine does not work with passenger

は、すべての設定のためのディレクトリを作成します。

/var/lib/redmine/*configname* 

はRedmineのディレクトリからシンボリックリンクを作成する:あなたが追加することができ、あなたのapacheのバーチャルホストで

ln -s /usr/share/redmine /var/lib/redmine/*configname*/passenger 

を代替PassengerAppRoot:

PassengerAppRoot /var/lib/redmine/*configname*/passenger 
関連する問題