Redmine コンテナが動作していること
http://<ホスト名>:<ポート番号> にアクセスすると、Redmineのホーム画面にアクセスできること
公式のRedmineイメージからコンテナを作成した場合、デフォルトではvimがインストールされていない。
そのため、コンテナからファイルをローカルにコピーし、編集後にコンテナ内のファイルを上書きする方針で行う。
$ sudo docker cp <Redmineコンテナ名>:/usr/src/redmine/config.ru . $ sudo docker cp <Redmineコンテナ名>:/usr/src/redmine/config/environment.rb .
下記では、サブディレクトリを「redmine」に指定したい場合を示す。
$ vi config.ru require ::File.expand_path('../config/environment', __FILE__) run Rails.application ↓ require ::File.expand_path('../config/environment', __FILE__) #run Rails.application map ENV['RAILS_RELATIVE_URL_ROOT'] || '/' do run Rails.application end
$ vi environment.rb 末尾に追記する ActionController::Base.relative_url_root = RedmineApp::Application.routes.default_scope Redmine::Utils::relative_url_root = RedmineApp::Application.routes.default_scope ENV['RAILS_RELATIVE_URL_ROOT'] = "/redmine" Redmine::Utils::relative_url_root = ENV['RAILS_RELATIVE_URL_ROOT']
$ sudo docker cp config.ru <Redmineのコンテナ名>:/usr/src/redmine $ sudo docker cp environment.rb <Redmineのコンテナ名>:/usr/src/redmine/config $ sudo docker-compose restart <Redmineのコンテナ名>
これで、「http://<ホスト名>:<ポート番号>/redmine」にアクセスできるようになる。
ポート番号の指定をしないで済むようにリバースプロキシを設定する。
Dockerを動作させているホストにおいて、下記のファイルを編集する。
下記の設定は「/redmine」にアクセスすると、「:<ポート番号>/redmine」にルーティングされる設定となる。
$ sudo vi /etc/httpd/conf/httpd.conf 末尾に下記を追記する。 ProxyRequests off ProxyPass /redmine http://localhost:<ポート番号>/redmine/ ProxyPassReverse /redmine http://localhost:<ポート番号>/redmine/
編集後、httpdサービスを再起動する。
$ sudo systemctl restart httpd
再起動後、「http://<ホスト名>/redmine」にアクセスできることを確認する。