RedmineというIssue Tracking Systemがある。
多機能であるが使いやすく、ソフトウェア開発以外でも使えるので、
便利に使わせてもらっている。
pkgsrcだと、pkgsrc/deve/ruby-redmine
に収録されている。この記事の適用されるバージョンは、3.3.2である。
これはこれで、改善すべき点が山ほどあるパッケージなのだが、 とりあえず手軽に動かすと言うだけであれば、使えるものではある。
pkgsrc/devel/ruby-redmine
では、
標準ではunicornというアプリケーションサーバーで動かすことができるようになっている。
だが、標準ではあくまで、ルートディレクトリーで動かすような設定となっている。
だが、このようなサービスは、HTTPSで運用すべきであるし、
そうなると、サーバー証明書を取得するコストも考えると、
他のサービスと共有されたサーバー上で運用されることとなる。
一番簡単なのは、サブディレクトリーにアクセスすると、
Redmineを使用できるという運用である。
つまり、https://www.example.com/redmine/
にアクセスすると
使用できると言うことである。
この時、https://www.example.com/nextcloud/
にアクセスすると
Nextcloudが動いていると言った状態である。
設定内容
変更すべきは3箇所である。
/usr/pkg/share/examples/rc.d/redmine_unicorn22
からコピーされた/etc/rc.d/redmine_unicorn22
(ここで22はRuby 2.2を使っていることを示している。)/usr/pkg/share/ruby22-redmine/app/config.ru
/usr/pkg/share/ruby22-redmine/app/config/environment.rb
/etc/rc.d/redmine_unicorn22
への変更
RAILS_RELATIVE_URL_ROOT='/redmine'をunicornの起動の際の環境変数に追加する。
$ diff -u /usr/pkg/share/examples/rc.d/redmine_unicorn22 /etc/rc.d/redmine_unicorn22
--- /usr/pkg/share/examples/rc.d/redmine_unicorn22 2017-02-03 17:38:39.000000000 +0900
+++ /etc/rc.d/redmine_unicorn22 2017-02-03 18:43:18.000000000 +0900
@@ -19,6 +19,7 @@
cd /usr/pkg/share/ruby22-redmine/app
GEM_HOME=/usr/pkg/share/ruby22-redmine/gems \
GEM_PATH=/usr/pkg/share/ruby22-redmine/gems \
+ RAILS_RELATIVE_URL_ROOT='/redmine' \
/usr/pkg/bin/ruby22 \
/usr/pkg/share/ruby22-redmine/gems/bin/bundle exec unicorn \
-c /usr/pkg/share/ruby22-redmine/app/config/unicorn.rb \
/usr/pkg/share/ruby22-redmine/app/config.ru
run RedmineApp::Application
をmap
で囲む。
$ diff -u config.ru /usr/pkg/share/ruby22-redmine/app/config.ru
--- config.ru 2017-02-04 16:28:37.000000000 +0900
+++ /usr/pkg/share/ruby22-redmine/app/config.ru 2017-02-03 18:22:44.000000000 +0900
@@ -1,4 +1,7 @@
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
-run RedmineApp::Application
+#run RedmineApp::Application
+map ActionController::Base.relative_url_root || "/" do
+ run RedmineApp::Application
+end
/usr/pkg/share/ruby22-redmine/app/config/environment.rb
ActionController::Base.relative_url_root = "/redmine"
を最下行に追加する。
deuterium$ diff -u environment.rb /usr/pkg/share/ruby22-redmine/app/config/environment.rb
--- environment.rb 2017-02-04 16:30:29.000000000 +0900
+++ /usr/pkg/share/ruby22-redmine/app/config/environment.rb 2017-02-03 18:22:53.000000000 +0900
@@ -12,3 +12,4 @@
# Initialize the Rails application
Rails.application.initialize!
+ActionController::Base.relative_url_root = "/redmine"
nginxの設定
/usr/pkg/etc/nginx.nging.conf
は以下のように設定しておく。
http {
(snip)
upstream unicorn_redmine {
server unix:/usr/pkg/share/ruby22-redmine/unicorn.redmine.sock fail_timeout=0;
(snip)
server {
listen 443;
ssl on;
(snip)
location /redmine {
try_files $uri @unicorn_redmine;
}
(snip)
}
(snip)
}
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。