【ownCloud】NoIP と Let’s Encrypt で自宅クラウドストレージのドメインと SSL 対応

Linux

NoIP と Let’s Encrypt で ownCloud をドメインと SSL へ対応する

以前、紹介した記事で、自宅のパソコンに ownCloud を利用したクラウドストレージの構築手順を解説いたしました。

また、そのクラウドストレージのパフォーマンスの改善方法セキュリティー対策に関しても、別のた記事で解説いたしました。

今回は、ドメインを取得し、自宅 Web サイト(ownCloud を構築したパソコン)に設定し、また、その Web サイトの SSL への対応手順を解説したいと思います。
なお、ownCloud を構築した時の OS は Raspberry Pi Desktop(Debian Buster) でしたが、同じ Debian 系 OS の Ubuntu にクラウドストレージを再構築しています。


スポンサーリンク

スポンサーリンク

スポンサーリンク

ドメイン対応と SSL 対応メニュー

以下が、自宅 Web サイトのドメイン対応(取得 / 設定)と SSL 対応メニューです。

ドメイン対応と SSL 対応メニュー
  1. ドメイン対応
  2. SSL 対応
  3. DNS 自動更新の設定



ドメイン対応

多くの家庭用インターネット回線では、グローバル IP アドレスは、静的 IP アドレスではなく動的 IP アドレスが割り当てられています。

そのため、ONU の再起動により、再起前に割り当てられてたグローバル IP アドレスから別のグローバル IP アドレスに変動してしまう場合があります。

もし、ドメインと現在割り当てられているグローバル IP アドレスを紐づけてしまった場合、ONU を再起動しただけで、自宅 Web サイトにドメイン名でアクセスできなくなるかもしれません。

そのグローバル IP アドレスの変動にも対応してくれるサービスが DDNS サービスです。

DDNS サービスは無料で提供されているものも多いため、その無料の DDNS サービスを利用いたします。

また、その中でも使い勝手がよさそうな「no-ip」と契約しましたので、ドメインの取得に関しては、no-ip の手順になります。


SSL 対応

続いて、SSL への対応を実施します。
また、利用する SSL は無料の「Let’s Encrypt」です。

Let’s Encrypt は無料ですので、証明書の有効期間が90日です。ですが、期間内にいつでも証明書の再発行ができます。

証明書の再発行には自動更新サービスという便利な機能があり、それを利用することで証明書の期限切れを意識せずに使い続けることだできます。
その自動更新サービスに関しても対応したいと思います。


DNS 自動更新の設定

グローバル IP アドレスが変動した場合、ドメイン名との紐づけを設定し直す必要があります。

No-IP では、グローバル IP アドレスが変動しても自動的にメイン名との紐づけを設定してくれるソフトウェア「Dynamic DNS Update Client(DUC)」が用意されています。

その Dynamic DNS Update Client(DUC) のインストール手順を解説いたします。

今回は、Linux 版の Dynamic DNS Update Client(DUC) をインストールしますが、Windows 版も用意されていますので、Windows に IIS をインストールし、自宅 Web サーバーを公開する場合でも No-IP が選択肢に入ってきそうですね。

Dynamic DNS Update Client (DUC) for Linux

Our Dynamic DNS Update Client continually checks for IP address changes in the background and automatically updates the DNS at No-IP whenever it changes.

No-IP Dynamic DNS Update Client for Linuxより引用




ドメイン対応と SSL 対応

ドメイン対応と SSL 対応メニュー」に沿って、ドメイン対応と SSL 対応手順を解説いたします。


ドメイン対応

はじめに、ドメインへの対応手順を解説いたします。


no-ip 公式サイトを開きます。

画像クリックで拡大画像を表示します

[Hostname] に好みのドメイン名の入力とサブドメインを設定し、[Sign Up] をクリックします。




次に、アカウント作成画面が表示されます。

画像クリックで拡大画像を表示します

[メールアドレス]、[パスワード]、[ドメイン] を入力し、[同意] チェックボックスにチェック後、[Free Sign Up] をクリックします。




