有馬総一郎のブログ

(彼氏の事情)

2024年06月16日 09:42:12 JST - 2 minute read - Linux

Nextcloudを28.0.1から28.0.6にバージョンアップしたら「`.mjs` ファイルを提供していません。」「メンテナンスウィンドウの開始時間が設定されていません。」と警告されたので解決する

Nextcloudを28.0.1から28.0.6にバージョンアップしたら、以下のセキュリティ&セットアップ警告が表示されたので、解決した。

Netcloud28.0.6

.mjs ファイルを提供していません。

あなたのウェブサーバーは、JavaScript のMIMEタイプを使用して .mjs ファイルを提供していません。これにより、一部のアプリがブラウザーで JavaScript ファイルを実行できなくなります。ウェブサーバーを設定して、.mjs ファイルを text/javascript または application/javascript のMIMEタイプで提供するようにしてください。

JavaScriptのES6の拡張子.mjsのモジュールファイルをNginxで送る方法 #nginx - Qiita

まさにジャストで、この警告に対応する記事があったので、このとおりに対応していく。

sudo cp /etc/nginx/mime.types /etc/nginx/conf.d/

/etc/nginx/conf.d/mime.types

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    image/gif                                        gif;
    image/jpeg                                       jpeg jpg;
-    application/javascript                           js;
+    application/javascript                           js mjs;

/etc/nginx/sites-available/server

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www;
 
    server_name server;
+    include /etc/nginx/conf.d/mime.types;

解決はできたが、正直、.mjsという拡張子を初めて知った。

拡張子がmjsとjsのファイルの違いについて #JavaScript - Qiita

Nodeのバージョン18以上のLambdaでは、デフォルトファイルの拡張子がmjsに変更されています。

とりあえず、上のことぐらいは頭に入れておく。

メンテナンスウィンドウの開始時間が設定されていません。

サーバーにはメンテナンスウィンドウの開始時間が設定されていません。これは、リソースを多く使用する日常のバックグラウンドジョブが、メインの利用時間中にも実行されることを意味します。利用者がこれらの重いタスクによる負荷の影響を受けにくくするために、低い利用時間に設定することをおすすめします。 詳細については、ドキュメント↗を参照してください。

正直、余計なお世話だと思ったが、公式ドキュメントを読んで対応した。

Background jobs — Nextcloud latest Administration Manual latest documentation

/var/www/nextcloud/config/config.php

  'maintenance' => false,
+  'maintenance_window_start' => 1,
  'theme' => '',
  'loglevel' => 1,

A value of 1 e.g. will only run these background jobs between 01:00am UTC and 05:00am UTC:
たとえば、値を 1 にすると、これらのバックグラウンド ジョブは UTC 午前 1 時から UTC 午前 5 時までの間にのみ実行されます。

とはいえ、UTCって…日本時間午前10時から午後2時まで実行されるってこと。本当にUTCなのか確認はしてない。警告は消えた。