Denen blog

株式会社電縁の社員によるブログです。

Bitnami Redmine をアップデートしてみた

f:id:yasuaki-sakai:20171113165541j:plain

こんにちは、イノベーションオフィスの吉田です。

週末は子どもからもらった胃腸炎で死にかけていた今日この頃ですが、皆様いかがおすごしでしょうか?

 

さて、今回は社内で使用しているRedmineのバージョンが古くなっていたので3.1.2から3.4.1にアップデートをしたお話をしたいと思います。

 

始まり

私を含む社内の何名かでRedmineを使用しているのですが、気付いたらインストールされているバージョンのサポートが切れていました。

そこでアップデートをしようと思ったのですが、誰がセットアップしたかすら怪しい状態からだったので調査から始めてみました。

なお、サーバにはCentOS 6.7が入っており、rootになれる状態です。

 

調査

まずはどうやって公開されているか ps コマンドを打ってみるとそれらしきプロセスが出てきました。

/opt/redmine-3.1.2-0/apache2/bin/httpd.bin -f /opt/redmine-3.1.2-0/apache2/conf/httpd.conf

上記のプロセスが複数起動しているようでした。

/opt 以下に Redmine がインストールされており、そこに入っている Apache が動作しているんですね。

そしてネットで調べてみると、これはBitnamiを利用しているということがわかりました。

 

Bitnami Redmineとは

ご存知の方もいらっしゃると思いますが、BitnamiとはApachePHPMySQLなどの設定も全て込みで構築出来る便利なアプリケーションの事です。

WordPressRedmineTracなんかを各ミドルウェアのインストールや設定をすることなく構築出来るということです。

ちなみにBitnamiのホームページはこちらになります。

bitnami.com

 

アップデートの準備

さて、どう構築されたかがわかってきました。

しかもディレクトリ名から察するに新しいバージョンを別ディレクトリにインストールしなおして起動すれば良さそうです。

それではアップデートの為の準備を行いましょう。

競合は起きなさそうですが、念のためディレクトリをバックアップします。

cp -r /opt/redmine-3.1.2-0 /opt/redmine-3.1.2-0_backup

そしてデータベースもバックアップします。

/opt/redmine-3.1.2-0/mysql/bin/mysqldump --default-character-set=utf8 -u root -p bitnami_redmine > /tmp/bitnami_redmine.dump

MySQL系のコマンドのパスも通っていないので、フルパスで指定して利用します。

なお、データベースへの接続情報は既存のRedmineの設定ファイルを参照しました。

less /opt/redmine-3.1.2-0/apps/redmine/htdocs/config/database.yml

これで準備は完了です。

 

アップデート

では、アップデート作業を開始しましょう。

まずは既存のRedmineを停止します。

/opt/redmine-3.1.2-0/ctlscript.sh status

続いて以下サイトよりインストーラをダウンロードしてきます。

Install Redmine, Download Redmine

wget https://bitnami.com/redirect/to/164047/bitnami-redmine-3.4.3-1-linux-x64-installer.run

ダウンロードしてきたら実行権限を与えて実行します。

chmod +x /hogehoge/bitnami-redmine-3.3.2-2-linux-x64-installer.run
/hogehoge/bitnami-redmine-3.4.3-1-linux-x64-installer.run

幾つか入力・選択が必要ですが、以下のようにしました。

  • 言語選択:日本語
  • インストールフォルダ:/opt/redmine-3.4.3-1
  • 管理者アカウント:新規(前環境と同じものが理想だが不明だったので…)
  • SMTP設定:過去の設定を参照( /opt/redmine-3.1.2-0/apps/redmine/htdocs/config/configuration.yml )

インストールが完了したら既にアクセス出来るようになっているはずです。

redmine のURL(http://hogelocal/redmine 等)にアクセスしてみてください。

 

データ移行

Redmine そのもののアップデートは完了しましたが、これでは新規インストールになってしまいますので、データを移行していきましょう。

まずはデータベースを作成しなおします。

mysql> drop database bitnami_redmine;
mysql> create database bitnami_redmine;
mysql> grant all privileges on bitnami_redmine.* to 'bitnami'@'localhost' identified by '********';

続いて、バックアップしておいたデータをリストアします。

/opt/redmine-3.4.3-1/mysql/bin/mysql -u root -p bitnami_redmine < /tmp/bitnami_redmine.dump

root ユーザのパスワードはインストール時に指定した管理者のパスワードと同じです。

続いてテーマのコピーを行います。

cp -pr /opt/redmine-3.1.2-0/apps/redmine/htdocs/public/themes/* /opt/redmine-3.4.3-1/apps/redmine/htdocs/public/themes/

ここでは一括でコピーしていますが、既に有るテーマに関しては上書きしないほうがいいのでご注意ください。

更に続いて添付ファイルのコピーを行います。

cp -pr /opt/redmine-3.1.2-0/apps/redmine/htdocs/files/* /opt/redmine-3.4.3-1/apps/redmine/htdocs/files/

更に更に続いてプラグインのコピーを行います。

cp -pr /opt/redmine-3.1.2-0/apps/redmine/htdocs/plugins/* /opt/redmine-3.4.3-1/apps/redmine/htdocs/plugins/

プラグインに関してはインストールが必要なので以下の手順で行っていきます。

/opt/redmine-3.4.3-1/use_redmine
bash-4.1# cd /opt/redmine-3.4.3-1/apps/redmine/htdocs/
bash-4.1# bundle install --no-deployment
bash-4.1# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
bash-4.1# bundle exec rake db:migrate RAILS_ENV=production
bash-4.1# exit

ここまで来たら後はApacheを再起動するだけです。

/opt/redmine-3.4.3-1/ctlscript.sh restart apache

いかがでしょうか?

以前と同じデータにアクセス出来たでしょうか?

 

落とし穴

実は私の場合はこれだけではダメでした。

というのもHTTPSを必須にしたうえでLet's Encryptの証明書を使用していたために設定ファイルの変更が必要でした。

※Let's Encryptに関しては以下の記事をご覧下さい。

denen.hatenablog.com

というわけでちゃっちゃっと以下のファイルを変更しましょう。

/opt/redmine-3.4.3-1/apache2/conf/bitnami/bitnami.conf

これで再度Apacheを起動しなおせば設定完了です!

 

最後に

社内向けのツールであっても管理情報はきちんと残さないとダメですよね…

でも今回はBitnamiだったおかげで助かりました。

インストールだけでなくアップデートも楽なのは嬉しいですね!

今度はRedmineプラグインのお話しでも出来ればと思います。

それでは。

 

書いた人:イノベーションオフィス 室長 吉田

f:id:yasuaki-sakai:20170405150919p:plain