WebサーバーにインストールしたRoundcubeのアップデート方法

昨年の9月頃、勤め先でWebサーバーの移行を実施しまして、メールソフトはWebサーバー上にインストールしたRoundcubeを使用することにしました。

ひとまず運用はうまくいっていますが、アップデートのことも気にしないとな~と考えていました。

なんとなく調べてみると、昨年末にそこそこ大きなセキュリティリスクの情報がありました。

【セキュリティ ニュース】ウェブメールクライアント「Roundcube」に深刻な脆弱性 - アップデートを強く推奨(1ページ目 / 全1ページ):Security NEXT
オープンソースのウェブメールクライアント「Roundcube」に深刻な脆弱性が明らかとなった。11月にリリースされたアップデートで修正されている。:Security NEXT

そういうわけで最新バージョンにアップデートしないといけないのですが、手順を間違えてデータをすっ飛ばしたら最悪なので、ちゃんと手順を整理してリハーサルをしておきたいところ。

このブログを運営しているWebサーバーにもRoundcubeを入れて使っていますので、こいつを実験台にしてRoundcubeのアップデートにチャレンジしてみました。

結論からいうと、時間は多少かかったものの簡単でした。

スポンサーリンク

Roundcubeのアップデート手順

Roundcubeのアップデートをするには、元のRoundcubeのファイルを削除して新しいバージョンのファイルに入れ替える必要があります。

データをロストしないよう注意しないといけないのですが、そもそもメールのデータは専用のメールサーバーに、アドレス帳や諸設定はMySQLのデータベースに保存されており、Roundcubeのファイルを全部消してしまってもこれらは残ります。

旧環境から引き継がないといけないのは設定ファイル (config.php.ini)と、あとから自分で追加したプラグインです。例えば、僕の場合はcontextmenuとfiltersというプラグインを入れているので、これらは入れ直す必要があります。

新しいバージョンのRoundcubeをダウンロード

Roundcubeにログイン後、メニューの「このプログラムについて」をクリックするとバージョン情報が確認できます。

「Roundcube Webmail 1.4.11」とあり、これが現在のバージョンです。

そして公式のダウンロードページへ行き、最新のバージョンを確認します。

Roundcube Webmail Downloads
Free and open source webmail software for the masses, written in PHP

「Stable version – 1.5.2」とあり、現在よりも新しいバージョンが出ていることがわかりました。

Complete版をダウンロードし、ファイルを解凍しておきます。

バックアップを取る

FTPソフトでサーバーへアクセスし、現在稼働中のRoundcubeファイルをダウンロードしてバックアップを取ります。

ファイルの数がたくさんあるのでダウンロードが完了するまで結構時間がかかります。

このバックアップは旧環境に戻せるように備える他、設定ファイルや手動で入れたプラグインファイルをアップデート後に移す際に使います。

Roundcubeファイルを削除し、新しいバージョンのファイルをアップロード

バックアップが取れたらサーバーにあるRoundcubeファイルをすべて削除します。

削除が完了した時点で当然ながらRoundcubeが使用できなくなります。

そしてダウンロードして解凍しておいた新しいバージョンのRoundcubeファイルを同じ場所にアップロードします。

このアップロードがこれまた時間がかかります。メンテナンス時間の90%近くはこの時間です。

設定ファイルとプラグインファイルを移す

アップロードが完了後、「config」フォルダ内には「config.inc.php」ファイルが存在しません。この状態でアクセスしてもエラーで入れません。

旧ファイルの「config.inc.php」を「config」フォルダ内にコピーすれば旧環境の設定が引き継げます。

引き継げましたら設定は不要なので「installer/index.php」を削除しておきましょう。

「config.inc.php」が存在していない状態で、「installer/index.php」にアクセスすると初期設定を行うことができます。「config.inc.php」をバックアップしておくのを忘れた場合に使えます。方法は下記のリンクにて紹介しています。

プラグインファイルを戻す

Roundcubeに最初から入っているプラグインはそのまま使えますが、手動で入れたプラグインについては旧環境のファイルから移す必要があります。

僕は「contextmenu」と「filters」を手動で入れていたのでファイルを戻します。

プラグインの設定は「config.inc.php」に記録されているので、プラグインファイルが戻された時点で動作するようになります。

バージョンの確認

ログインしてバージョンの確認をします。上がってますね。

受信メールやアドレス帳もアップデート前と変化がないことを確認して作業完了です。

コメント

コメントする前にお読みください

プログラミングに関する質問について、詳細なコードはお答えしませんのでご了承ください。
また、迷惑コメント防止のために初回のコメント投稿は承認制です。投稿が反映されるまで少し時間がかかります。