
レンタルサーバでNextCloudを動かしたときの追加設定の記録
インストールすると管理画面のダッシュボードに表示されるエラーと警告のうち、消すことができたものをメモしておきます。
バージョンはNextcloud Hub 9 (30.0.2)。
出ていた警告の処理
Strict-Transport-Security “HTTP ヘッダーの秒数が少なくとも 15552000” に設定されていません。
nextcloud直下の .htaccsess に追記
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
<IfModule mod_setenvif.c>
データベースにいくつかのインデックスがありません。
SSH接続でサーバに接続して、コマンドラインから以下を入力。
$ php occ db:add-missing-indices
今まで使ってきたシステムの場合、DBをメンテンスしておくと良いかも。
$ php occ maintenance:repair
Web サーバーは `.well-known` URL を解決するように適切に設定されていません。
サブドメイン直下の.htaccessに以下を追加。
※サーバによっては効かない場合もあるので、諦めることも大事。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^.well-known/carddav /cloud00/remote.php/dav [R=301,L]
RewriteRule ^.well-known/caldav /cloud00/remote.php/dav [R=301,L]
RewriteRule ^.well-known/webfinger /cloud00/index.php/.well-known/webfinger [R=301,L]
RewriteRule ^.well-known/nodeinfo /cloud00/index.php/.well-known/nodeinfo [R=301,L]
</IfModule>
バックグラウンド処理について
最後のバックグラウンドジョブの実行は … でした。何かがおかしいようです。
色々様々な原因が絡んでエラーが解消しない場合があります。
ウチのサーバも同様で、原因はWebPアニメでした。
※なおPHPのバグらしいので、該当ファイルを消す以外方法はありません。
一時的にPHP Memory Limitを上げてあげることで解消する場合もありますが、エラーログを見て個別に対応するしかありません。
どれを設定しておけばよいか?
基本的にはcronに設定しておくのが良いです。

0 */2 * * * /usr/local/php -d memory_limit=1G -d apc.enable_cli=1 /home/nextcloud/cron.php
うちの場合はサーバのcornジョブに上記を参考に2時間ごとにコマンドを走ってもらうように仕込んでおきました。(そこまで頻度が高くないので)
Memory Limitを一時的に上げておかないと失敗しましたので、そのオプションと -d apc.enable_cli=1 オプションでAPCuキャッシュをCLIで有効にする設定を入れてあります。(いらないサーバもあると思う)
config.phpへの追記
/home/nextcloud/config/config.php (パスは各自で変わります)に以下を追記しました。
'session_lifetime' => 86400,
'session_keepalive' => true,
'maintenance_window_start' => 1,
'trashbin_retention_obligation' => 'auto,30',
session_lifetime => 86400(セッションの有効期間を設定)
ユーザーがログインしてから24時間後にセッションが自動的に切れるようになります。
session_keepalive => true(セッションの有効期間を延長するかどうか)
ユーザーがアクティブな場合、セッションの有効期間が自動的に延長されます。
maintenance_window_start => 1(メンテナンスウィンドウの開始時間)
毎日午前1時にメンテナンスウィンドウが開始されます。
この時間帯にメンテナンス作業を行うことで、ユーザーへの影響を最小限に抑えることができます。
trashbin_retention_obligation => ‘auto,30’(ゴミ箱に移動されたファイルの保持期間)
ゴミ箱に移動されたファイルは最大30日間保持され、その後自動的に削除されます。
※ゴミ箱のファイルは自動的に削除されないので、この設定はおすすめ。
とりあえずこれだけの設定で警告とエラーはほぼ消えました。
あとはレンタルサーバでは同仕様もない警告だけ。