Debian9にYunoHostをインストールする方法
著者は、 Write for DOnations プログラムの一環として、 MozillaFoundationを選択して寄付を受け取りました。
序章
YunoHost は、ウェブメールクライアント、パスワードマネージャー、さらにはWordPressサイトなど、セルフホストのウェブアプリケーションのシームレスなインストールと構成を容易にするオープンソースプラットフォームです。 セルフホスティングウェブメールおよびその他のアプリケーションは、プライバシーを提供し、個人情報を管理します。 YunoHostを使用すると、グラフィカルユーザーインターフェイスから設定の構成、ユーザーの作成、および独自のアプリケーションのセルフホストを行うことができます。 アプリケーションのマーケットプレイスは、YunoHostを介して利用でき、ホスティング環境に追加できます。 フロントエンドUIは、すべてのアプリケーションのホームページとして機能します。
このチュートリアルでは、Debian9を実行しているサーバーにYunoHostをインストールして設定します。 これを実現するには、DigitalOceanを使用してDNSレコードを構成し、Let's Encryptを使用してYunoHostインスタンスを保護し、選択したWebアプリケーションをインストールします。
前提条件
- Debian9初期サーバーセットアップチュートリアルに従ってサーバー上にsudonon-rootユーザーとファイアウォールが構成された、少なくとも1GBのメモリを備えた1台のDebian9サーバー。
- サーバーを指すように構成されたドメイン名。 DigitalOcean チュートリアルでホスト名を設定する方法に従って、ドメインをDigitalOceanドロップレットにポイントする方法を学ぶことができます。
ステップ1—YunoHostをインストールする
このステップでは、公式のインストールスクリプトを使用してYunoHostをインストールします。 YunoHostは、YunoHost操作に必要なすべてのものをインストールおよび構成するためのガイドとなるこのオープンソーススクリプトを提供します。
インストールスクリプトをダウンロードする前に、一時ディレクトリに移動してください。 /tmp
ディレクトリを使用すると、再起動時にスクリプトが削除されます。これは、YunoHostのインストール後には不要になります。
cd /tmp
次に、次のコマンドを実行して、YunoHostから公式インストールスクリプトをダウンロードします。
wget -O yunohost https://install.yunohost.org/
このコマンドは、スクリプトをダウンロードして、yunohost
というファイルとして現在のディレクトリに保存します。
これで、sudoを使用してスクリプトを実行できます。
sudo /bin/bash yunohost
設定ファイルを上書きするように求められたら、はいを選択します。
次に、YunoHostのインストールを確認するインストール後画面が表示されます。
はいを選択して、インストール後のプロセスに進みます。
メインドメインの入力を求められたら、YunoHostインスタンスへのアクセスに使用するドメイン名を入力します。 次に、管理者アカウントの安全なパスワードを選択して入力します。
これで、サーバーにYunoHostがインストールされました。 次のステップでは、新しいYunoHostインスタンスにログインして、ドメインを構成および管理します。
ステップ2—DNSの構成
YunoHostがインストールされたので、初めて管理パネルにアクセスできます。 DNSレコードを構成して、YunoHostをホストするドメインを設定します。
まず、サーバーのIPアドレスまたは最後の手順で選択したドメイン名をWebブラウザに入力します。 接続がプライベートではないことを警告する画面が表示されます。
YunoHostはデフォルトで自己署名証明書を使用するため、接続はまだ安全ではありません。 次のステップでLet'sEncryptを使用してサイトを保護するため、とにかくサイトにアクセスできます。
ここで、前の手順で設定した管理者パスワードを入力して、YunoHostの管理パネルにアクセスします。
YunoHostが正しく機能するためには、ドメイン名のDNS設定を構成します。 管理パネルから、ドメインセクションに移動し、ドメイン名を選択します。 DNS構成設定にアクセスできる操作ページが表示されます。
DNS構成ボタンを選択します。 YunoHostは、ドメインのサンプルゾーンファイルを表示します。 このファイルを使用して、ドメインのレコードを構成します。
DNSレコードの構成を開始するには、ドメインホストにアクセスします。 このチュートリアルでは、DigitalOceanのコントロールパネルを介してDNSレコードを構成する方法について説明します。
DigitalOceanアカウントにログインし、メニューのネットワーキングをクリックします。 ドメインフィールドにYunoHostドメインを入力し、ドメインの追加をクリックします。
ドメイン名の編集ページに移動します。 このページには、YunoHostレコードを追加できるフィールドが表示されます。
DigitalOceanサーバーがドメインにDNSサービスを提供していることを指定する3つのNSレコードがすでに設定されています。 YunoHostが提供するサンプルファイルを使用して、次のレコードを追加できるようになりました。
- 2つの新しいAレコードを作成します。
- nameに
@
と入力し、 Will Direct To ボックスでドロップレットまたはIPアドレスを選択し、TTLを3600のままにします。 - nameに
*
と入力し、 Will Direct To ボックスでドロップレットまたはIPアドレスを選択し、TTLを3600のままにします。
- nameに
- 2つの新しいSRVレコードを作成します。
- ホスト名には
_xmpp-client._tcp
、ポートには5222
、0
priority 、5
、TTLを3600に変更します。 - ホスト名には
_xmpp-server._tcp
、ポートには5269
、0
priority 、5
、TTLを3600に変更します。
- ホスト名には
- 3つの新しいCNAMEレコードを作成します。
- ホスト名に
muc
と入力し、の@
はのエイリアスであり、TTLを3600に設定します。 - ホスト名に
pubsub
と入力し、の@
はのエイリアスであり、TTLを3600に設定します。 - ホスト名に
vjud
と入力し、の@
はのエイリアスであり、TTLを3600に設定します。
- ホスト名に
メール構成では、次のレコードを作成します。
- ホスト名の
@
、優先度のメールサーバーのドメイン名を含むMXレコードX138X]および3600のTTL。 - 3つの新しい TXT 記録: 二重引用符を含むTXT文字列をサンプルゾーンファイルから「v=spf1」で始まる値ボックスにコピーし、ホスト名に@を追加して、TTLを3600のままにします。 二重引用符を含む長いTXT文字列をサンプルゾーンファイルから値ボックスにコピーし、mail._domainkeyをホスト名に追加して、TTLを3600のままにします。 二重引用符を含むTXT文字列をサンプルゾーンファイルから値ボックスにコピーします。たとえば、「v = DMARC1; p = none」のように、ホスト名に_dmarcを追加し、TTLを3600のままにします。
そして最後に、Let's Encryptの場合、次のレコードを構成します。
- 新しいを作成します CAA 記録: ホスト名に@を入力し、ボックスに付与された権限にletsencrypt.orgを追加し、発行するタグを設定し、フラグを128に設定し、TTLを3600に設定します。
すべてのDNSレコードを追加すると、ドメインのコントロールパネルにリストが表示されます。 DigitalOceanコントロールパネルを介したレコードの管理の詳細については、このガイドを読むこともできます。
YunoHostサービスが機能するために必要なすべてのDNSレコードを構成しました。 次のステップでは、Let'sEncryptをインストールして接続を保護します。
ステップ3—Let'sEncryptをインストールする
このステップでは、Let's Encryptを介してSSL証明書を構成し、ユーザーまたはユーザーがサイトにログインするたびに暗号化されたHTTPSによって接続が保護されるようにします。 YunoHostには、ユーザーインターフェイスを介してLet'sEncryptをドメインにインストールする機能が含まれています。
管理パネルのドメインセクションで、ドメイン名をもう一度選択します。 操作セクションに移動します。 ここから、 SSL証明書の管理で、SSL証明書を選択します。 Let's Encrypt証明書をインストールするオプションが表示されます。これを選択して、証明書をインストールできます。
これで、ドメインにLet'sEncrypt証明書がインストールされます。 ドメインまたはIPアドレスにアクセスしたときに警告メッセージが表示されなくなります。 Let's Encrypt証明書は、デフォルトで自動的に更新されます。 Let's Encrypt証明書を手動で更新するか、将来的に自己署名証明書に戻すには、この操作ページを使用できます。
ドメインを構成して保護しました。 次のセクションでは、新しいユーザーと電子メールアカウントを設定して、YunoHost操作へのアプリケーションのインストールを開始します。
ステップ4—アプリケーションのインストール
YunoHostは、あらかじめパッケージ化された多数のWebアプリケーションを並べてインストールする機能を提供します。 アプリケーションのインストールと使用を開始するには、通常の非管理者ユーザーと電子メールアカウントを作成する必要があります。 これは、管理パネルから実行できます。
管理パネルのルートから、ユーザーセクションに移動します。
画面右側の緑色の新規ユーザーボタンを選択します。 表示されたフィールドに、新しいユーザーに必要な資格情報を入力します。
ユーザーの作成が完了しました。 デフォルトでは、このユーザーにはすでに関連付けられた電子メールアドレスがあり、任意のIMAP電子メールクライアントからアクセスできます。 または、YunoHostにWebメールクライアントをインストールしてこれを実行することもできます。これは、このチュートリアルの一部として実行します。
YunoHostのすべての基本機能を構成し、電子メールアカウントを備えたユーザーを作成しました。 これで、インストールの準備ができている管理パネルからアプリケーションにアクセスできます。 このチュートリアルでは、軽量のWebメールアプリであるRainloopをインストールしますが、これらの手順に従って、使用可能なアプリケーションをインストールできます。
管理パネルのアプリケーションセクションに移動します。 ここから、任意の公式アプリケーションを選択してインストールできます。
リストからRainloopを選択します。 アプリケーションのいくつかの構成オプションが表示されます。
- Rainloopのラベル:ここに入力する内容を選択できます。アプリケーションはこれをYunoHostのホーム画面にユーザーに表示します。
- Rainloopのドメインを選択してください:アプリケーションをホストするドメイン名を入力してください。
- Rainloop のパスを選択:
/rainloop
のようにアプリケーションのURLパスを設定します。 ドメインのルートに配置する場合は、/
と入力するだけです。 そうすると、そのドメインで他のアプリケーションを使用できなくなることに注意してください。 - パブリックアプリケーションですか?:アプリケーションをパブリックにアクセスできるようにするか、ログインしているユーザーのみがアクセスできるようにするかを選択します。
- 「admin」ユーザーの強力なパスワードを入力してください:アプリケーションの管理者ユーザーのパスワードを入力してください。
- YunoHostユーザーを受信者の提案に追加しますか?:ここで「はい」を選択すると、アプリケーションは、電子メールを作成するときに他のユーザーの電子メールアドレスと名前を受信者として提案します。
- デフォルト言語の選択:希望する言語を選択します。
終了したら、緑色のインストールボタンをクリックします。
Rainloopをインストールしました。 新しいブラウザタブを開き、アプリケーション用に選択したパス( example.com / rainloop)に移動します。 Rainloopのメインダッシュボードが表示されます。
手順4を繰り返して、必要に応じてさらにユーザーを作成し、さらにアプリケーションをインストールできます。
管理パネルのアプリケーションセクションでは、GitHubリポジトリからプルすることで、サードパーティからカスタムアプリケーションをインストールすることもできます。
これで、サーバーに安全なYunoHostインスタンスが構成されました。
結論
このチュートリアルでは、サーバーにYunoHostをインストールし、電子メールアカウントを作成し、アプリケーションをインストールしました。 電子メールをチェックするためのWebメールクライアントを含め、すべてのアプリケーションを相互にホストする中心的な場所があります。 公式および非公式の両方のアプリケーションの完全なリストについては、YunoHostのWebサイトを参照してください。 また、YunoHostへのサービス、構成、およびアップグレードに関する情報を提供する公式のトラブルシューティングガイドも参照してください。