OwnCloud 8.1.3 から 8.2.0 へパッケージを用いたアップデートをする

スポンサーリンク

 自前のサーバーで運用中の OwnCloud が 8.2.0 になっていて、リポジトリも変わっているようだったからアップデートを行ってみた。
 8.1.3 はパッケージでインストールしているけど、どうやってアップデートするのかなと思ったけど新しいリポジトリを取り込んで yum install owncloud を行うだけだった。


 オフィシャルのリポジトリを入れる作業を行う。手順に関してはオフィシャルに記載の通り。作業は CentOS 6 上で行った。使用している PHP のバージョンによっては若干の差があるから注意が必要。
 作業前には OwnCloud のパスにあるファイルと DB のバックアップは必ず取っておく事。

 以下の作業は root で行う。

rpm --import https://download.owncloud.org/download/repositories/8.2/CentOS_6/repodata/repomd.xml.key
wget http://download.owncloud.org/download/repositories/8.2/CentOS_6/ce:8.2.repo -O /etc/yum.repos.d/ce:8.2.repo
yum clean expire-cache
yum install owncloud

 インストール中のログは次の通りに。

[root@hogehoge ]# yum install owncloud
読み込んだプラグイン:fastestmirror
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
epel/metalink                                            | 5.2 kB     00:00
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * remi: remi.check-update.co.uk
 * remi-safe: remi.check-update.co.uk
 * rpmforge: ftp.riken.jp
 * updates: ftp.riken.jp
base                                                     | 3.7 kB     00:00
ce_8.2                                                   | 1.2 kB     00:00
ce_8.2/primary                                           | 2.8 kB     00:00
ce_8.2                                                                      4/4
extras                                                   | 3.4 kB     00:00
isv_ownCloud_community                                   | 1.2 kB     00:00
remi                                                     | 2.9 kB     00:00
remi-safe                                                | 2.9 kB     00:00
rpmforge                                                 | 1.9 kB     00:00
updates                                                  | 3.4 kB     00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package owncloud.noarch 0:8.1.3-13.1 will be 更新
---> Package owncloud.noarch 0:8.2.0-2.1 will be an update
--> 依存性の処理をしています: owncloud-config-apache = 8.2.0 のパッケージ: owncloud-8.2.0-2.1.noarch
--> 依存性の処理をしています: owncloud-server = 8.2.0 のパッケージ: owncloud-8.2.0-2.1.noarch
--> トランザクションの確認を実行しています。
---> Package owncloud-config-apache.noarch 0:8.1.3-13.1 will be 更新
---> Package owncloud-config-apache.noarch 0:8.2.0-2.1 will be an update
---> Package owncloud-server.noarch 0:8.1.3-13.1 will be 更新
---> Package owncloud-server.noarch 0:8.2.0-2.1 will be an update
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 パッケージ                   アーキテクチャ
                                           バージョン        リポジトリー  容量
================================================================================
更新:
 owncloud                     noarch       8.2.0-2.1         ce_8.2        27 k
依存性関連での更新をします。:
 owncloud-config-apache       noarch       8.2.0-2.1         ce_8.2        19 k
 owncloud-server              noarch       8.2.0-2.1         ce_8.2        25 M

トランザクションの要約
================================================================================
アップグレード       3 パッケージ

総ダウンロード容量: 25 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/3): owncloud-8.2.0-2.1.noarch.rpm                     |  27 kB     00:00
(2/3): owncloud-config-apache-8.2.0-2.1.noarch.rpm       |  19 kB     00:00
(3/3): owncloud-server-8.2.0-2.1.noarch.rpm              |  25 MB     01:13
--------------------------------------------------------------------------------
合計                                            342 kB/s |  25 MB     01:14
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
owncloud-server: installing upgrade ...
owncloud-server: occ maintenance:mode --on
Maintenance mode enabled
  更新                    : owncloud-server-8.2.0-2.1.noarch                1/6
