【KAGOYA/Xserver】独自ドメインとhttpsの設定手順
2022-4-4 | VPS
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の設定
- ブラウザでXserverにログインする。
- 「サービス一覧」->「Xserver Domain」をクリックする。
- 対象のドメイン名をクリックする。
- 「ネームサーバー設定」の中の「設定変更」をクリックする
- 「その他のサービスで利用する」にチェックを入れる。
- 「ネームサーバー1」には
NS0.KAGOYA.NET
と入力する。 - 「ネームサーバー2」には
NS1.KAGOYA.NET
と入力する。 - 「確認画面へ進む」をクリックする。
- 「設定を変更する」をクリックする。
- 「ネームサーバー設定が完了しました。」と表示されるので「OK」をクリックする。
KAGOYA CLOUD VPSの設定
- ブラウザでKAGOYA CLOUD VPSにログインする。
- 「インスタンス一覧」の「IP」の値を後程使うので覚えておく。(IPv6の方も覚えておく)
- 「その他」->「ドメイン」をクリックする。
- 「ドメインの追加・申請」をクリックする。
- 「他社管理ドメイン登録」をクリックする。
- 「追加」をクリックする。
- 「他社管理ドメイン登録」をクリックする。
- 「ドメイン名」に対象のドメイン名を入力して「登録」をクリックする。
- KAGOYA CLOUD VPSに戻る。
- 「その他」->「ドメイン」をクリックする。
- 先程入力したドメイン名がリストに表示されてるので、「ゾーン」列の対象のドメイン名をクリックする。
- 「レコード追加」をクリックする。
- 「ホスト名」に
www
と入力、「TYPE」は「A」を選択、右の列に「インスタンス一覧」の「IP」の値を入力して「登録」をクリックする。 - 「ホスト名」に
www
と入力、「TYPE」は「AAAA」を選択、右の列に「インスタンス一覧」の「IP(IPv6の方)」の値を入力して「登録」をクリックする。 - 「ホスト名」には何も入力せず、「TYPE」は「A」を選択、右の列に「インスタンス一覧」の「IP」の値を入力して「登録」をクリックする。
- 「ホスト名」には何も入力せず、「TYPE」は「AAAA」を選択、右の列に「インスタンス一覧」の「IP(IPv6の方)」の値を入力して「登録」をクリックする。
パッケージ一覧の更新・パッケージの更新
- SSHクライアントでインスタンスにログインする。
- 下記のコマンドを実行してパッケージ一覧とパッケージを更新する。
sudo apt update sudo apt upgrade
- 下記のコマンドを実行してインスタンスを再起動する。
sudo reboot
Apacheの設定
- SSHクライアントでインスタンスにログインする。
- 下記のコマンドを実行して「Apache」をインストールする。
sudo apt update sudo apt install apache2
- SSH通信とhttp通信ができるようファイアーウォールの設定を変更する。
sudo ufw allow 'OpenSSH' sudo ufw allow 'Apache'
- ファイアーウォールを有効にして、有効になってるルールを確認する。
sudo ufw enable sudo ufw status
/etc/apache2/sites-available/example.conf
を作成する。この記事では設定する独自ドメイン名をexample.com
として話を進める。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>
- 下記のコマンドを実行して
example.conf
を有効にする。sudo a2ensite example.conf
000-default.conf
を無効にする。sudo a2dissite 000-default.conf
example.conf
が正しい設定になってるか確認する。sudo apache2ctl configtest
/var/www/example/www/index.html
を作成して、下記のように編集し保存する。TEST
- ドキュメントルートのディレクトリに権限を設定する。
sudo chown -R $USER:$USER /var/www/example sudo chmod -R 755 /var/www/example
- 念のため、「Apache」を再起動する。
sudo systemctl restart apache2
- ブラウザで「
http://example.com
」(自分で設定したドメインに読み替える)にアクセスして「Test」と表示されることを確認する。
SSL証明書の取得
- 下記のコマンドを実行して「certbot」と「python3-certbot-apache」をインストールする。
sudo apt install certbot python3-certbot-apache
- https通信ができるようファイアーウォールの設定を変更する。
sudo ufw allow 'Apache Full' sudo ufw delete allow 'Apache' sudo ufw status
- 下記のコマンドを実行してSSL証明書を取得する。
sudo certbot --apache
- メールアドレスを問われるので有効なメールアドレスを入力する。
- 利用規約に同意するか問われるので
a
を入力して同意する。 - ニュースレター的なものを受信するか問われるので、受け取るなら
y
、受け取らないならn
を入力する。 - SSL証明書を登録するドメインの候補の一覧が表示される。全て登録する場合は何も入力せずに
Enter
を押す。 - http通信をhttps通信にリダイレクトするか問われる。
2
を入力すると「Apache」の設定ファイルがリダイレクトするよう修正させる。 - 念のため、下記のコマンドを実行して「Apache」を再起動する。
sudo systemctl restart apache2
- ブラウザで「
https://example.com
」(自分で設定したドメインに読み替える)にアクセスして「Test」と表示されることを確認する。
解説
注意点ですが、SSL証明書を取得する前にhttp通信でアクセスできるようになってる必要があるので、この記事の順番どおり、「Apacheの設定」の手順を終わらせてから「SSL証明書の取得」を手順を実行する。
まとめ(感想文)
CentOS7より設定めちゃくちゃ楽。
certbotの自動更新の設定とかCentOS7だと自分でcronを使って設定しなければならなかった記憶。