パソコンオタクになりたい

難しいことは抜きにしてソフトからハードまでパソコンを楽しんでいます。Linuxが好きなのでLinuxの記事多めです。もっとデスクトップとしてのLinuxが普及すればいいのになと思っています。

CentOS 7にRedmineを構築したらめっちゃ苦戦した

仕事でCentOSRedmineを使うかも、という話があったので、予習として自分でも構築してみたら、めちゃくちゃ苦戦しました。

Linux初心者だし、RubyRedmineについては触ったこともない状態だったので、当然と言えば当然ですが…

だいぶ忘れてきていますが、思い出せる限りメモを残します。

ちなみに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上で好きなようにいじっていくだけです。