目的
この記事では、以下のVPS環境でDjangoサイトを構築するために必要な「ドメインとSSHの初期設定手順」について説明する。
- OS:CentOS
- 言語:Python
- WEBサーバー:Apache
- FW:Django
- DB:PostgresSQL
実施内容
VPS契約
- 価格に見合ったスペック(容量、メモリ、CPUなど)、安全性、操作性など、何を重視するかの基準をもとにVPS提供会社を決める。
- ここでは、コストパフォーマンスとサポートの充実、プラン変更の柔軟性に基準を置き「さくらのVPS」で契約。
OSインストール
- 開発環境(Apache, Django, PostgreSQL)がインストール可能で管理しやすいOSに絞る。
- ここでは、英語圏のコミュニティが大きく、日本語情報が豊富で個人的に使い慣れているCentOSを選んだ。
- CentOS7_x64_x84(標準)をインストール
インストールは、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でログインできないようにする。
ログイン用の一般ユーザーを作成する。$ adduser vpsuser $ passwd *******
SSHの設定変更
rootで直接アクセス出来ないようにする。$ vim /etc/ssh/sshd_config
→
PermitRootLogin no
がコメントアウトされていたら解除する。 -
公開鍵認証の設定
公開鍵認証でのみログインするようにする。$ vim /etc/ssh/sshd_config
→
PasswordAuthentication no
がコメントアウトされていたら解除する。
上記の設定により、新規登録したvpsuser
と秘密鍵を使用しないとログインできなくなる。