Nextcloudでログインしてもリダイレクトされているかのように同じログイン画面が表示される現象を解決する
nextcloudでログインができず、ログイン画面のループに陥った。
ブラウザーのdevを確認したところsession heartbeat polling startedの文字が確認できた。
CDN等のキャッシュが怪しかったがサーバーログを確認したところphpのセッションフォルダーが原因だった。
サーバーを再起動させたことろこnextcloudにログインができず、ログを確認した。 nextcloudのログは、nextcloudのdataフォルダにnextcloud.logがある。その一部で次のメッセージが確認できた。
"message":"session_start(): Failed to read session data: files (path: /var/lib/php/session) at
どうやら、phpのsessionフォルダにアクセスできないという事らしい。
該当のフォルダを確認すると確かにsessionフォルダーのオーナーとグループがapacheになっていた。
とりあえず応急処置として、セッションフォルダーのオーナーをnginxに修正した。
chown nginx:nginx session/ -R
phpのwww.confを修正するとデフォルトのapacheからnginxに修正できるはず。 www.confを確認してみたが、apacheからnginx設定していた。原因が分からないが、~~もしかしてanaondaを入れてしまって他の設定ファイルを読んでいると推測する。~~ pythonは関係ないはず。 根本的な解決はしてないが、再起動時この設定を変えればいいのでとりあえず放置しておく。
phpのwww.conf設定はnginxになっているが、なぜphpのsessionフォルダーがapacheになっているのかよくわからない。
nextcloudログイン画面ループは何度も遭遇しているので、備忘録として残しておく。