めも
Nextcloud割と気に入ってて最近ちびちびメンテしてたのでメモ
Apacheからnginxへの移行
最初からnginxで動かしたかった物の動かなかったのでApacheで動かしてましたが再チャレンジする気が起きたのでやったらいけた
ハマりポイントはねぇなんだっけ、設定がちゃんと読めてなかったのでconf.d周り見直したらなんか行けてたきがする(要するに忘れた→phpのsession周りの権限とかはハマった、直し方は後述)
ダブってたとかだった気がする。リバースプロキシ噛ましてるのでSSL化とかはそっちに丸投げしたままなのは変わらず
Hyper-Vの仮想ストレージの拡張
例によってこのNextcloudくんはHyper-Vで動かしてるCentOS8で動いてるので一回おとした後に仮想ストレージを拡張してあげれば拡張することが出来ます。今回は120GBだったのを200GBに変更しました。もっとデカくてもいい気はしますけれどもとりあえずこれで様子見
何も考えずにext4で運用してたのでパーティション類は仮想ストレージの拡張についていけるわけもないのでfdiskで一回吹っ飛ばしてからパーティションを作り直してあげました。開始位置を間違えるとデータが消えるらしいので飛ばす前に確認しておきましょう。wコマンド打たなければ実行されないので選択するまでに見直しすればなんとかなるかな。あとはバックアップを取ろう(飛んでもローカルにも残ってて問題なかったのでしませんでしたが)
sudo fdisk /dev/sdb(例)
コマンド:p (で開始位置確認)
コマンド:d(でパーティション削除 1つしかパーティションがないとそのまま1つ目が指定される)
コマンド:n(で作成、開始位置があってるか確認して多分同じなのでそのままリターンキー)
コマンド:w(で書き込みして終了
その後は覚えてないけどresize2fsかなんかで修正した気がする
php-fpmとの通信をunixsocketにする
nginxのconfの記述をphp-fpmのconfに合わせてsocketファイルを指定すれば良いのですがsocketファイル自体の所有者がrootのままでページを開くと502になる状態になってしまった。
php-fpmのconfにある
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
(ユーザー名は各自置き換えでお願いします)
だけでは足りなくて
listen.acl_users = nginx
にしたら動きました。こっちがコメントアウトされてない限りはこっちの記述が優先されるようで( PHP5.6でphp-fpm起動時にACLのワーニングが出る場合の対応|茶トラネコ日記 )
逆にこっちだけでもいいのかもしれませんね。どっちがいいのだろう。acl_userのほうが新しいのでそっちな気がします(知らんけど)(とりあえずacl_userのみにした)
後はアプデをサボりがちなのでsudo dnf updateしておわりっておもったらなんか壊れたのでつづく
phpのアプデでsession系の保存フォルダの所有者がもどったっぽいので
sudo chown -R nginx:nginx /var/opt/remi/php73/lib/php/*
で復帰( Nginx configuration — Nextcloud 15 Administration Manual 15 documentation nginxでPHPのセッション変数が効かない時は – console.lealog(); )
どうもセッションファイル系の所有がapacheになってたのでphpとかnginxを動かしてるユーザーにapacheを所属させて(一応)解決。
php-fpm and nginx session problems – Stack Overflow
1146552 – yum update may break PHP Session Directory
おまけ(2020-11-09追記)
SELinuxはズッ友だよ♥(大体こことエラーログ見ればなんとかなる)
SELinux configuration — Nextcloud latest Administration Manual latest documentation