Raspberry PiにRedmine 3.4をインストールした
業務で不自由なRedmine(管理者権限なし)を使用するようになったので、 管理者のできることできないこと把握しとくか、という気持ちで立ててみた。
半日くらいで終わるかと思ったら丸2日ほどかかってしまった。。(Rubyまわりの知識なさすぎて苦戦)
環境
ソフトウェア | バージョン |
---|---|
HW | Raspberry Pi 2 Model B |
OS | Raspbian Stretch 4.19.34-v7 |
Redmine | 3.4 |
PostgreSQL | 9.6+181+deb9u |
Apache | 2.4.25-3+deb9 |
Ruby | 2.4.1 |
bundler | 1.17.1 |
手順
基本的に Redmine.JPの手順 を踏襲。 記事の手順そのままの部分はまるっと省略する。
主な変更したところ
- fonts-takao-pgothic が無かったので fonts-takao-gothic に変更
- Rubyのインストールにrbenvを使用
OSの設定、必要なパッケージのインストール
Redmine.JPの手順のまま実行
rbenv/ruby-buildのインストール
aptでも入れられるっぽいけど rbenvリポジトリの手順 に従ってgit cloneして入れてみた。
・・・と思ったら、今回のケースでは別ユーザでruby/bundler実行する必要があるので System wideにインストールする必要があった。 こちらの記事を参考にした。
0. rbenvを使用するグループの追加
$ sudo usermod -aG staff USERNAME
必要なユーザ分だけくりかえし。
1. rbenvをcloneする
$ cd /usr/local
$ sudo git clone git://github.com/rbenv/rbenv.git rbenv
権限変更
$ sudo chgrp -R staff rbenv
$ sudo chmod -R g+rwxXs rbenv
ここでターミナル開きなおして反映。 コンパイルして高速化(失敗しても気にするな、と書いてあるけど成功した)
$ sudo cd /usr/local/rbenv && src/configure && make -C src
2. rbenv/binにパス通す
/etc/profileに下記を追記
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
3. rbenvの初期化
/etc/profileに下記を追記
eval "$(rbenv init -)"
4. ruby-buildのインストール
ruby-buildリポジトリの手順参照。 rbenvのpluginとしてインストールする
$ mkdir /usr/local/rbenv/plugins
$ git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plugins/ruby-build
5. rbenv-default-gemsのインストール
rbenvでRubyのインストール時に毎回デフォルトのgemを入れてくれる。
$ git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems
/usr/local/rbenv/default-gems に必要なgemをリストする。とりあえずbundlerだけ。
6. sudoで実行できるようにパスを通す
$ sudo visudo
secure_pathに/usr/local/rbenv/shims:/usr/local/rbenv/binを追加する
Rubyのインストール
# list all available versions:
$ rbenv install -l
# install a Ruby version:
$ rbenv install 2.4.1
Redmine JPの記事と同じ2.4.1にしてみた。 ここで40分くらいかかるので心穏やかに待つ。 前述のデフォルト設定したgemも一緒に入る。
使用するrubyバージョンの変更
$ rbenv global 2.4.1
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [armv7l-linux-eabihf]
bundlerのインストール
↑で最新版のbundlerがインストールされているものの、 Redmineのbundle installしようとすると「お前のbundlerは新しすぎるんじゃ」と言われてしまった。。
こちらの記事を参考に Gemfileの指定にあうバージョンを入れなおした。
$ gem search ^bundler$ --all
$ gem install bundler -v 1.17.3
バージョンを指定して実行する(Redmineのbundle install時に置き換える)
$ bundle _1.17.3_ install
PostgreSQLの設定
Redmine.JPの手順のまま実行
Redmineのインストール
Redmine.JPの手順のまま実行。bundlerはバージョンを指定する。
bundle installは結構時間かかる。
Redmineの初期設定と初期データ登録
Redmine.JPの手順のまま実行。bundlerはバージョンを指定しなくてOK。
Passengerのインストール
Redmine.JPの手順のまま実行。 passenger-install-apache2-module はかなり時間かかる(数十分)。
Apacheの設定
Redmine.JPの手順のまま実行。
設定の反映は
$ sudo service apache2 reload
ではなく
$ sudo systemctl reload apache2
とした。
Apacheの設定
Redmine.JPの手順のまま実行。 パターン2: サブディレクトリでRedmineを実行 の方で。 redmine.conf の場所の記載が間違っている(古い)と思う。
接続確認
http://(raspiのアドレス)/redmine にアクセス → トップページが開いた 🎉✨👍