ロリポップ(エコノミー)でNextcloudインストールしたがコラボタグが「タグの読込に失敗しました」になってしまう
解決したいこと
ロリポップ(エコノミー)でNextcloudの「タグの読込に失敗しました」エラーを解決したい。
発生している問題・エラー
※この時にブラウザの開発コンソールに出力されるログ
[INFO] core: Clipboard API not available, using fallback /remote.php/dav/systemtags/:1 Failed to load resource: the server responded with a status of 404 (Not Found) index.mjs:54 [ERROR] systemtags: タグの読込に失敗しました Object app : "systemtags" error : Error: Invalid response: 404 Not Found at K (http://[ロリポップ契約FQDN]/dist/core-common.js?v=10c13de2-0:1:2978705) at J (http://[ロリポップ契約FQDN]/dist/core-common.js?v=10c13de2-0:1:2978888) at http://[ロリポップ契約FQDN]/dist/core-common.js?v=10c13de2-0:1:2497714 at async http://[ロリポップ契約FQDN]/dist/systemtags-admin.js?v=10c13de2-0:1:10854 at async o.created (http://[ロリポップ契約FQDN]/dist/systemtags-admin.js?v=10c13de2-0:1:10820) level : 2 uid : "admin" [[Prototype]] : Object
他「セキュリティ&セットアップ警告」に上がっているもの(クリックで展開)
[×] AppAPIデプロイデーモン
AppAPIデフォルトのデプロイデーモンが設定されていません。外部アプリ(Ex-Apps)をインストールするための設定で、デフォルトのデプロイデーモンを登録してください。
[×] Forwarded for headers
リバースプロキシヘッダの設定が正しくありません。これはセキュリティ上の問題で、攻撃者が自分のIPアドレスをNextcloudに見えるように偽装することができます。
[×] HTTPSアクセスとURL
安全ではないHTTP経由でのサイトへのアクセス。代わりにHTTPSを要求するようにサーバーを設定することを強くお勧めします。そうしないと「クリップボードにコピー」や「service workers」のような重要なウェブ機能が動作しません!
[×] PHPのメモリー制限
PHPのメモリ制限が推奨値の512 MBを下回っています。アップデータを含む一部の機能やアプリが正しく動作しない場合があります。
[×] PHP opcache
PHP OPcacheモジュールが正しく設定されていません。 OPcache が無効になっています。パフォーマンスを向上させるために、あなたのPHP設定に "opcache.enable=1" を適用することをおすすめします。.
[!] ログ中のエラー
ログには 2025年11月28日 9:06:15 以降、エラーが 142 件あります。
[!] メンテナンスウィンドウ開始
サーバーにはメンテナンスウィンドウの開始時間が設定されていません。これは、リソースを多く使用する日常のバックグラウンドジョブが、メインの利用時間中にも実行されることを意味します。利用者がこれらの重いタスクによる負荷の影響を受けにくくするために、低い利用時間に設定することをおすすめします。
[!] Mimetypeの移行が可能
1つ以上のmimetypeマイグレーションが利用できます。時折、特定のファイルタイプをよりよく扱うために新しいmimetypesが追加されます。大規模なインスタンスではmimetypesの移行に時間がかかるため、アップグレード時には自動的には行われません。移行を行うには occ maintenance:repair --include-expensive コマンドを使用してください。
[!] HTTP ヘッダー
インスタンスの一部のヘッダーが正しく設定されていません - Strict-Transport-Security HTTPヘッダーが設定されていません(少なくとも 15552000 秒に設定する必要があります)。セキュリティを強化するために、HSTSを有効にすることを推奨します。
[!] データベースに存在しないインデックス
いくつかの欠落しているオプションのインデックスを検出しました。データベースのパフォーマンスを向上させるために、(Nextcloudまたはインストールされたアプリケーションによって)新しいインデックスが追加されることがあります。インデックスの追加には時間がかかり、一時的にパフォーマンスが低下することがあるため、アップグレード時には自動的には行われません。インデックスが追加されると、それらのテーブルへのクエリが速くなるはずです。インデックスを追加するには、occ db:add-missing-indices コマンドを使用してください。 インデックスが不足: "properties_name_path_user" テーブル内の "properties"
[!] データベースバージョン
SQLiteは現在、バックエンドデータベースとして使用されています。より大規模なインストールでは、別のデータベースバックエンドに切り替えることをおすすめします。特にファイル同期にデスクトップクライアントを使用する場合には、別のデータベースに移行することをおすすめします。別のデータベースに移行するには、コマンドラインツール「occ db:convert-type」を使用してください。
[!] トランザクションファイルロック
データベースがトランザクションファイルロックに使われています。パフォーマンスをあげるには、可能であればメモリーのキャッシュを設定してください。
[i] Memcache
メモリキャッシュが設定されていません。パフォーマンスを向上させるため、利用可能であればメモリキャッシュを設定してください。
[i] デフォルトの電話地域
ご使用のシステムには、デフォルトの電話地域が設定されていません。これは、プロフィール設定で国コードなしの電話番号を有効にするために必要です。国コードなしの電話番号を許可するには、"default_phone_region" を地域の ISO 3166-1 コードとともに設定ファイルに追加してください。
[i] Eメールテスト
メールサーバーの設定が未設定または未確認です。「基本設定」で設定を行ってください。その後、フォームの下にある「メールを送信」ボタンで設定を確認してください。
[i] PHPのモジュール
このインスタンスには、いくつかの推奨 PHP モジュールがありません。パフォーマンスと互換性を向上させるために、これらをインストールすることを強くお勧めします: - gmp SFTPストレージに必要で、WebAuthnのパフォーマンス向上のために推奨されます - sysvsem
環境
- ロリポップ!レンタルサーバー
- エコノミー
- Cronは使えるが、SSHは使えない。
- エコノミー
- Nextcloudバージョン
- Nextcloud Hub 25 Autumn (32.0.2)
発生までの経緯など
- さくらのレンタルサーバの「ライト」でNextcloud試用していたが、
ライトはCronが使えないので、Nextcloudオートタギングが上手く動かない。
(バックグラウンドジョブでCron以外のAjaxやWebCronを選択してもタイムアウトしてしまうのは既知の問題として知られている。)
(Qiitaスタイルズ様投稿)
Nextcloud のタグ機能
Nextcloud のオートタギング機能
- ロリポップ!レンタルサーバーの「エコノミー」はCronが使えるようで、実際NextcloudのCronも動いた。
-
(Digitalians' Alchemy様ブログ)Nextcloudが突然不調→解決した?
※こちらに記載されている「nextcloud_cron.sh」を作成しそれをロリポップのCron設定で登録する方法で実現できた。 -
(ねこの様Zenn)ロリポップ鯖をCloudflareで名前解決した
-
- いざロリポップでのNextcloud運用に移ろうかと思ったところこの不具合が発生した。
- 最初は「コラボタグ」を新規作成してから、いざ自動タグを作ろうと作ろうとすると作成したタグが選択から消えていることで不具合に気が付いた。
- 「コラボタグ」を新規作成してブラウザ画面をリロードしなければ、そのタグを選択したり削除もできるが、リロードしてしまうと「タグの読込に失敗しました」で作成したタグもリストから選択できなくなる。
- 同名のタグを再度作成するとエラーになるので、データベースには作成したタグが保存されている様子。
自分で試したこと
-
「タグの読込に失敗しました」エラーを言語を英語に切り替えた時の「Failed to load tags」で検索すると次の情報があった。
(Nextcloudコミュニティ)Can’t seem to get the .well-known links working -
.well-knownについて書かれているブログも確認できた。
(ict-yorozu. com様ブログ)
ロリポップに入れた Nextcloud のエラーとワーニングにできる限り対応してみた
Webサーバーで “/.well-known/xxx” が解決されるように正しく設定されていません。 -
これらの情報よりロリポップのドキュメントルートの
.htaccessに追記してみたが・・・解決できず。。
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
SetEnv modHeadersAvailable true
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
+ # well-knowエラー解決を図る
+ # https://help.nextcloud.com/t/cant-seem-to-get-the-well-known-links-working/212922
+ # https://weblog.ict-yorozu.com/lolipop-nextcloud-error-handling/#toc7
+ <IfModule mod_rewrite.c>
+ RewriteEngine on
+ RewriteRule ^\.well-known/host-meta ./public.php?service=host-meta [QSA,L]
+ RewriteRule ^\.well-known/host-meta\.json ./public.php?service=host-meta-json [QSA,L]
+ RewriteRule ^\.well-known/webfinger ./index.php%{REQUEST_URI} [R=301,L]
+ RewriteRule ^\.well-known/nodeinfo ./index.php%{REQUEST_URI} [R=301,L]
+ RewriteRule ^\.well-known/carddav ./remote.php/dav/ [R=301,L]
+ RewriteRule ^\.well-known/caldav ./remote.php/dav/ [R=301,L]
+ </IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
# This leads to the creation of empty files.
# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud.
# Here are more information about the issue:
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>
# Apache disabled the sending of the server-side content-length header
# in their 2.4.59 patch updated which breaks some use-cases in Nextcloud.
# Setting ap_trust_cgilike_cl allows to bring back the usual behaviour.
# See https://bz.apache.org/bugzilla/show_bug.cgi?id=68973
<IfModule mod_env.c>
SetEnv ap_trust_cgilike_cl
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####
ErrorDocument 403 //index.php/error/403
ErrorDocument 404 //index.php/error/404
- chatGPTに聞いてやってみていたが「systemtag」が有効にならないのであきらめた←今。
以上です。
0 likes