no-ip から入力したメールアドレスにメールが届きます。

画像クリックで拡大画像を表示します

[Confirm Account] をクリックします。




no-ip 公式サイトに戻ると、アカウントがアクティブ化されています。

画像クリックで拡大画像を表示します




次に、no-ip 公式サイトの [My Account] をクリックすると、[Complete your Account Configuration] が表示されます。

画像クリックで拡大画像を表示します

[Cancel] もしくは [Add Now] をクリックします。




次に、ダッシュボード画面でドメインに対象となるグローバル IP アドレスを設定します。

画像クリックで拡大画像を表示します

すぐに、ドメインがアクティブ化されます。




なお、コマンドプロンプトから、以下のコマンドを実行するとドメインから IP アドレスを引くことができます。

nslookup [ドメイン名]
画像クリックで拡大画像を表示します

no-ip でアクティブ化された直後にコマンドを実行しましたが、すぐにドメインから IP アドレスを引くことができました。

パブリック DNS の更新が早くてびっくりしました。




SSL 対応

続いて、SSL への対応手順を解説いたします。

事前準備として、[VirtualHost *:80] の [ServerName] を「ドメイン対応」で設定したドメインに変更します。

画像クリックで拡大画像を表示します

変更前は、IP アドレスでアクセスしていたため、グローバル IP アドレスを設定していました。




certbot をインストールするため、以下のコマンドを実行します。

sudo apt install certbot
画像クリックで拡大画像を表示します




次に、python3-certbot-apache をインストールするため、以下のコマンドを実行します。

sudo apt install python3-certbot-apache
画像クリックで拡大画像を表示します

python3-certbot-apache をインストールしていない場合、証明書の更新でエラーになります。




次に、apache に SSL 証明書を設定するため、以下のコマンドを実行します。
また、[メールアドレス] の入力が求められるため、使用中のメールアドレスを入力します。

sudo certbot --apache
画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




次に、[A] を入力し、利用規約に同意します。
また、次に、[N] を入力し、Electronic Frontier とのメールアドレス共有を拒否します。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




次に、HTTPS をアクティブ化するドメインを選択します。
また、次に、[2] を入力し、HTTP のリダイレクトを設定します。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します




[Congratulations! Your have successfully enabled …] が表示されれば OK です。

画像クリックで拡大画像を表示します




次に、証明書自動更新サービスを確認するため、以下のコマンドを実行します。

sudo systemctl status certbot.timer
画像クリックで拡大画像を表示します

証明書の自動更新サービスは実行されていました。




次に、証明書の手動更新を確認するため、以下のコマンドを実行します。

sudo certbot renew --dry-run
画像クリックで拡大画像を表示します




証明書の更新も OK でした。

画像クリックで拡大画像を表示します

これで、自動で定期的に証明書が更新され、有効期限切れになる心配はありません。




DNS 自動更新の設定

次に、DNS 自動更新の設定手順を解説いたします。
なお、この作業は root ユーザーで実施します。



作業ディレクトリを移動するため、以下のコマンドを実行します。

cd /usr/local/src/
画像クリックで拡大画像を表示します




次に、Dynamic DNS Update Client(DUC) が入った圧縮ファイルをダウンロードするため、以下のコマンドを実行します。

wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz
画像クリックで拡大画像を表示します




次に、Dynamic DNS Update Client(DUC) が入った圧縮ファイルを解凍するため、以下のコマンドを実行します。

tar xf noip-duc-linux.tar.gz
画像クリックで拡大画像を表示します




次に、Dynamic DNS Update Client(DUC) が入った圧縮ファイルを削除するため、以下のコマンドを実行します。

rm noip-duc-linux.tar.gz
画像クリックで拡大画像を表示します

圧縮ファイルの削除が不要の場合は、この手順はとばしても OK です。




次に、Dynamic DNS Update Client(DUC) をビルドしインストールするため、以下のコマンドを実行します。

make install
画像クリックで拡大画像を表示します




インストール中に Wi-Fi の指定や no-ip のアカウント情報を入力します。

