Cryptpad を使用して独自の自己ホスト型 Office 365 を作成する方法

Cryptpad を使用して独自の自己ホスト型 Office 365 を作成する方法

Cryptpad は、サーバー上で自己ホストできるオープンソースのオフィス スイート プログラムです。これは、ブラウザから直接オフィス スイートにアクセスできる Office 365 に似ています。主な違いは、Cryptpad はユーザーのプライバシーに重点を置いており、個人情報が漏洩するリスクなしにドキュメントを作成および共有できることです。

このチュートリアルでは、Cryptpad をサーバーにインストールする方法、Cryptpad のしくみ、および最初のユーザー アカウントを作成する方法について説明します。

Cryptpad とは何ですか? なぜ使用する必要があるのですか?

Cryptpadは、共同でドキュメントを編集するためのプライバシー指向の代替手段を提供するオンライン オフィス スイートです。Office 365 や Google Docs などのオンライン スイートと同様に、ドキュメントを作成し、インターネットを介して他のユーザーと共有できます。

基本的な Cryptpad ワードパッド セッション。

Office 365 に対する Cryptpad の最大の利点の 1 つは、完全にエンド ツー エンドで暗号化されていることです。編集中のドキュメントにアクセスできるのは、自分と共同編集者だけです。これは、機密情報を含むドキュメントを他のユーザーと共有する場合に役立ちます。

Cryptpad は、Office 365 よりも優れており、独自のハードウェアで完全にセルフホストできます。これは、サードパーティ プロバイダーに情報を保存することに懸念がある場合に特に役立ちます。

ご存知ですか: Google ドキュメント ドキュメントをメールで簡単に共有できます。

要件

Cryptpad をインストールする前に、次のリソースが準備されていることを確認する必要があります。

  • 外部ネットワークからアクセス可能なマシン
  • 最低 2GB の RAM と 20GB のストレージ
  • サーバーの IP アドレスを指すドメイン名 (およびサブドメイン名)
Digitalocean ドロップレットの情報を表示するウィンドウ。

クリプトパッドのインストール

  • Cryptpad の依存関係をインストールします。

sudo gpasswd -a www-data ramces
sudo apt install git nodejs npm nginx certbot python3-certbot-nginx

Cryptpad の依存関係を示すターミナル ウィンドウ。
  • リポジトリからプログラムのソース コードを複製します。

git clone https://github.com/xwiki-labs/cryptpad.git cryptpad

git clone を表示しているターミナル ウィンドウ。
  • リポジトリ内に移動し、最新のブランチに切り替えます。

cd cryptpad
git checkout -b 5.2.1

git ブランチ スイッチを示すターミナル ウィンドウ。
  • npmCryptpad が必要とするいくつかのライブラリのインストールを支援するパッケージ マネージャーである Bower をインストールするために使用します。

sudo npm install -g bower

bower のインストール プロセスを示すターミナル ウィンドウ。
  • リポジトリ内でと の両方npmを実行して、Cryptpad バイナリをインストールします。bower

npm install
bower install

Cryptpad のインストール プロセスを示すターミナル ウィンドウ。

SSL 証明書の設定

Cryptpad がマシンにインストールされたら、Certbot を実行してインスタンスの証明書を作成できます。

sudo certbot certonly --standalone

これにより、メールアドレスを尋ねるプロンプトが表示されます。

電子メール アドレスを要求する certbot を示すターミナル ウィンドウ。

Certbot ユーティリティは、証明書にリンクするドメインを尋ねます。ルートとサブドメインの両方を入力します。

ドメイン名を要求する certbot を示すターミナル ウィンドウのセクション。

インスタンスの Diffie-Hellman パラメータ ファイルを作成します。これは、開発者がインスタンスのセキュリティを確保するために必要とするセキュリティ対策です。

sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096

Nginx の設定

ドメインに Cryptpad を提供するように Nginx を構成するには、開発者が提供するサンプル構成ファイルを利用できます。

sudo cp /home/$USER/cryptpad/docs/example.nginx.conf /etc/nginx/conf.d/cryptpad.conf

テンプレートのコピー コマンドを表示しているターミナル ウィンドウ。

テキスト エディターで新しい構成ファイルを変更します。

sudo nano /etc/nginx/conf.d/cryptpad.conf

このファイルが機能するように、いくつかの変数を変更します。まず、include letsencrypt-webroot;行をコメントします。

無効になっている webroot 行を示すターミナル ウィンドウのセクション。

次に、変数$main_domain$sandbox_domain変数の両方を変更します。前者にはルート ドメインが含まれている必要があり、後者にはサブドメインが含まれている必要があります。

ドメイン変数を表示する端末ウィンドウのセクション。

