音声通話およびビデオ通話用のMatrix Coturn TURN/STUNサーバーの設定方法
CoturnをSynapseと連携させて、Matrix WebRTC通話を設定します。共有認証情報、NAT、ファイアウォールポート、TLSオプションを設定し、従来のTURNとMatrixRTCおよびLiveKitを区別します。
Nextcloudのデータフォルダをより容量の大きい外付けハードドライブに移動するのは、単純なコピー&編集作業のように思えるかもしれません。しかし、そうではありません。重要なのは、Nextcloudがローカルストレージをディスク上の絶対パスで識別している点です。このパスが不用意に変更されると、サーバーはファイルを別のストレージ場所として認識してしまい、重複したファイルレコードや孤立したファイルレコード、破損したメタデータ、共有関係の喪失などが発生する可能性があります。
既存のインストール環境において最も安全かつ実用的なアプローチは、Nextcloud が認識するデータディレクトリパスはそのままに、実際のデータを外部ディスクに移動することです。Nextcloud の最新の管理マニュアルでは、ディレクトリを移動してから、元のパスから新しい場所へのシンボリックリンクを作成することを明示的に推奨しています。また、マニュアルでは、直接変更するとdatadirectoryデータベースの変更が必要となり、サポートされていない移行方法であると警告しています。Nextcloudのデータディレクトリに関するトラブルシューティングガイドを参照してください。
| 質問 | 実践的な回答 |
|---|---|
datadirectory編集してもいいですかconfig.php? | 単独では安全ではありません。Nextcloudのドキュメントによると、ローカルストレージの絶対パスを変更すると、データベースとの関連付けが壊れる可能性があるとのことです。シンボリックリンクを使用して元のパスを保持することをお勧めします。 |
| 完全なバックアップは必要ですか? | はい。Nextcloudのバックアップに関するドキュメントには、設定、データディレクトリ、データベース、および関連するカスタムアプリケーション/テーマデータが含まれています。古いディスクを唯一のロールバックコピーとして扱わないでください。 |
| 外付けドライブはext4形式である必要がありますか? | この手順では、特定のファイルシステムの使用は義務付けられていません。以下の例では、通常のLinuxの所有権とパーミッションの動作が単純明快であるため、ext4を使用しています。他のファイルシステムでは、異なるマウントオプションが必要になる場合があります。 |
その後、走った方がいいでしょうかfiles:scan --all? | 通常、パスを維持したまま移動する場合には使用しません。ファイルキャッシュからファイルが実際に欠落している場合、またはファイルがNextcloud外部のデータツリーにコピーされ、すぐに再スキャンが必要な場合に使用します。 |
| USBハードドライブは内蔵ディスクと同じくらい信頼できるのでしょうか? | それは、筐体、ケーブル、電源、ファイルシステム、ホストによって異なります。リムーバブルドライブが使用不能になることは可用性のリスクとなるため、マウントを永続化し、Nextcloudを起動する前に検証してください。 |
まず、デバイスとファイルシステムを特定します。Linux では、などのコマンドlsblk -fでblkidファイルシステムの UUID を確認できます。などのデバイス名に基づいて永続的な設定を作成することは避けてください/dev/sdb1。Linux のデバイス名は、ハードウェアの追加や検出順序の変更によって変更される可能性があります。Linux のfstab マニュアルでは、永続的なマウントには UUID または LABEL 識別子を使用することを推奨しています。
lsblk -f
sudo blkid /dev/sdb1
sudo mkdir -p /mnt/nextcloud-data-storage
に適切なエントリを追加してください/etc/fstab。例の UUID とファイルシステムタイプを、ご自身のディスクの値に置き換えてください。
UUID=YOUR-FILESYSTEM-UUID /mnt/nextcloud-data-storage ext4 defaults 0 2
次に、Nextcloudを操作する前にマウントをテストしてください。
sudo mount -a
findmnt /mnt/nextcloud-data-storage
df -h /mnt/nextcloud-data-storage
Nextcloudファイルを移動する前に、UUIDを使用して外部ディスクを検証し、マウントポイントを確認してください。
よくある誤解:という名前のディレクトリ/mnt/nextcloud-data-storageが存在するからといって、そこにディスクがマウントされているとは限りません。ドライブが存在しない場合でも、マウントポイントディレクトリはシステムディスク上に存在し得ます。対処法:移行テスト時および再起動後には、findmntまたはを使用してください。mountpoint
Nextcloudの最新のバックアップガイドによると、復元可能なバックアップには、データディレクトリ、設定、データベース、およびカスタムアプリやテーマなどのデプロイメント固有のコンテンツが含まれます。Nextcloudの公式バックアップドキュメントを確認し、バックアップが再パーティション化または用途変更しようとしているドライブとは別の場所に保存されていることを確認してください。
次に、Nextcloudのインストールディレクトリからメンテナンスモードを有効にします。DebianおよびUbuntuでは、Webサーバーアカウントは通常次のようになりますwww-data。
cd /var/www/nextcloud
sudo -E -u www-data php occ maintenance:mode --on
移行に関するガイダンスでは、移行中はcronジョブを実行しないこと、およびデータの移転中はWebサーバーやアプリケーションサーバーを停止することを推奨しています。停止方法はデプロイメントによって異なります。Apache、NginxとPHP-FPM、Docker Compose、Snap、AIO、Kubernetesはそれぞれ異なるサービス境界を持っています。
対処方法: Nextcloudのcronエントリを無効にするか、関連するcronサービスを停止し、最終コピーの前にWeb/アプリサービスを停止してください。データセットが非常に大きい場合は、サイトがオンラインの状態で外部ディスクに事前にデータを投入し、メンテナンスモードに入り、書き込み処理を停止してから、最終rsyncパスを実行して変更をキャプチャできます。
ユーザーフォルダだけをコピーしないでください。データディレクトリには、.ncdataストレージに属する隠しファイルやアプリケーションデータなども含まれています。Nextcloudは、移動手順の中で隠しファイル(ドットファイル)を明示的に指定しています。
現在のディレクトリが で/var/www/nextcloud/data、外部ディスクが にマウントされていると仮定します/mnt/nextcloud-data-storage。宛先を作成し、ディレクトリをコピーします。
sudo mkdir -p /mnt/nextcloud-data-storage/data
sudo rsync -Aax --info=progress2 /var/www/nextcloud/data/ /mnt/nextcloud-data-storage/data/
Nextcloud の復元に関するドキュメントでrsync -Aaxは、ディレクトリツリーとメタデータを保持する例として、この例を使用しています。非常に大規模なインストールの場合、すべての書き込みプロセスを停止した後、2回目の処理を実行して出力を確認してください。ソースが ACL、拡張属性、特殊なファイルシステム、またはコンテナマウントストレージを使用している場合、必要なオプションは異なる場合があります。
バックグラウンドでの書き込みを停止し、非表示のNextcloudメタデータファイルを含むデータツリー全体をコピーします。
よくある誤解:コピーが完了したということは、移行が完了したことを意味する。そうではない。Nextcloudは依然として想定されるパスを必要とし、HTTPユーザーは新しい場所にアクセスして書き込みを行うことができなければならない。対策:パスを切り替える前にファイル数を確認するか、サンプルチェックサムを検証し、新しいストレージがテストに合格するまでソースディレクトリをそのままにしておく。
これは重要な安全対策です。Nextcloudが現在使用していると仮定します。
'datadirectory' => '/var/www/nextcloud/data',
推奨されるパス保持移行では、その値を変更しないでください。代わりに、古いディレクトリをロールバックコピーとして保持し、外部ドライブを指すシンボリックリンクに置き換えてください。
sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.old
sudo ln -s /mnt/nextcloud-data-storage/data /var/www/nextcloud/data
ls -ld /var/www/nextcloud/data
Nextcloudはこのシンボリックリンク方式を採用していますが、これはローカルストレージが絶対パスで識別されるためです。リンクが設定されていれば、/var/www/nextcloud/dataデータが外部ディスク上に存在していてもNextcloudは引き続き認識できます。
広範な権限変更を行う前に、所有権を確認してください。
stat -c '%U:%G %a %n' /var/www/nextcloud/data.old
stat -c '%U:%G %a %n' /mnt/nextcloud-data-storage/data
namei -l /mnt/nextcloud-data-storage/data
HTTPユーザーは、親ディレクトリをたどり、データディレクトリを読み書きできる必要があります。適切な所有者は、ディストリビューションとインストール方法によって異なります。Nextcloudのoccドキュメントによると、HTTPアカウントはwww-dataDebian/Ubuntu、apacheFedora/CentOSでは一般的に同じですが、他のシステムでは異なるとのことです。
元のデータディレクトリのパス名を保持し、シンボリックリンクを使用して外部ディスクを指すようにします。
よくある誤解:汎用的なコマンドを再帰的に実行すればchmod 777権限が修正される。しかし、これは実際の問題を隠蔽し、セキュリティを弱める可能性がある。対処法:新しいディレクトリを元の所有権と権限と比較し、使用されているACLは保持し、HTTPユーザーに必要な最小限の修正のみを行う。
datadirectory?Nextcloudはシンボリックリンクを使用しない手順についても説明していますが、同じドキュメントではサポート対象外とされており、データベースが破損する可能性があると警告しています。この手順では、テーブル内のconfig.php該当するエントリを変更および更新する必要があります。local::/old-data-dir/oc_storages
これは単に同じ操作の別の構文というだけでなく、Nextcloudが内部的に記録するストレージ識別子を変更するものです。対処法:テスト済みのバックアップ、テスト済みの復元プロセス、および古いパス名を削除する具体的な運用上の理由がない限り、シンボリックリンク方式を使用してください。Nextcloudを新規インストールする場合は、インストール時に最終的なデータ保存場所を選択してください。Nextcloudは、後から移動するよりもその方が簡単だと明言しています。
Nextcloudを起動する前に、外部ファイルシステムが正しくマウントされていること、およびシンボリックリンクがそのファイルシステムに解決されることを確認してください。
findmnt /mnt/nextcloud-data-storage
readlink -f /var/www/nextcloud/data
sudo -E -u www-data test -r /var/www/nextcloud/data/.ncdata && echo readable
ウェブ/アプリケーションサービスを再起動し、デプロイメントに適した方法を使用してNextcloudのcronジョブを再度有効にします。その後、メンテナンスモードをオフにしてサーバーの状態を確認します。
cd /var/www/nextcloud
sudo -E -u www-data php occ maintenance:mode --off
sudo -E -u www-data php occ status
ログインして、いくつかの操作をテストしてください。既存のファイルを開く、新しいファイルをアップロードする、名前を変更する、削除する、ゴミ箱から復元する、そして別のクライアントが同期できることを確認します。ホストを一度再起動して、この手順を繰り返してください。これにより、障害発生時に予期せぬ問題となる前に、findmnt無効なエントリを検出できます。/etc/fstab
切り替え後、Nextcloudにおけるオペレーティングシステムのマウントと通常のファイル操作の両方を確認してください。
occ files:scan --all?自動的には実行されません。Nextcloudのファイルコマンドのドキュメントによると、このコマンドfiles:scanは新規または変更されたファイルのファイルキャッシュを更新し、手動でコピーした後やキャッシュの不整合を調査する際に役立ちます。パスを保持する移動を正しく実行すると、同じファイルと同一の論理的なローカルストレージパスが維持されるため、フルスキャンをデフォルトの「念のため」の手順にするべきではありません。
対処法:まずUIをテストし、想定されるファイルを比較します。ファイルがディスク上に存在しているにもかかわらずNextcloudに表示されない場合は、対象を絞ったスキャンを実行するか、必要に応じてフルスキャンを実行しますfiles:scan --all。大規模なインストール環境では、フルスキャンにかなりの時間がかかる場合があることに注意してください。
findmnt外付けドライブが実際にマウントされていることを確認します。.ncdataがコピーされました。datadirectoryパス名はシンボリックリンクによって保持されます。occ status正常に動作します。最も重要な考え方はシンプルです。Nextcloudデータの移行は、単なるファイルシステムのコピーではありません。パスはNextcloudのローカルストレージの識別情報の一部です。可能な限りそのパスを保持し、外部ドライブを信頼性の高いシステムマウントに設定し、最終コピー中は書き込みを停止し、新しいストレージがアプリケーションテストと再起動の両方に合格するまでロールバックコピーを保持してください。
CoturnをSynapseと連携させて、Matrix WebRTC通話を設定します。共有認証情報、NAT、ファイアウォールポート、TLSオプションを設定し、従来のTURNとMatrixRTCおよびLiveKitを区別します。
Nextcloud MailをGmailまたはMicrosoft 365向けにOAuth2で設定し、IMAP/SMTPアクセスを確認し、リダイレクトの問題をトラブルシューティングし、制限事項を把握します。
別の信頼できるデバイスまたはリカバリキーを使用して検証することで、Elementの「IDを検証できません」というセッション警告を修正し、リセットが安全なタイミングを学びましょう。
Kopano、grommunio、Zammadによる移行を比較してみましょう。それぞれの移行方法で保持できるメールボックスデータ、パイロットテストと結果の検証方法、IMAPまたはカスタムインポートが適切な場合について学びます。
Nextcloudのデータディレクトリを、ファイル参照を損なうことなく外付けハードドライブに移動します。バックアップ、永続マウント、rsync、パーミッション、シンボリックリンクを安全に使用します。
Ubuntu 上の Nextcloud systemd cron タイマーのトラブルシューティングを行うには、サービス ユーザー、PHP および Nextcloud のパス、タイマーの有効化、ジョブの実行履歴を確認します。
BigBlueButton 4.0 beta.4 以前のバージョンで、Etherpad の共有ノートを有効にします。オプションのパッケージをインストールし、会議レベルまたはグローバルなデフォルト設定を選択し、プロキシの問題をトラブルシューティングします。
Nextcloudの2GBアップロード制限を修正するには、PHP、NginxまたはApache、リバースプロキシ、タイムアウト、ストレージなどを確認してください。変更を安全にテストするには、以前の制限を超えるファイルを使用してください。
Apache上のownCloudサーバーにLet's Encrypt HTTPSを設定します。DNSとポートを確認し、Certbotで証明書を発行し、リダイレクトを有効にして、更新テストを行います。
アップグレード後にownCloudの整合性に関する警告が発生した場合は、それを診断し、コアファイルの不一致、ファイルの欠落、余分なファイル、またはアプリの署名エラーに対する安全な修正方法を選択してください。