自宅サーバで運用しているownCloudを9.Xから10.Xに更新しました。ownCloudの更新は毎度毎度うまくいかずに苦労するので、あんまり頻繁には更新したくないのですが…クライアントのソフトから「サーバが古くて同期してやれん」的な怒られ方をしたので、仕方なく更新です。。記録に残して次回の更新に役立てたいと思います。
環境
- ownCloud9.1.0 (更新前) → 10.0.10
- Ubuntu 16.04.5 LTS
- Apache2.4.18
- MySQL 14.14(Distrib 5.7.24)
作業
キーの追加
とりあえず、apt-get updateで更新しようとすると、”https://attic.owncloud.com/org/download/repositories/stable/Ubuntu_16.04″に対するキーが古すぎるぞ的な怒られ方をするのでそれを解消します。
ownCloud公式サイトのインストール方法の項目にある方法で自分の環境に合わせたキーの追加を行います。自分の場合はUbuntuなので、上の項目でUbuntuを選択してから自分のバージョンである16.04のキーの追加操作を実行します。
wget -nv https://download.owncloud.org/download/repositories/production/Ubuntu_16.04/Release.key -O Release.key apt-key add - < Release.key
キーを追加したら、apt-getでアプデ。(apt-getじゃなくて、aptでもいいのかな?でも公式とかで出てくるのはまだapt-getだからapt-getを使う。。。)
apt-get update && apt-get install owncloud-files
無事にapt-getが成功したら、ブラウザからownCloudにアクセスしてみる。
なんだか更新ボタンが表示されていればOK。
ブラウザからの更新操作
ブラウザでownCloudにアクセスすると、更新ボタン的なものが表示されている。そこで、バックアップを作成しておけだなんやら注意書きをあまり気にしないで更新ボタンをクリック。
「エラーが発生しまたした。」とんのこと。やはり簡単には更新させてくれない。。。
さて、ページをリロードすると「メンテナンスモード」的な画面で止まっている。いつまで経ってもこのメンテナンスモードを抜けることはない。。
サーバに戻って作業。。
とりあえず、ブラウザのメンテナンスモードの画面では何もできないので、メンテナンスモードを抜ける。config.phpを編集してメンテナンスモードを抜ける事ができる。
config.phpはapt-getでインストールした場合には/var/www/owncloud/config/config.php にあるはず。
config.phpを開いて
'maintenance' => true,
これを
'maintenance' => false,
にする。
パーミッションの変更
公式サイトや参照サイト(owncloudのアップデートしたら失敗したので問題になった点をメモ | えんぞーどっとねっと)によると、どうやらパーミッションが原因になっているらしい。そこで、公式サイトに公開されているパーミッション変更シェルスクリプトを利用して、パーミッションを一括で変更する。
このシェルスクリプトはapache用にかかれているため、nginxなどを利用してたり、ディレクトリ構成を変更している際には観葉に応じて上の方を変更する必要があるかもしれない。
自分はシェルスクリプトに関してはこちらを参考に、上部のみ自分のapache環境に対応した記述になおして利用させもらった。
さらに、config.phpのパーミッションを666に変更。
(上部5行のみ表示)#!/bin/bash ocpath='/var/www/owncloud' htuser='www-data' htgroup='www-data' rootuser='root'
また、config.phpのパーミッションも変更が必要らしいので、それも対応。
sudo chmod 666 config.php
そこで再びブラウザから更新ボタンを操作して…やっぱりダメ…。
参照:
- The Installation Wizard — ownCloud 10.0.10 Server Administration Manual 10.0.10 documentation (post-installation-steps-label) | https://doc.owncloud.org/server/10.0/admin_manual/installation/installation_wizard.html#post-installation-steps-label
- owncloudのアップデートしたら失敗したので問題になった点をメモ | えんぞーどっとねっと | https://enz0.net/software/owncloud_update/
CUIからのアプデ
どうにもうまくいかない理由がわからんけど…何が悪いって、エラーの原因が詳細ログを見ても全然詳細じゃなくてわからん。。そこで、どうやらCUIからアプデできるみたいな記述を発見して、CUIでアプデしてみることに。
ownCloudをインストールしているディレクトリに移動して、root権限でoccを実行。
sudo -u www-data ./occ upgrade
実行中はなんだかいろいろログが吐かれていて、まぁどこかで止まっちゃったらその原因が特定できるだろうと眺めていたら…最後までうまく行ったー
めでたし!
まとめ
はたして、次回のownCloud更新の際にこのメモが役に立つのかどうなのか…。