1

Redmine と Apache に関するインターネット上のすべての記事を読んだに違いありませんが、それでも機能しません。

http://server:3000Thinを使用してRedmineを完全に実行しています。同じサーバー上に別の Apache サービスがあり、別のポート (8096) で内部 Web ツールをホストしているため、Redmine にも同じ規則に従ってもらいたいと考えています。

その点で、httpd.conf の Apache に以下を追加しました。

ProxyPass /redmine http://127.0.0.1:3000/
ProxyPassReverse /redmine http://127.0.0.1:3000/
ProxyPreserveHost on

これはうまくいくようです。入力するhttp://server:8096/redmineと Redmine のスタート ページが表示されますが、他のリンクをクリックすると404が返されます。

サイトからのリンクに /redmine を追加していないようです。「管理者」リンクをクリックするとhttp://server:8096/adminhttp://server:8096/redmine/admin

また、以下の 3 つのいずれかをconfig/environment.rbに追加することも検討しましたが、どちらを使用するかについて矛盾する情報があるようです。

ActionController::AbstractRequest.relative_url_root = "/redmine" 
ActionController::Base.relative_url_root = "/redmine" 
Redmine::Utils::relative_url_root = "/redmine" 

いつものように、どんな助けも大歓迎です!

編集::

私もお試し中です

ProxyPass /redmine http://server:3000
ProxyHTMLURLMap http://server:3000 /redmine
<Location /redmine>
    ProxyPassReverse http://server:3000
    SetOutputFilter proxy-html
    ProxyHTMLURLMap /               /redmine/
    ProxyHTMLURLMap /redmine/       /redmine
</Location>

しかし、同じ結果になるようです。興味深いことに、http://localhost:8096/redmineローカル サーバーからアクセスすると、CSS と JS が機能していないことを除いて、すべてのリンクが機能して正しいページに移動しているように見えます。

リモートでリンクのいずれかを手動で入力するとhttp://server:8096/redmine/admin、CSS などを使用して正しいページが表示されます。ページ間のリンクが機能していないだけです。

4

1 に答える 1

2

男、私はこのようにコンテキストを変更するApacheプロキシの動作セットアップを見たことがありません:

ProxyPass /redmine http://127.0.0.1:3000/

これはうまくいくはずです:

ProxyPass /redmine http://127.0.0.1:3000/redmine

そのためには、サブ URI で動作するようにバックエンド サーバー (mongrel など) をセットアップする必要があります。

代わりに mod_passenger を使用することをお勧めします。これは redmine をセットアップする最も簡単な方法であり、プロキシは必要ありません。これが私のセットアップに従います:

brunojcm@brunojcm-htpc:~$ cat /etc/apache2/sites-available/redmine 
<Directory /var/www/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

/var/www/redmineパブリック redmine フォルダーへのリンクはどこにありますか。

brunojcm@brunojcm-htpc:~$ ll /var/www/redmine
lrwxrwxrwx 1 root root 27 Sep  4  2011 /var/www/redmine -> /opt/redmine/current/public/

mod_passenger もインストールする必要があります。正確な方法は覚えていませんが、gem install passenger実行passenger-install-apache2-moduleして指示に従う必要があると思います。

それが役に立てば幸い!

于 2012-10-30T14:22:53.370 に答える