SIGMA-SE Math & Tech Library

SIGMA-SE Math & Tech Library


数学と情報技術をテーマに、書籍や教材だけではつかみにくい考え方を具体例とともに簡潔にわかりやすく伝える解説サイトです。
技術の歴史や背景、関連知識の整理、学習のための覚書や要約記事も掲載しています。

VPSで作るDjangoサイト構築手順 - Apache編:1/4 ドメイン・DNS・SSH初期設定

概要

VPS上でDjangoサイトを公開する前段階として、VPS契約、OSインストール、独自ドメイン、DNS設定、SSH初期設定を整理する。

この段階では、アプリケーションの実装よりも「安全にサーバーへ接続できること」と「ドメイン名でサーバーへ到達できること」が重要になる。後続のApache、Django、PostgreSQL設定の土台になるため、SSHとDNSの確認を丁寧に行う。

この記事の構成

対象環境と利用上の注意

  • 本文記載時の環境
    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.com
    

    ssh-copy-idを利用できない場合は、公開鍵の内容をVPS側の~/.ssh/authorized_keysへ登録し、.ssh700authorized_keys600に設定。

  • 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ログインを避け、公開鍵認証を使うことで安全性を高める。

参考文献

この記事を共有
Xで共有 Facebookで共有 LINEで共有



Copyright SIGMA-SE All Rights Reserved.
s-hama@sigma-se.jp