また、変更$api_domain$files_domainます。上記のものとは異なり、マシンのルート ドメインに変更するだけで済みます。

ドメイン変数の別のセットを表示する端末ウィンドウのセクション。

server_name変数をルートとサブドメインの両方に変更します。

サーバー名変数を表示する端末ウィンドウのセクション。

SSL証明書の場所に移動しますssl_certificatessl_certificate_key

SSL パス変数を表示する端末ウィンドウのセクション。

最後に、root変数の値を Cryptpad リポジトリの場所に置き換えます。

インスタンスのルート変数を表示する端末ウィンドウのセクション。

クリプトパッドの設定

次のコマンドを実行して、開発者が提供するサンプル構成ファイルを使用します。

cp /home/$USER/cryptpad/config/config.example.js /home/$USER/cryptpad/config/config.js

テキスト エディターで開き、httpUnsafeOrigin:変数をルート ドメインに変更します。

ルート ドメインを表示するターミナル ウィンドウのセクション。

httpSafeOrigin:変数をサブドメインに変更します。

サブドメインを表示する端末ウィンドウのセクション。

httpSafeOrigin:変数の直後に次のコード行を追加します。

adminEmail: 'working_email@address.here',

管理者の電子メールを表示する端末ウィンドウのセクション。

SystemD サービスの作成

Cryptpad を SystemD サービスにリンクして、システムの起動時に次のコマンドを実行して起動できるようにすることもできます。

nano /home/$USER/cryptpad/docs/cryptpad.service

以下のコード ブロックは、私のマシンで動作するように修正したバージョンです。

[Unit]Description=Cryptpad Service

# Replace the username values with your own username.

[Service]ExecStart=/bin/node /home/ramces/cryptpad/server.js
WorkingDirectory=/home/ramces/cryptpad

Restart=always
RestartSec=2

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=ramces
User=ramces
Group=ramces
Environment='PWD="/home/ramces/cryptpad"'LimitNOFILE=1000000

[Install]WantedBy=multi-user.target

systemd サービス テンプレートを表示するターミナル ウィンドウ。

このファイルを保存して終了し、SystemD サービス フォルダーにコピーします。

sudo cp /home/$USER/cryptpad/docs/cryptpad.service /etc/systemd/system/cryptpad.service

SystemD をリロードして、サービス ファイルを有効にします。

sudo systemctl daemon-reload
sudo systemctl enable cryptpad
sudo systemctl start cryptpad
sudo systemctl reload nginx

クリプトパッドの実行

すべてが正しく行われていれば、ルート ドメインから Cryptpad にアクセスできるはずです。

動作中の cryptpad インストールを示すウィンドウ。

Cryptpad で管理者アカウントを作成する

アカウントなしで Cryptpad を使用できますが、管理者ユーザーを作成して、Web インターフェースからインスタンスを管理できるようにすることをお勧めします。

  • Cryptpad のホームページで「サインアップ」を押します。
Cryptpad Linux 32 のサインアップ ボタン リンクをインストールする
  • ユーザー名とパスワードを入力して、新しいアカウントを作成します。
基本的なユーザー作成プロセスを示すページ。
  • ログインしたら、ページの右上隅にある [ユーザー メニュー] ボタンをクリックします。
基本的な Cryptpad インターフェースを示すページ。
  • 「設定」をクリックします。
Cryptpad ユーザー メニューを表示するページのセクション。
  • 「公開署名鍵」テキストボックスの内容をコピーします。
ユーザー アカウントの公開鍵を表示するページのセクション。
  • リポジトリ フォルダーに戻り、構成ファイルを開きます。

nano /home/$USER/cryptpad/config/config.js

変数を探してadminKeys:、角かっこの間に署名キーを貼り付けます。

Cryptpad Linux 37 構成ファイルの管理キーをインストールする
  • SystemD を介して Cryptpad インスタンスをリロードします。

sudo systemctl restart cryptpad

Cryptpad の基本的な管理画面を表示するページ。

よくある質問

Cryptpad に接続しようとすると空白のページが表示されるのはなぜですか?

この問題は、マシンの DNS レコードがまだ主要な DNS サーバーに伝播されていないことが原因である可能性が最も高いです。これは、ドメインの DNS レコード ページで TTL 値を 3600 に減らすことで修正できます。

インストール後に Cryptpad を更新するにはどうすればよいですか?

リポジトリに移動して を実行すると、Cryptpad を更新できますgit pull。これにより、Cryptpad の最新のソース ファイルがすべてダウンロードされます。その後、実行npm update && bower updateしてバイナリ ファイルを更新する必要もあります。

画像クレジット: Unsplash . Ramces Redによるすべての変更とスクリーンショット。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です