Cryptpad を使用して独自の自己ホスト型 Office 365 を作成する方法
Cryptpad は、サーバー上で自己ホストできるオープンソースのオフィス スイート プログラムです。これは、ブラウザから直接オフィス スイートにアクセスできる Office 365 に似ています。主な違いは、Cryptpad はユーザーのプライバシーに重点を置いており、個人情報が漏洩するリスクなしにドキュメントを作成および共有できることです。
このチュートリアルでは、Cryptpad をサーバーにインストールする方法、Cryptpad のしくみ、および最初のユーザー アカウントを作成する方法について説明します。
Cryptpad とは何ですか? なぜ使用する必要があるのですか?
Cryptpadは、共同でドキュメントを編集するためのプライバシー指向の代替手段を提供するオンライン オフィス スイートです。Office 365 や Google Docs などのオンライン スイートと同様に、ドキュメントを作成し、インターネットを介して他のユーザーと共有できます。
Office 365 に対する Cryptpad の最大の利点の 1 つは、完全にエンド ツー エンドで暗号化されていることです。編集中のドキュメントにアクセスできるのは、自分と共同編集者だけです。これは、機密情報を含むドキュメントを他のユーザーと共有する場合に役立ちます。
Cryptpad は、Office 365 よりも優れており、独自のハードウェアで完全にセルフホストできます。これは、サードパーティ プロバイダーに情報を保存することに懸念がある場合に特に役立ちます。
ご存知ですか: Google ドキュメント ドキュメントをメールで簡単に共有できます。
要件
Cryptpad をインストールする前に、次のリソースが準備されていることを確認する必要があります。
- 外部ネットワークからアクセス可能なマシン
- 最低 2GB の RAM と 20GB のストレージ
- サーバーの IP アドレスを指すドメイン名 (およびサブドメイン名)
クリプトパッドのインストール
- Cryptpad の依存関係をインストールします。
sudo gpasswd -a www-data ramces
sudo apt install git nodejs npm nginx certbot python3-certbot-nginx
- リポジトリからプログラムのソース コードを複製します。
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
- リポジトリ内に移動し、最新のブランチに切り替えます。
cd cryptpad
git checkout -b 5.2.1
npm
Cryptpad が必要とするいくつかのライブラリのインストールを支援するパッケージ マネージャーである Bower をインストールするために使用します。
sudo npm install -g bower
- リポジトリ内でと の両方
npm
を実行して、Cryptpad バイナリをインストールします。bower
npm install
bower install
SSL 証明書の設定
Cryptpad がマシンにインストールされたら、Certbot を実行してインスタンスの証明書を作成できます。
sudo certbot certonly --standalone
これにより、メールアドレスを尋ねるプロンプトが表示されます。
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;
行をコメントします。
次に、変数$main_domain
と$sandbox_domain
変数の両方を変更します。前者にはルート ドメインが含まれている必要があり、後者にはサブドメインが含まれている必要があります。
また、変更$api_domain
し$files_domain
ます。上記のものとは異なり、マシンのルート ドメインに変更するだけで済みます。
server_name
変数をルートとサブドメインの両方に変更します。
SSL証明書の場所に移動しますssl_certificate
。ssl_certificate_key
最後に、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 サービス フォルダーにコピーします。
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 を使用できますが、管理者ユーザーを作成して、Web インターフェースからインスタンスを管理できるようにすることをお勧めします。
- Cryptpad のホームページで「サインアップ」を押します。
- ユーザー名とパスワードを入力して、新しいアカウントを作成します。
- ログインしたら、ページの右上隅にある [ユーザー メニュー] ボタンをクリックします。
- 「設定」をクリックします。
- 「公開署名鍵」テキストボックスの内容をコピーします。
- リポジトリ フォルダーに戻り、構成ファイルを開きます。
nano /home/$USER/cryptpad/config/config.js
変数を探してadminKeys:
、角かっこの間に署名キーを貼り付けます。
- SystemD を介して Cryptpad インスタンスをリロードします。
sudo systemctl restart cryptpad
よくある質問
Cryptpad に接続しようとすると空白のページが表示されるのはなぜですか?
この問題は、マシンの DNS レコードがまだ主要な DNS サーバーに伝播されていないことが原因である可能性が最も高いです。これは、ドメインの DNS レコード ページで TTL 値を 3600 に減らすことで修正できます。
インストール後に Cryptpad を更新するにはどうすればよいですか?
リポジトリに移動して を実行すると、Cryptpad を更新できますgit pull
。これにより、Cryptpad の最新のソース ファイルがすべてダウンロードされます。その後、実行npm update && bower update
してバイナリ ファイルを更新する必要もあります。
画像クレジット: Unsplash . Ramces Redによるすべての変更とスクリーンショット。
コメントを残す