以前から気になっていたNextcloudに関するエックスサーバー側のエラーログへの対処方法について忘備録として残すことにしました。
Nextcloudを起動したり更新を行うたびに、エックスサーバーのエラーログに警告が増えていくのが気になっていました。ログの内容を確認したところ、原因はファイルへのアクセス権限であることが判明したのですが、Nextcloud自体は問題なく動作していたため、長らくそのまま放置していました。
問題は、権限を変更してもNextcloudを再度立ち上げるとNextcloudのセキュリティー機能によって権限が元に戻ってしまうことでした。いろいろと試していたのですが、やっと解決方法を見つけることが出来たので対処を行うことにしました。
同じエラー警告で困っている方の参考になれば幸いです。
エックスサーバーでのエラーログ
エックスサーバーのエラーログに毎回Nextcloudを立ち上げたりすると下記警告が書き出されています。
[Fri Dec 20 06:23:29.171831 2024] [core:crit] [pid 1524275:tid 140510185977600] (13)Permission denied: [client 162.43.94.155:45052] AH00529: /home/XXXXXXXXXX/XXXXX.com/public_html/cloud/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/home/XXXXXXXXXX/XXXXX.com/public_html/cloud/data/' is executable
内容は、アクセス権限に問題がある場合に発生するもののようです。
実際、いろいろ調べるとDataフォルダの権限を”770”から”755”に変更すれば対処できるとのことでした。
ただ、何度変更を行ってもNextcloud側で権限を自動的に”770”に戻してしまいます。
Nextcloud側のセキュリティー機能でアクセス制限管理を行うため戻してしまうようです。
対処方法はDataフォルダーを移動すること
NextcloudがDataフォルダの権限を自動的に変更しないようにする設定は公式にはないそうです。
ただ、Nextcloudの公式推奨では、Dataフォルダをウェブサーバーのルートディレクトリ外に移動し、直接アクセスされないようにすることだそうです。
もともとNextcloudのセキュリティー問題で起因している警告のようなので試しにDataフォルダを移動してみることにしました。
たぶんこれが一番簡単な対処方法かもしれません。
作業は、Dataフォルダの移行とConfig.phpの編集となります。
Dataフォルダ移行
今回、Dataフォルダ移行についてはツールを使わずにエックスサーバー側のファイル管理機能を使って行うことにしました。
ただ、ファイル管理機能にはファイルを移動するオプションがないためコピー機能を使って進めることにします。
Nextcloudですが、エックスサーバーの初期ドメインに直接インストールしているのでNextcloudのルートディレクトリはpublic_htmlとなっています。
今回は、Dataフォルダを初期ドメイン直下にコピーすることにしました。
コピーが出来たら、コピーしたDataフォルダの名前を分かりやすくするために”Nextcloud-data”に変更します。
コピー後、元のDataフォルダは”Data_backup”に名前を変更し、Nextcloudに問題がないことを確認後、削除することにしました。
※ コピーしたフォルダーのパーミッション(アクセス権限)は変更する必要はないです。
変更してもNextcoud側で”770”に戻してしまいます。
Configファイルの編集
Nextcloudを立ち上げる前に、Configファイルの編集を行います。
これも、エックスサーバーのファイル管理機能から行います。
Configフォルダにある”Config.php”を編集することになります。
編集する箇所は1か所、
‘datadirectory’ => ‘/home/xxxxxxx/xxxxxxx.xsrv.jp/public_html/nextcloud/data’,
となっているところをコピーしたNextcloud_dataのアドレスに変更するだけです。
‘datadirectory’ => ‘/home/xxxxxxx/xxxxxxx.xsrv.jp/Nextcloud_data‘,
これでDataフォルダの移行作業は終了です。
nextcloudで問題なくファイル操作ができるか確認してください。
問題がなければ、エックスサーバーのエラーログにも警告が出なくなっているはずです。
Nextcloudのエラーログの削除
ついでに過去の物を含めエラーログがかなり多かったので、エラーログを削除することにしました。
削除方法はNextcoudのDataフォルダにある”nextcloud.log”を削除するだけです。
また、エラーログが多い場合にはファイルが分割されていいるためnextcloud.logに番号が振られている場合もあります。
さいごに
長い間、気になっていたエックスサーバー側のエラーログにNextcloud関連の警告が表示されなくなりました。
あまりレンタルサーバー側のエラーログは見ることはないと思いますが、一度観だすと警告があるときになりますよね。
Nextcloudはアップデートするたびにいろいろ出てきますね。
同じエラー警告が気になっている方の少しでも参考になればと思います。
コメント