Nextcloud
About
Nextcloudはコラボレーションツールだ。ownCloudのフォークとして始まった。元々は、Dropboxのようなオンラインストレージサービスだったが、データを元にしたコラボレーションツールとなっており、非常に多くの機能が提供されている。LAMP構成になっており、一般的なレンタルサーバーで動作する。集中的なサービスからの脱却が可能な非常に強力なFOSSとなっている。
Apps (アプリ) という拡張機能で、ベースとなるオンラインストレージ以外の機能が提供されている。例えば、以下のような機能がある。
- Contact: CardDAVによる連絡先管理 (Gmailの連絡帳の代替)。
- Calendar: CalDAVによる予定管理 (Google Calendarの代替)。
- Forms: アンケート (Google Formsの代替) (Nextcloud Formsでのアンケートフォームの設置 | GNU social JP Web)。
- Registration: アカウント登録 (ユーザー登録を実現するNextcloud Registration | GNU social JP Web)。
- Social: ActivityPubによる分散SNS。
- Talk: チャット・ビデオ会話 (チャット・ビデオ会議アプリのNextcloud Talk | GNU social JP Web)。
Install
- 設置: Nextcloud | ストレージ、メール、カレンダー、分散SNSなどデータ自己制御のための万能アプリ | GNU social JP Web
- 設置: Nextcloud appsのインストール方法 | GNU social JP Web
Other
Nextcloud Contacts/CalendarとThunderbirdの同期 – senooken JP
Nextcloud (E-mail) – senooken JP
二重の誕生日
Contacts birthday are shown double in calendar - ℹ️ Support - Nextcloud community
以下のコマンドを実行したら解決するらしいが解決しなかった。
php82cli ./occ dav:sync-birthday-calendar
Error deleting file "filename".
Ref: アップロードしたファイルやフォルダが消せなくなりましたが、どうしたら良いですか? | Nextcloud by NEXTsystems
Nextcloudでファイルを削除しようとすると、[Error deleting file "filename".] のようなトーストが表示されて削除に失敗することがある。
[ oc_files_locks ] テーブルにロック中のファイルが記載されている。タイミングなど、何らかの理由でロック中になってしまっていると思われる。このテーブルのレコードを削除すると、ロックが解除された削除可能になる。
Backup
設置: Nextcloudのバックアップ | GNU social JP Web
「Backup — Nextcloud latest Administration Manual latest documentation」が公式情報です。
Nextcloudのバックアップでは、以下の4点が必要です。
- データベース
- configディレクトリー
- dataディレクトリー
- themeディレクトリー
バックアップに先立って、Nextcloudを保守モードにします。
maintenance:modeコマンドはデータの一貫性の維持のため、ログインユーザーのセッションをロックし、新規ログインを防ぎます。以下のコマンドで実行できます。
php occ maintenance:mode --on
コマンドを実行する代わりに、config/config.phpを編集しても実現できます。"maitenance" => false
をtrue
に変更すればOKです。
<<?php "maintenance" => true,
バックアップが完了したら、falseに戻します。コマンドの場合–offを実行します。
php occ maintenance:mode --off
ディレクトリーのバックアップは、丸ごとのほかに、config, data, themeディレクトリーを単に他のディレクトリーにコピーするだけでいいです。
rsync -Aavx nextcloud/ nextcloud-dirbkp_`date +"%Y%m%d"`/
<TARGET=nextcloud BACKUP=$TARGET-backup-`date +"%Y%m%d"`
rsync -Aavx $TARGET/config $TARGET/data $TARGET/themes $BACKUP
コマンド実行前に-nでコピー対象を確認しておくと、より安全です。ストレージ容量が無駄になるので、config/data/themesだけで十分だと思います。
何かあったときのために、更新が終わってもしばらくバックアップは残しておいてもよいかもしれません。
Cleanup
バックアップ時に、不要ファイルがあるので、削除しておくと良い。
https://chatgpt.com/share/680c85a3-04e4-800b-a27e-2ccfa5f0340a
files_trashbin/=ユーザーのゴミ箱。
sudo -u www-data php occ trashbin:cleanup