【ConoHaのVPS】IPアドレスとドメインの紐付けの変更を解説
はじめに
もともとConoHa WINGでドメインを利用していたけれど、今回VPSに移行してそのままドメインを使いたいと思い設定を行いました。
この記事では、ドメインをVPSのIPに向ける → テストページを表示 → HTTPS化 → Nginx設定修正 までの流れをまとめています。
403エラーなどに遭遇したときの対処法も含めて紹介します。
対象のパソコンはWindowsで,サーバはNginxで構成してあります。
また、自分のドメインはmonmontraining.com
です。この部分は真似しないようにお気をつけてください。
1. DNSをVPSのIPに変更する
まずはドメインをVPSに向けます。
- ConoHaコントロールパネルにログイン
- 左メニューから「DNS」を選択
- 利用するドメインをクリック
- 表にある「値」の欄(IPアドレス)を、VPSのIPアドレスに書き換える
- VPSのIPはVPSの管理画面から確認できます
変更できたら、WindowsのPowerShellで以下を実行して確認します。
nslookup yourdomain.com
新しいVPSのIPが表示されればOKです。
2. VPSにログインする
WindowsからPowerShellで接続します。
ssh root@xxx.xxx.xxx.xxx
必要に応じて新しいユーザーを作成して運用すると安全です。
3. Webサーバを確認してテストページを置く
VPSの初期状態ではNginxまたはApacheがインストールされています。どちらが動いているか確認しましょう。
sudo systemctl status nginx
sudo systemctl status httpd
自分はnginxがインストールされているのでそれで設定していきます。
Nginxならドキュメントルートは /usr/share/nginx/html/
Apacheなら /var/www/html/
Nginxの場合は以下のようにテストページを置きます。(このようにして表示するページを用意する)
echo "Hello, yourdomain.com" | sudo tee /usr/share/nginx/html/index.html
これでブラウザから http://yourdomain.com
にアクセスするとテストページが表示されるはずです。(ただしConoHaの環境によっては自動的にhttpsへリダイレクトされる場合があります。)
4. HTTPSを有効化する(Let’s Encrypt)
次にSSL証明書を取得してhttps化します。
certbotのインストール
CentOS / AlmaLinux の場合:
sudo dnf install -y epel-release
sudo dnf install -y certbot python3-certbot-nginx
Ubuntu の場合:
sudo apt update
sudo apt install -y certbot python3-certbot-nginx
証明書を取得
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
-メールアドレスや規約に同意
-「HTTPをHTTPSにリダイレクトしますか?」と聞かれたらリダイレクト有効化を選択
自動更新の確認
sudo certbot renew --dry-run
5. 403エラーが出たときの対処
httpsアクセスで403が出る場合、Nginxの設定が間違ったディレクトリをrootにしていることが多いです。
私の環境では /var/www/monmontraining
を見ていたため、存在しないディレクトリを参照して403が返っていました。
設定ファイルを修正
sudo vi /etc/nginx/conf.d/yourdomain.conf
server { listen 443 ... }
の中の
root /var/www/monmontraining;
を以下のように修正:
root /usr/share/nginx/html;
index index.html index.htm;
設定を反映
sudo nginx -t
sudo systemctl reload nginx
動作確認
curl -kI https://yourdomain.com
200 OK が返ってきたら、ブラウザで https://yourdomain.com
を開いてテストページが表示されることを確認します。
6. まとめ
ここまでで以下のことができました。
-ConoHa WINGのドメインをVPSのIPに向ける
-Nginxのドキュメントルートにテストページを設置
-Let’s EncryptでSSL証明書を取得してhttps対応
-Nginxのroot設定を修正して403エラーを解消
これで独自ドメインを使って、ConoHa VPS上のサイトをHTTPSで公開できるようになりました。
次のステップは /var/www/monmontraining/
を本番用ディレクトリにして、自分のアプリやWebサイトをデプロイしていくことです。いろんなアプリを作ってみましょう。
Discussion