職場で使っている Nextcloud を 25.0.6 へ更新したら、なぜか何時の間にかきちんと動かなくなっている
ファイルのアップロードがエラーするようになった…
アップロードできない、Nextcloud なんて…
明細の配信に使っているので、原因が不明のままだと結構ヤバイ!
等と焦ってしまいましたが、
運良く、今は長期の連休中…
発生したエラーは、こんな感じです
[webdav] エラー: OCA\DAV\Connector\Sabre\Exception\Forbidden: Access denied to application/octet-stream in Folder XXXXXXXX/20230428.sql.ocTransferId1311574725.part at << closure >>
…
[no app in context] エラー: OCP\Files\ForbiddenException: Access denied to application/octet-stream in Folder XXXXXXXX/20230428.sql.ocTransferId1311574725.part at << closure >>
0. /home/XXXXXXXX/www/nc/apps/files_staticmimecontrol/lib/StorageWrapper.php line 206
OCA\FilesStaticmimecontrol\StorageWrapper->checkFileAccess()
1. /home/XXXXXXXX/www/nc/apps/dav/lib/Connector/Sabre/File.php line 248
OCA\FilesStaticmimecontrol\StorageWrapper->writeStream()
…
Access denied となっています
アップロードはできませんが、ダウンロードや新規作成などは問題なくできます
SQL ファイルのアップロードに失敗していますが、ZIP や PDF 、 TXT 等もエラーしますので拡張子ではないようです
curl で REST 経由で動かしても同様…
最初に、
さくらインターネットさんのレンタルサーバーで動かしているものがおかしくなった
一緒に運営している WordPress を構築したのが初期の頃で、テーマの親子管理ができない頃に作成したカスタムしたテーマだった
その頃から運用していて、PHP 8 では動かず PHP 7 でしか動かなかったので、それが不味いのか?と思って、最初に WordPress のテーマを再作成した
元にしたテーマの子テーマとして再作成したが、結局、一部の機能が失われてしまった…
まぁ、放置したまま数年経ち、作り替える良い機会だったのでそれなりに良かった…
GW がなくなったけど良かった…ことにする..
次に、
PHP のバージョンか?と考え、PHP 8 へ変更する準備を整えたが、さくらインターネットさんのレンタルサーバーで動かしている、他の Nextcloud は 25.XX も 26.XX も問題ない…
なぜだ…
occ files:scan
を実行してみる
バージョンアップなどして、アクセスできなくなった等は、ファイルの再スキャンを行うと整合性を取ってくれて動くようになるらしい
ついでに、MySQL の oc_file_locks をクリアーしてみる
これも、PHP の memory_limit が 512MB を下回っていると警告してくる
が、php -i などを実行してみるが、memory_limit は 512MB になっている…
焦っていると、余計なことをしそうになるが、よく考えると CGI モードで動いているのか…
と落ち着く…
Nextcloud のシステム表示では 512MB になっているし、PHP も 8.XX になっている…
問題ない…
結論
結局の所は、アプリの Files Staticmimecontrol の挙動がおかしかったようです
これを無効化すると正常に動いたようです
エラーメッセージの no app in context を確認してみれば判ると思いますが、
0. /home/XXXXXXXX/www/nc/apps/files_staticmimecontrol/lib/StorageWrapper.php line 206
OCA\FilesStaticmimecontrol\StorageWrapper->checkFileAccess()
となっています
多分、これだろうなぁ…
と思い 無効化してみたら 正常な挙動になった様に見える…
Files Staticmimecontrol を使っている人がいなければ..
もちろん、Files Staticmimecontrol は 25.0.5 では問題なかったように思う…
教訓:
あせらず、エラーメッセージを確認しよう!
何度か確認したんだけどなぁ…
焦ってると、肝心な所を見逃してしまう…
教訓が生かせないなぁ..