自分はRedmineに関しては知識が浅く、プラグイン1つインストールするのにかなりハマりました。各種ハマった点と対処方法(「こうしたらうまくいった」というレベル)をメモしています。
環境
- CentOS 7 minimal
- Bitnami Redmine 3.3.0-1
インストールしたプラグイン
公式マニュアル
やはり、まずはBitnami Redmine の公式マニュアルを読んでおきましょう。
https://docs.bitnami.com/installer/apps/redmine/#how-to-install-a-plugin-on-redmine
ハマった個所
上記の公式マニュアル通り操作しても、環境によりハマる場合はハマります。。。
ruby関連コマンド(bundle
など)へのパスが通っていない
現象
初っ端からハマったのは、bundle install
が実行すらできないということでした。。。
[root@localhost redmine-3.3.0-1]# bundle install
-bash: bundle: コマンドが見つかりません
対処方法
Bitnami Redmine のインストールディレクトリにあるuse_redmine
スクリプトを実行し、ruby
関連コマンドのパスを通しましょう。
[root@localhost ~]# cd /opt/redmine-3.3.0-1/
[root@localhost redmine-3.3.0-1]# ./use_redmine
bash-4.2# echo $PATH
/opt/redmine-3.3.0-1/perl/bin:/opt/redmine-3.3.0-1/git/bin:/opt/redmine-3.3.0-1/sqlite/bin:/opt/redmine-3.3.0-1/ruby/bin:/opt/redmine-3.3.0-1/postgresql/bin:/opt/redmine-3.3.0-1/php/bin:/opt/redmine-3.3.0-1/mysql/bin:/opt/redmine-3.3.0-1/apache2/bin:/opt/redmine-3.3.0-1/common/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
bundle install
で証明書エラー発生
現象
bundle install
実行時、https://rubygems.org/
のSSL証明書が確認できない、というエラーが発生。
bash-4.2# cd /opt/redmine-3.3.0-1/apps/redmine/htdocs/
bash-4.2# bundle install --without development test postgresql sqlite --no-deployment
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this
application for all non-root users on this machine.
Fetching source index from https://rubygems.org/
Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates
needed for verification. For information about OpenSSL certificates, see bit.ly/ruby-ssl. To connect without using SSL, edit
your Gemfile sources and change 'https' to 'http'.
対処方法
ここはとにかく「動かす」ことを最優先して、Gemfile内のhttps
をhttp
に編集。
- source 'https://rubygems.org'
+ source 'http://rubygems.org'
本来はopenssl
や証明書関連のトラブルシューティングを進めるべきだとは思いますが、今回は個人用の環境なので妥協しています。
bundle install
で nokogiri 1.6.8
インストールエラー
現象
nokogiri 1.6.8
のインストール時点でエラー発生。
bash-4.2# bundle install --without development test postgresql sqlite --no-deployment
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this
application for all non-root users on this machine.
Fetching gem metadata from http://rubygems.org/...........
Fetching version metadata from http://rubygems.org/...
Fetching dependency metadata from http://rubygems.org/..
Resolving dependencies....
Installing rake 11.1.2
Using i18n 0.7.0
Using json 1.8.3
Installing minitest 5.8.4
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Installing activesupport 4.2.6
Using builder 3.2.2
Using erubis 2.7.0
Installing mini_portile2 2.1.0
Installing pkg-config 1.1.7
Installing nokogiri 1.6.8 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/redmine-3.3.0-1/ruby/bin/ruby extconf.rb --with-opt-dir=/opt/redmine-3.3.0-1/common
Using pkg-config version 1.1.7
checking if the C compiler accepts -I/opt/redmine-3.3.0-1/common/include/ImageMagick -I/opt/redmine-3.3.0-1/common/include -I/opt/redmine-3.3.0-1/common/include/ImageMagick -I/opt/redmine-3.3.0-1/common/include ... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/opt/redmine-3.3.0-1/ruby/bin/ruby
--help
--clean
/opt/redmine-3.3.0-1/ruby/lib/ruby/2.1.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /opt/redmine-3.3.0-1/ruby/lib/ruby/2.1.0/mkmf.rb:571:in `block in try_compile'
from /opt/redmine-3.3.0-1/ruby/lib/ruby/2.1.0/mkmf.rb:522:in `with_werror'
from /opt/redmine-3.3.0-1/ruby/lib/ruby/2.1.0/mkmf.rb:571:in `try_compile'
from extconf.rb:138:in `nokogiri_try_compile'
from extconf.rb:162:in `block in add_cflags'
from /opt/redmine-3.3.0-1/ruby/lib/ruby/2.1.0/mkmf.rb:619:in `with_cflags'
from extconf.rb:161:in `add_cflags'
from extconf.rb:414:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /opt/redmine-3.3.0-1/ruby/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.8 for inspection.
Results logged to /opt/redmine-3.3.0-1/ruby/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/nokogiri-1.6.8/gem_make.out
An error occurred while installing nokogiri (1.6.8), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.8'` succeeds before bundling.
対処方法
エラーメッセージを見る限り、コンパイラ関連のエラーっぽい。類似の現象(macOS)も発見。
よくよく調べてみると、なんとgcc
が入っていなかった。。。ので、gcc
をインストール。
bash-4.2# which gcc
which: no gcc in (/opt/redmine-3.3.0-1/perl/bin:/opt/redmine-3.3.0-1/git/bin:/opt/redmine-3.3.0-1/sqlite/bin:/opt/redmine-3.3.0-1/ruby/bin:/opt/redmine-3.3.0-1/postgresql/bin:/opt/redmine-3.3.0-1/php/bin:/opt/redmine-3.3.0-1/mysql/bin:/opt/redmine-3.3.0-1/apache2/bin:/opt/redmine-3.3.0-1/common/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
bash-4.2# yum -y install gcc
そして再実行。
bash-4.2# bundle install --without development test postgresql sqlite --no-deployment
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this
application for all non-root users on this machine.
Fetching gem metadata from http://rubygems.org/...........
Fetching version metadata from http://rubygems.org/...
Fetching dependency metadata from http://rubygems.org/..
Resolving dependencies...
Using rake 11.1.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.4
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.2.6
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using pkg-config 1.1.7
Installing nokogiri 1.6.8 with native extensions
Using rails-deprecated_sanitizer 1.0.3
Using rails-dom-testing 1.0.7
Using loofah 2.0.3
Installing rails-html-sanitizer 1.0.3
Installing actionview 4.2.6
Using rack 1.6.4
Using rack-test 0.6.3
Installing actionpack 4.2.6
Using globalid 0.3.6
Installing activejob 4.2.6
Installing mime-types-data 3.2016.0221
Installing mime-types 3.0
Installing mail 2.6.4
Installing actionmailer 4.2.6
Installing actionpack-action_caching 1.1.1
Installing actionpack-xml_parser 1.0.2
Installing activemodel 4.2.6
Using arel 6.0.3
Installing activerecord 4.2.6
Installing addressable 2.4.0
Using bundler 1.10.4
Installing coderay 1.1.1
Installing concurrent-ruby 1.0.2
Installing css_parser 1.3.7
Installing htmlentities 4.3.1
Using thor 0.19.1
Installing railties 4.2.6
Installing jquery-rails 3.1.4
Installing mimemagic 0.3.1
Using mysql2 0.4.2
Installing net-ldap 0.12.1
Installing protected_attributes 1.1.3
Installing ruby-openid 2.3.0
Installing rack-openid 1.4.2
Installing sprockets 3.6.0
Installing sprockets-rails 3.0.4
Installing rails 4.2.6
Installing rbpdf-font 1.19.0
Installing rbpdf 1.19.0
Installing redcarpet 3.3.4 with native extensions
Installing request_store 1.0.5
Installing rmagick 2.15.4 with native extensions
Installing roadie 3.1.1
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 56 gems now installed.
Gems in the groups development, test, postgresql and sqlite were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
( ;∀;)