【KAGOYA/Xserver】独自ドメインとhttpsの設定手順

ネコニウム研究所

PCを利用したモノづくりに関連する情報を掲載するブログ

【KAGOYA/Xserver】独自ドメインとhttpsの設定手順

2022-4-4 |

KAGOYA CLOUD VPSとXserver Domainを使って、独自ドメインとhttpsの設定してWEBサーバーとしてアクセスできるようにしたい!

概要

この記事では、KAGOYA CLOUD VPSとXserver Domainを使って、独自ドメインとhttpsの設定してWEBサーバーとしてアクセスできるようになるまでの設定手順を掲載する。

仕様書

環境

WEBサーバー(VPS)

  • KAGOYA CLOUD VPS(KVM)
  • Ubuntu 20.04 LTS

ドメイン

  • Xserver Domain

手順書

Xserver Domainの設定

  1. ブラウザでXserverにログインする。
  2. 「サービス一覧」->「Xserver Domain」をクリックする。
  3. 対象のドメイン名をクリックする。
  4. 「ネームサーバー設定」の中の「設定変更」をクリックする
  5. 「その他のサービスで利用する」にチェックを入れる。
  6. 「ネームサーバー1」にはNS0.KAGOYA.NETと入力する。
  7. 「ネームサーバー2」にはNS1.KAGOYA.NETと入力する。
  8. 「確認画面へ進む」をクリックする。
  9. 「設定を変更する」をクリックする。
  10. 「ネームサーバー設定が完了しました。」と表示されるので「OK」をクリックする。

KAGOYA CLOUD VPSの設定

  1. ブラウザでKAGOYA CLOUD VPSにログインする。
  2. 「インスタンス一覧」の「IP」の値を後程使うので覚えておく。(IPv6の方も覚えておく)
  3. 「その他」->「ドメイン」をクリックする。
  4. 「ドメインの追加・申請」をクリックする。
  5. 「他社管理ドメイン登録」をクリックする。
  6. 「追加」をクリックする。
  7. 「他社管理ドメイン登録」をクリックする。
  8. 「ドメイン名」に対象のドメイン名を入力して「登録」をクリックする。
  9. KAGOYA CLOUD VPSに戻る。
  10. 「その他」->「ドメイン」をクリックする。
  11. 先程入力したドメイン名がリストに表示されてるので、「ゾーン」列の対象のドメイン名をクリックする。
  12. 「レコード追加」をクリックする。
  13. 「ホスト名」にwwwと入力、「TYPE」は「A」を選択、右の列に「インスタンス一覧」の「IP」の値を入力して「登録」をクリックする。
  14. 「ホスト名」にwwwと入力、「TYPE」は「AAAA」を選択、右の列に「インスタンス一覧」の「IP(IPv6の方)」の値を入力して「登録」をクリックする。
  15. 「ホスト名」には何も入力せず、「TYPE」は「A」を選択、右の列に「インスタンス一覧」の「IP」の値を入力して「登録」をクリックする。
  16. 「ホスト名」には何も入力せず、「TYPE」は「AAAA」を選択、右の列に「インスタンス一覧」の「IP(IPv6の方)」の値を入力して「登録」をクリックする。

パッケージ一覧の更新・パッケージの更新

  1. SSHクライアントでインスタンスにログインする。
  2. 下記のコマンドを実行してパッケージ一覧とパッケージを更新する。
    sudo apt update
    sudo apt upgrade
  3. 下記のコマンドを実行してインスタンスを再起動する。
    sudo reboot

Apacheの設定

  1. SSHクライアントでインスタンスにログインする。
  2. 下記のコマンドを実行して「Apache」をインストールする。
    sudo apt update
    sudo apt install apache2
  3. SSH通信とhttp通信ができるようファイアーウォールの設定を変更する。
    sudo ufw allow 'OpenSSH'
    sudo ufw allow 'Apache'
  4. ファイアーウォールを有効にして、有効になってるルールを確認する。
    sudo ufw enable
    sudo ufw status
  5. /etc/apache2/sites-available/example.confを作成する。この記事では設定する独自ドメイン名をexample.comとして話を進める。
  6. example.confを下記のように編集して保存する。
    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example/www
    ErrorLog ${APACHE_LOG_DIR}/error_example_www.log
    CustomLog ${APACHE_LOG_DIR}/access_example_www.log combined
    </VirtualHost>
  7. 下記のコマンドを実行してexample.confを有効にする。
    sudo a2ensite example.conf
  8. 000-default.confを無効にする。
    sudo a2dissite 000-default.conf
  9. example.confが正しい設定になってるか確認する。
    sudo apache2ctl configtest
  10. /var/www/example/www/index.htmlを作成して、下記のように編集し保存する。
    TEST
  11. ドキュメントルートのディレクトリに権限を設定する。
    sudo chown -R $USER:$USER /var/www/example
    sudo chmod -R 755 /var/www/example
  12. 念のため、「Apache」を再起動する。
    sudo systemctl restart apache2
  13. ブラウザで「http://example.com」(自分で設定したドメインに読み替える)にアクセスして「Test」と表示されることを確認する。

SSL証明書の取得

  1. 下記のコマンドを実行して「certbot」と「python3-certbot-apache」をインストールする。
    sudo apt install certbot python3-certbot-apache
  2. https通信ができるようファイアーウォールの設定を変更する。
    sudo ufw allow 'Apache Full'
    sudo ufw delete allow 'Apache'
    sudo ufw status
  3. 下記のコマンドを実行してSSL証明書を取得する。
    sudo certbot --apache
  4. メールアドレスを問われるので有効なメールアドレスを入力する。
  5. 利用規約に同意するか問われるのでaを入力して同意する。
  6. ニュースレター的なものを受信するか問われるので、受け取るならy、受け取らないならnを入力する。
  7. SSL証明書を登録するドメインの候補の一覧が表示される。全て登録する場合は何も入力せずにEnterを押す。
  8. http通信をhttps通信にリダイレクトするか問われる。2を入力すると「Apache」の設定ファイルがリダイレクトするよう修正させる。
  9. 念のため、下記のコマンドを実行して「Apache」を再起動する。
    sudo systemctl restart apache2
  10. ブラウザで「https://example.com」(自分で設定したドメインに読み替える)にアクセスして「Test」と表示されることを確認する。

解説

注意点ですが、SSL証明書を取得する前にhttp通信でアクセスできるようになってる必要があるので、この記事の順番どおり、「Apacheの設定」の手順を終わらせてから「SSL証明書の取得」を手順を実行する。

まとめ(感想文)

CentOS7より設定めちゃくちゃ楽。
certbotの自動更新の設定とかCentOS7だと自分でcronを使って設定しなければならなかった記憶。