owncloud-server: Upgrade installed
Leaving server in maintenance mode. Please run occ upgrade manually.

owncloud update: Checking for running Apache
httpd を停止中: [  OK  ]
  更新                    : owncloud-config-apache-8.2.0-2.1.noarch         2/6
owncloud-config-apache: Upgrade complete
owncloud-config-apache: Reloading
httpd は停止しています
httpd を起動中: [  OK  ]
  更新                    : owncloud-8.2.0-2.1.noarch                       3/6
  整理中                  : owncloud-8.1.3-13.1.noarch                      4/6
  整理中                  : owncloud-config-apache-8.1.3-13.1.noarch        5/6
  整理中                  : owncloud-server-8.1.3-13.1.noarch               6/6
  Verifying               : owncloud-server-8.2.0-2.1.noarch                1/6
  Verifying               : owncloud-config-apache-8.2.0-2.1.noarch         2/6
  Verifying               : owncloud-8.2.0-2.1.noarch                       3/6
  Verifying               : owncloud-config-apache-8.1.3-13.1.noarch        4/6
  Verifying               : owncloud-server-8.1.3-13.1.noarch               5/6
  Verifying               : owncloud-8.1.3-13.1.noarch                      6/6

更新:
  owncloud.noarch 0:8.2.0-2.1

依存性を更新しました:
  owncloud-config-apache.noarch 0:8.2.0-2.1  owncloud-server.noarch 0:8.2.0-2.1

完了しました!

 ここで Web ブラウザより OwnCloud にアクセスすると、メンテナンスモードのままだったので config/config.php にある ‘maintenance’ => true, の所を ‘maintenance’ => false, に変更して再度 Web ブラウザより OwnCloud にアクセスした。
 すると 8.2.0 への更新を行う旨が表示されている。自動で更新されるアプリもあれば、物によっては無効化されるアプリもある。一応確認しておこう。
 画面最下部に書かれている通り、shell からインストールパスにある occ コマンドを用いて ./occ upgrade としても良い。自分はあとから気付いたからブラウザでやってしまったが問題は出なかった。
29_owncloud_820_01
 アップデート処理が終われば結果が表示される。今回は Calendar と Galleryplus が非互換により無効化されるとのこと。Galleryplus は自分で後から入れた物なので、8.2.0 では新しくなった標準の Gallery を使う事とするからそのまま無効化している。
 また、更新されても無効にされるアプリもあるので、OwnCloud 8.2.0 にログイン後は使っていたアプリを追加していこう。
29_owncloud_820_02

 8.1.3 から 8.2.0 の Changelog を見ると Gallery アプリを書き直したみたいで、それを目当てにアップグレードを行ってみた。ソートオーダーで日付順を指定できたので Galleryplus とはサヨナラ出来るけど、ソートオーダーを記憶してくれないもんだからアクセスする度に日付順をクリックしているような状況だ。

2015/10/30 追記
 アプリで Contacts といういわゆる「アドレス帳」アプリを 0.5.0 に更新しようとしたら、アップグレード作業が必要だと Web ブラウザ上で表示された。
 ここで、シェルからアップグレードを行ったらどうなるだろうかと試してみた。
 config.php の Owner と実効ユーザーが合わないとエラーを吐くので、ここは sudo -u apache で対応した。

[root@hogehoge owncloud]# sudo -u apache ./occ upgrade
ownCloud or one of the apps require upgrade - only a limited number of commands are available
Set log level to debug - current level: 'Error'
Turned on maintenance mode
Checked database schema update
Checked database schema update for apps
Updated database
Updating <contacts> ...
Updated <contacts> to 0.5.0.0
Update successful
Turned off maintenance mode
Reset log level to 'Error'

 Web ブラウザ上でやるより余計なプログラムが走らない分、occ コマンドでアップグレードした方が良いのかも知れない。注意書きにある通り、大規模サイトになるほどそれは顕著だろうし。

スポンサーリンク