owncloudのアップデートしたら失敗したので問題になった点をメモ

たまにアップデートしなくてはと思ってVPSにインストールしてあるowncloudをアップデート。

これでサーバー側のファイルは問題なく更新されたが、実際にアクセスした時にログイン画面からもアップデートを行う必要があるのでアップデートする。

が、しかしアップデート失敗。

WEBサーバーのタイムアウトでエラーが起きたのかと思い暫くまってリロードしてみるがメンテナンスモードから変わらない。

此処から先、思っていた以上に時間を取られた・・・しかし、考えてみると一定の間隔で同じような思いをしているような気がする。

メンテナンスモード解除

メンテナンスモードから戻っていないだけだと思い、メンテナンスモードを解除。

これで大丈夫かと思いきや、アップデートしなさいの画面が出て来る。

念の為もう一度同じ工程を行うも同じ結果に・・・。

シェル側からのアップデート

何が起こっているのかも分からないのでシェル側からアップデートを試みる。

注意点としては実行ユーザーはWEBサービスを実行しているユーザーになること。

私の環境ではNginxなのでnginx、Apacheであればapacheとかwww-dataとか。
(この時何か違和感を感じたが気に留めなかった)

結果としてはエラーw

やっぱりパーミッションのエラーと言われたので、ファイルの権限を確認すると見事にユーザーがapacheになっていた・・・。

サーバー側でアップデート掛けたからファイルの権限もデフォルトに戻っていた。
(この段階で先ほど感じた違和感が払拭されたw)

という事で公式に便利なスクリプト掲載されていたのでそれを実行してパーミッション関連を整える。

上記のスクリプトを適当な名前付けて実行権限付けて実行すれば適切なパーミッションに変更してくれる。

変更を加えたのは2行目~4行のファイルパス・ユーザー名・グループ名の3つ。

実行後、ちゃんと変更されているか確認してみる。

「configフォルダに書き込めません」エラー発生

これで大丈夫かと思ったら今度はconfigフォルダに書き込めませんのエラーが。

ちなみにSELinuxは切っている状態です。

特に何も間違っていそうなものは無いのだがエラーが直らない。

と思ったが、ファイル自体の書き込み権限無いだけだった・・・。

結果、config.phpのパーミッションを666にして解決。

とりとめのないまとめ

定期的にこの作業していていつも悩むことになるのでメモしておきます。

基本的にはログイン画面の指示を消化すれば問題ないですが・・・何故かハマるw

もっとこまめにアップデートしたりメンテしたりすれば良いだけなんですが・・・どうも問題が起こらないとアップデートする気になれないです。

下手にアップデートして動かなくなる方が困るし・・・w