仕事でCentOSやRedmineを使うかも、という話があったので、予習として自分でも構築してみたら、めちゃくちゃ苦戦しました。
Linux初心者だし、RubyとRedmineについては触ったこともない状態だったので、当然と言えば当然ですが…
だいぶ忘れてきていますが、思い出せる限りメモを残します。
ちなみにCentOSのバージョンは、7.9.2009です。
構築の手順は、以下のサイトさんと公式を参考にしました。
公式もありますが、今は機能していません。実際リンクがつながりませんでした…
Redmine 3.4をCentOS 7.3にインストールする手順 | Redmine.JP Blog
Install Redmine 421 on Centos 7 - Redmine
RubyとBundlerそれぞれのバージョンの組合せが大切
とりあえず、RubyとBundlerの組合せがものすごく重要です。
これをミスると、遭遇しなくてもいいエラーに遭遇します。
悩ましいのが、新しすぎても、古すぎてもダメ、というところ。
Rubyを今まで触ったことがないので、gemの仕組みなど全然知らない状態でしたが、RubyとBundlerのバージョンの組合せがよくないと、あっちを上げればこっちで怒られ、みたいににっちもさっちもいかなくなります。
最終的に、以下の組合せで構築することができました。
Ruby:2.7.4p191
Bundler:2.4.22
最初は、みんながよく遭遇するNokogiriエラーなんかも出てましたが、バージョンの組合せをしっかりしたら出なくなりました。
Rubyのインストールに関しては、以下のサイトさんが参考になりました。
CentOS 7 に新しめの Ruby をパッケージからインストールする方法 #Ruby - Qiita
魔法のコマンド
こちらのサイトさん現場Rails環境構築 - HackMにもある通り、以下の魔法のコマンドを打ちます(笑)
なぜだかわかりませんが、エラーがなくなります。
bundle add loofah -v '~> 2.19.1'
最後の最後でsorryページが表示される
Apacheも入れてPassengerも入れて、これで完成!ってときに、
「We're sorry, but something went wrong.」
なんてページが表示されてガッカリしました。
あとちょっとのはずなのに…
エラーログ(/etc/httpd/logs/error_log)を見てみると、libruby.so.2.7 が見つからない、的なエラーが。
でも、ライブラリは入っているはずで…
念のために、ライブラリを入れるコマンドを打ってみても、最新版がすでに入ってます、と言われました。
こちらのサイトさんSCLを利用してCentOS7にRuby 2.5をインストール #Ruby - Qiita
によると、共有ライブラリが認識されていない、という状況のよう。
なので以下のコマンドを打ちます。
Rubyのバージョンによって数字が変わるので注意が必要です。
自分もはまりました…
# echo '/opt/rh/rh-ruby27/root/usr/lib64' > /etc/ld.so.conf.d/rh-ruby.conf
# ldconfig
改めて、Redmineのサイトにアクセスすると、ようやく表示されました!
これでRedmineの構築は完了です。
あとは、Redmine上で好きなようにいじっていくだけです。