概要
VPS上でDjangoサイトを公開する前段階として、VPS契約、OSインストール、独自ドメイン、DNS設定、SSH初期設定を整理する。
この段階では、アプリケーションの実装よりも「安全にサーバーへ接続できること」と「ドメイン名でサーバーへ到達できること」が重要になる。後続のApache、Django、PostgreSQL設定の土台になるため、SSHとDNSの確認を丁寧に行う。
この記事の構成
- 対象環境と利用上の注意
本文記載時の環境と現在そのまま利用できない箇所を確認。 - 前提環境
手順で使用するOS、ソフトウェア、構成などの前提条件を確認。 - 作業時の注意点
設定変更やコマンド実行前に確認しておきたい注意点を整理。 - VPS契約
VPS事業者とプランを選び、契約する際の確認ポイントを整理。 - OSインストール
OSインストールの手順と確認ポイントを整理。 - 独自ドメインの契約
独自ドメインとサービスを選び、契約する際の確認ポイントを整理。 - ドメインのDNS設定
ドメインのDNS設定の手順と確認ポイントを整理。 - SSHの初期設定
SSHの初期設定の手順と確認ポイントを整理。
対象環境と利用上の注意
- 本文記載時の環境
2018年当時のCentOS 7.4、さくらのVPS、お名前.comの管理画面を利用した構築記録。 - 確認時期
2026年8月にVPS事業者、CentOS、SSH、DNSの公式資料と照合。
現在の環境で一連の手順は再実行していない。 - 現在そのまま利用できない箇所
CentOS 7は2024年6月30日にサポートを終了しているため、新規構築には使用しない。
VPS・ドメイン事業者の画面や初期設定も変更されるため、サポート中のOSを選び、契約中の事業者が公開する現行手順と併せて確認する。
前提環境
- OS
CentOS 7.4(サポート終了済み) - 言語
Python - Webサーバー
Apache - フレームワーク
Django - データベース
PostgreSQL
作業時の注意点
- ドメイン契約とDNS設定
契約しただけでは接続できず、DNSレコードの設定が必要になる。 - Aレコードとネームサーバー
どこで名前解決を管理するかと、どのIPへ向けるかを分けて考える。 - rootログイン禁止
一般ユーザーでログインできることを確認してから無効化。 - パスワード認証の無効化
公開鍵で接続できることを確認してから切り替える。
実施内容
VPS契約
- 価格に見合ったスペック(容量、メモリ、CPUなど)、安全性、操作性など、何を重視するかの基準をもとにVPS提供会社を決める。
- ここでは、コストパフォーマンスとサポートの充実、プラン変更の柔軟性に基準を置き「さくらのVPS」で契約。
OSインストール
-
OSの選択
開発環境(Apache, Django, PostgreSQL)がインストール可能で管理しやすいOSに絞る。
ここでは、構築当時に英語圏のコミュニティが大きく、日本語情報が豊富で個人的に使い慣れているCentOSを選んだ。 -
CentOS7_x86_64(標準)をインストール
インストールは、SAKURA VPS管理者用のコントロールパネルからGUI操作でインストール。$ cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
独自ドメインの契約
- ドメインの維持費、サーバー同時契約などの機能性、サポート体制など、何を重視するかの基準をもとにサービスを選ぶ。
- ここでは、Whois情報の公開代行、自動更新の有無、サポートの充実に基準を置き「お名前.com」で独自ドメインを取得した。
- 以降、この独自ドメインをexample.comと表記。
ドメインのDNS設定
※ 契約したサービスによって操作方法が初期状態が異なるので設定方法については割愛する。
-
VPS側のネームサーバー設定(さくらのVPS)
DNS設定からドメインの追加を行う。ホスト名: example.com 種別: A 内容: VPSのIPアドレス TTL: 3600 -
ドメイン側のネームサーバー設定(お名前.com)
example.comのドメイン設定でVPSのネームサーバーを登録。
※ 設定が反映されるまで数時間〜数日かかるので注意。 -
設定確認
nslookup等で上記の設定が反映されているか確認すること。
SSHの初期設定
-
rootログインの無効化
ログイン用の一般ユーザーを作成し、管理作業に必要な場合はwheelグループへ追加。$ adduser vpsuser $ passwd vpsuser $ usermod -aG wheel vpsuser手元のPCで鍵を作成し、公開鍵だけをVPSへ登録。秘密鍵は手元のPCから外へ出さない。
$ ssh-keygen -t ed25519 -C "vpsuser@example.com" $ ssh-copy-id vpsuser@example.com $ ssh vpsuser@example.comssh-copy-idを利用できない場合は、公開鍵の内容をVPS側の~/.ssh/authorized_keysへ登録し、.sshを700、authorized_keysを600に設定。 -
SSHの設定変更
別のターミナルから一般ユーザーの公開鍵認証に成功することを確認してから、rootログインとパスワード認証を無効化。$ vim /etc/ssh/sshd_config PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no設定の構文を確認してから再読込みし、確認中のSSHセッションは新しい接続に成功するまで閉じない。
$ sshd -t $ systemctl reload sshd
上記の設定により、登録済み公開鍵に対応する秘密鍵を持つvpsuserだけがSSH認証できる。鍵の登録前にPasswordAuthentication noへ変更するとサーバーへ入れなくなるため、順序が重要となる。
まとめ
- VPS構築の最初の段階では、OS、ドメイン、DNS、SSHを整える。
- DNSはドメイン名をVPSのIPアドレスへ向ける仕組みとなる。
- SSHはrootログインを避け、公開鍵認証を使うことで安全性を高める。