EC2でAWS MarketplaceからRedmineをインストールしました。とても手軽でとりあえず使うには充分です。 そのRedmineにDMSFをインストールしようとしたのですがエラーが出てしまい泥沼にハマってしまいました。
環境 EC2
Redmine 4.0.4-3
Ubuntu 16.04
インストール
色々迷いに迷って結局は公式に記載されている通りの手順です。
必要なパッケージを追加
$ sudo apt-get install xapian-omega ruby-xapian libxapian-dev \
xpdf poppler-utils antiword unzip catdoc libwpd-tools libwps-tools \
gzip unrtf catdvi djview djview3 uuid uuid-dev xz-utils libemail-outlook-message-perl
DMSFソースを取得して設置
$ cd /tmp
$ git clone https://github.com/danmunn/redmine_dmsf.git
$ cd redmine_dmsf
$ git checkout devel-2.0.1
$ cp -R /tmp/redmine_dmsf /opt/bitnami/apps/redmine/htdocs/plugins
$ cd /opt/bitnami/apps/redmine/htdocs
ここでのポイントはブランチをdevel-2.0.1
に切り替える点です。
現在(2019/07/30時点)提供されているmaster
ブランチは手順通りインストールしようとするとエラーになります。
そのため、開発版と思われるブランチを指定しています。
以下のように直接tag
を指定してclone
しても良いでしょう。
git clone -b devel-2.0.1 https://github.com/danmunn/redmine_dmsf.git
取得したファイルをBitnamiが管理しているRedmineプラグインディレクトリへコピーします。
$ cp -R /tmp/redmine_dmsf /opt/bitnami/apps/redmine/htdocs/plugins
インストール実行
他のプラグインと同じようにインストールしてRedmineを再起動します。 再起動はBitnamiの再起動スクリプトがあるのでそれを使います。
$ cd /opt/bitnami/apps/redmine/htdocs
$ bundle install
$ bundle exec rake redmine:plugins:migrate NAME=redmine_dmsf RAILS_ENV="production"
$ sudo /opt/bitnami/ctlscript.sh restart
以上で完了です。ただ開発版だと思いますので動作する安定版がリリースされたら早めに移行しておきたいところです。
これ以降は蛇足です。インストール出来ずにハマってしまった記録を残します。
色々と試した記録
DMSFインストール直後にエラーが発生しRedmineが動かなくなりました。一つひとつエラーを追って解決していきました。
ログを確認します。
/opt/bitnami/apache2/logs/error_log
Could not spawn process for application /opt/bitnami/apps/redmine/htdocs/: An error occurred while starting up the preloader.
Error ID: ffebca3a
Error details saved to: /tmp/passenger-error-iqZlYb.html
Message from application: No such file to load -- mongo.rb (LoadError)
/opt/bitnami/ruby/lib/ruby/gems/2.5.0/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
/opt/bitnami/ruby/lib/ruby/gems/2.5.0/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require'
...
mongo.rb
が無いようです。
そこで下記を参考にGemfile
を修正しました。
# Dav4Rack
gem 'ox'
gem 'mongo' <- 追加
group :test do
gem 'rails-controller-testing'
end
そして再度インストール
$ cd /opt/bitnami/apps/redmine/htdocs
$ bundle install
$ sudo /opt/bitnami/ctlscript.sh restart
するとログのエラー内容が変わりました。
/opt/bitnami/apache2/logs/error_log
Could not spawn process for application /opt/bitnami/apps/redmine/htdocs/: An error occurred while starting up the preloader.
Error ID: f34ef3e4
Error details saved to: /tmp/passenger-error-SvcXkj.html
Message from application: uninitialized constant Redmine::IntegrationTest (NameError)
/opt/bitnami/apps/redmine/htdocs/plugins/redmine_dmsf/lib/redmine_dmsf/test/integration_test.rb:24:in `'
/opt/bitnami/apps/redmine/htdocs/plugins/redmine_dmsf/lib/redmine_dmsf/test/integration_test.rb:23:in `'
...
インストール時のオプションの指定が足りないようでしたので、以下を確認して再インストールします。
https://github.com/danmunn/redmine_dmsf/issues/984#issuecomment-481220910$ cd /opt/bitnami/apps/redmine/htdocs
$ bundle install --without test
$ sudo /opt/bitnami/ctlscript.sh restart
ここまでやったもののエラー内容は変わらず動きませんでした。 一旦DMSFをアンインストールして元に戻します。
$ cd /opt/bitnami/apps/redmine/htdocs
$ bundle exec rake redmine:plugins:migrate NAME=redmine_dmsf VERSION=0 RAILS_ENV=production
$ rm plugins/redmine_dmsf -Rf
$ sudo /opt/bitnami/ctlscript.sh restart
あらためてDMSFのリポジトリを見にいくと以下の説明がありました。
Full-text search (optional) If you want to use fulltext search abilities, install xapian packages. In case of using of Bitnami stack or Ruby installed via RVM it might be necessary to install Xapian bindings from sources. See https://xapian.org for details.
引用 - Full-text search (optional)
全文検索したい場合はxapian
をインストールする必要があるようです。
RVMを使ってインストールされたRubyやBitmaniを使っている場合、xapian
を手動インストールしなければならないかも、とのこと。
DMSFの全文検索は日本語に対応していないようですし、xapian
も不要だと思うのですが、
Bitnamiを利用しているのでxapian
を手動インストールすることにしました。
xapian-coreをインストール
$ cd /tmp
$ wget https://oligarchy.co.uk/xapian/1.4.12/xapian-core-1.4.12.tar.xz
$ tar xf xapian-core-1.4.12.tar.xz
$ cd xapian-core-1.4.12
$ ./configure --prefix=/opt
$ make
$ sudo make install
xapian-bindingsをインストール
$ cd /tmp
$ wget https://oligarchy.co.uk/xapian/1.4.12/xapian-bindings-1.4.12.tar.xz
$ tar xf xapian-bindings-1.4.12.tar.xz
$ ./configure XAPIAN_CONFIG=/opt/bin/xapian-config
$ make
$ sudo make install
omegaをインストール
omega
をインストールしようとするとpcre
が必要とのことなので、
先にpcre
をインストールします。
$ cd /tmp
$ wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
$ tar zvxf pcre-8.43.tar.gz
$ cd pcre-8.43
$ ./configure --prefix=/opt
$ make
$ sudo make install
omega
をインストールします。
$ cd /tmp
$ wget https://oligarchy.co.uk/xapian/1.4.12/xapian-omega-1.4.12.tar.xz
$ tar xf xapian-omega-1.4.12.tar.xz
$ cd xapian-omega-1.4.12
$ ./configure XAPIAN_CONFIG=/opt/bin/xapian-config PCRE_CONFIG=/opt/bin/pcre-config
$ make
$ sudo make install
と、ここでエラーになります。omega
のmake
が通りません。
VirtualBoxで立てたUbuntuを使って試すとちゃんとmake
が通ったので、
Bitnamiと相性が悪いのかもしれません。
ここで手動インストールは諦めました。