画像クリックで拡大画像を表示します

Wi-Fi には関連付いている番号を入力します。

また、アカウント情報には no-ip に登録したメールアドレス、そのパスワードを入力します。




次に、更新間隔を入力します。
また、更新成功時の挙動が設定できるようですので、その設定を指定します。

画像クリックで拡大画像を表示します

本稿の例では、更新時間に10分を指定しています。

また、更新成功時は何も実施しないため、[N] を入力しています。




Dynamic DNS Update Client(DUC) のインストールが完了しました。

画像クリックで拡大画像を表示します




次に、自動更新の挙動を確認するため、以下のコマンドを実行します。

noip2 -S
画像クリックで拡大画像を表示します

自動更新も確認できました。

これで、グローバル IP アドレスが変動しても安心です。




How to Install the Linux Dynamic Update Client on Ubuntu

Once you have opened your Terminal window, log in as the “root” user. You can become the root user from the command line by entering “sudo -s” followed by the root password on your machine.

No-IP support centerより引用




まとめ

以上が、NoIP からのドメインを取得 / 設定と Let’s Encrypt を使った SSL への対応手順となります。

いかがでしたでしょうか?

無料の DDNS サービスと無料の SSL 証明書を使って、Web サイトを HTTPS に対応できました。

NoIP を使ったドメインの設定も Let’s Encrypt を使った SSL の設定も、パフォーマンスの改善やセキュリティ対策に比べると簡単だったと思いました。

と、いうより、無料で、しかも、ナレッジも多く公開してくれている NoIP や Let’s Encrypt に感謝です。

両サービスともに、使いやすくとてもよいサービスだった思います。

あと、一言。

「自宅 Web サイトを公開する。」

と、言っても、大変ですよねー

Web サイトの構築、パフォーマンスの改善、セキュリティ対策、そして、ドメインの設定や SSL への対応など、パフォーマンスの改善は置いておいたとしても、安全にWeb サイトを運用するためには、多大な苦労が必要なのだとわかりました。

でも、使う人って、その苦労がわからないんですよねー

その苦労も理解せず「あーしろ」「こーしろ」と・・・

まー、愚痴はこのへんにしておいて、最後に注意点が1つだけあります。

なお、ドメインを30日ごとに更新する必要があります。もし、更新しなかった場合、削除されますので注意してください。



本稿をご覧になっていただいている読者様の中で、もし、インフラエンジニアを目指している方、もしくはインフラエンジニアに興味がある方がいらっしゃれば、スクールで学ぶことも「あり 」です。
いくつかインフラ系の技術が学べるスクールをピックアップいたしましたので、ご検討の一助となれば幸いです。

 スクール  受講料  受講期間  ポイント
ササエル 19,800円 14レッスン 初級のインフラエンジニアに特化したオンラインスクールです。インフラエンジニアを目指すなら、まずはここから!?
98,000円 15レッスン 初級の次は中級も学べます。
TechAcademy [テックアカデミー] 174,900円(※1) 4週間プラン コースにより、若干、インフラ要素あり。また、学べる言語が細分化されているので、目的に合ったコースが選べます。
【CCNAコース ウズウズカレッジ】 33,000円/月 1ヶ月~ 応募資格を満たしていれば、無料特待プランで受講料が無料!?
初心者OK!KENスクール 187,000円(※2) 50時間 ネットワークコースのLinuxレベル1取得講座。Webサーバーの構築まで学べます。
119,900円(※2) 30時間 ネットワークコースのWindows Server構築講座。クライアントOSの管理操作を学べます。
※1.フロントエンドコースの料金です。学生の場合、料金は163,900円と割引があります。
※2.スクール提携企業特別割引の場合、受講料が10~15% OFF、入会金無料。学生割引特典の場合、全講座料金 20% OFF。



最後までお読みいただきありがとうございました。


では。


スポンサーリンク

スポンサーリンク

Linux
スポンサーリンク
たまおをフォローする
スポンサーリンク
たまーのテクノロジー
タイトルとURLをコピーしました