WordPress開発環境構築[2] ConoHa VPS 初期設定(DNS・Ubuntu)

更新日:2019/08/02

VPS上に、5分でSSLなサブドメインを増やして、Wordpressテスト環境を量産するのが目標な企画第二回です。

最終的な目標は次のとおり。

(1) サブドメインが異なるWordpress環境を同じサーバー内に、5分以内で作れるようにする。

(2) 追加したサブドメインすべてに、自動的にSSLを設定する。

(3) 各Wordpressのwp-contentディレクトリ内に、同じFTPアカウントで自由に読み書きができる。

(4) FTPでアップしたファイルを、Wordpress上のエディタで自由に変更できる。

その実現方法として、Dockerを利用します。

前回は、ConoHa VPSでOSをインストールするところまでいったので、今回はDNSとOSの初期設定をおこないます。

WordPress開発環境構築レポート

第一回:5分でSSLなサブドメインを増やせる状態にする!
第二回: ConoHa VPS 初期設定(DNS・Ubuntu)
第三回: DcokerでSSL・Wordpress・proxy・mysqlをインストール

 

DNSを設定する

まずはドメインが必要なので、バリュードメインやお名前.comなどでドメインを取得します。

テスト環境なので、一番安いものでOK.。
ただし極端に安いドメインは、一年後の更新費が跳ね上がるので、その時は別のものを取り直す予定です。

安いドメインの落とし穴

長く使う場合は、更新費を確認してから、取得しましょう。

VPSにドメインを登録

最初にドメインとVPSを結びつけます。
まだサーバー設定も何もやっていないから、早いように感じます。
しかし設定した内容が浸透するまで時間がかかるので、ここでやってしまいます。

ドメイン登録 ConoHa VPS

ConoHa VPS ドメイン登録画面にて、

(1) 左側のメニューからDNSを選択

(2) +ドメインをクリック

(3) ドメイン名を入力

(4) 保存を押す

これで、ドメインが登録されます。

ネーム(DNS)サーバーを設定

ドメインを登録すると、ネーム(DNS)サーバー情報が表示されます。

ConoHa VPSのネーム(DNS)サーバー情報 

まずはドメインの取得元と、KonoHaを結びつけます。

ドメイン取得元の管理画面で、ネームサーバー情報を変更します。

バリュードメインでのネーム(DNS)サーバー情報変更【バリューサーバー】

ネーム(DNS)サーバーを設定

ドメインの取得元も、ネームサーバー情報を変更したら、KonoHaのDNS情報に、VPSのIPアドレスを登録します。

タイプ名称TTL
A(通常)*3600IPアドレス
A(通常)@3600IPアドレス

名称の『@』は、サブドメインなしの場合に、参照されます。

*』は、なんらかのサブドメインがついている場合に、参照されます。

 

初期設定

注意:
今回はubuntu-18.04での初期設定です。
他のOSは、一部異なるものがあります。

ConoHa VPSにSSHログイン

次にパソコンから、ConoHa VPSにSSHで接続します。

私は今までTera Termで接続していたのですが、最近のWindows10は、コマンドプロンプトから接続することが可能だそうです。
知りませんでした…ショック
ただしOSのバージョンが古い場合は、サポートされていないかもしれません。

Mac OSはターミナルから、接続できます。

ターミナル:アプリケーション => ユーティリティ
コマンドプロンプト:スタート => Windowsシステムツール

ターミナルやコマンドプロンプトを起動して、次のコマンドを入力すると、VPSに接続できます。

ssh root@IPアドレス -p 22

パスワードを聞いてくるので、VPS作成時に指定したパスワードを入力しましょう。

パスワードを入力しても、ログインできなかったら?

Windows10でコマンドプロンプトを使っている場合、パスワード入力のみCtrl+Vで貼り付けできません。
この場合は、マウスを右クリックすると貼り付けできます。

その他の場合は、パスワードを間違えている可能性が大きいので、VPSを削除して、作り直しましょう…

作業用のユーザーを作成

rootは何でもできるユーザーなので、そのまま使い続けると、セキュリティ的な問題となります。
作業用のユーザーを作って、そのユーザーで作業するのがおススメです。

次のコマンドで、ユーザーを作成します。

# adduser 追加したユーザー名

パスワード入力を2回求められます。

Enter new UNIX password:
Retype new UNIX password:

エンターを連打します。

     Full Name []:←エンター
     Room Number []:←エンター
     Work Phone []:←エンター
     Home Phone []:←エンター
     Other []:←エンター
Is the information correct? [Y/n]←エンター

sudo実行権限追加

次に、追加したユーザーがsudoを実行できるように設定します。
sudoは、root権限が必要なコマンドを、一般ユーザーのまま実行するコマンドです。

権限設定は『visudo』コマンドを使用します。

#visudo

visudo』は、設定ファイル(/etc/sudoers)を編集するコマンドです。

『root ALL=(ALL:ALL) ALL』と入力されている行の後に、次のように入力します。

# User privilege specification
root ALL=(ALL:ALL) ALL
追加したユーザー名 ALL=(ALL:ALL) ALL

ctrl+x => y => enter で登録・終了します。

ちなみに、sudo実行時に今実行しているユーザーのパスワードを求められます。

面倒な場合は、visudoコマンドで、次のように入力することでパスワード入力を省略することができます。

# User privilege specification
root ALL=(ALL:ALL) ALL
追加したユーザー名 ALL=(ALL:ALL) NOPASSWD: ALL

この場合、sudoを使えば何でもできるユーザーになってしまい、セキュリティ的に問題があります。
パスワードの省略は、頻繁にsudoを実行するときだけにしたほうがいいです。

ポートの変更

sshで使用するポートを変更します。

変更中に実行中のsshを終了すると、再度ログインできなくなる可能性があるので注意!

設定ファイルをエディタで開きます。

vim /etc/ssh/sshd_config

13行目付近を次のように変更します。

#Port 22
Port 54321 <= 任意の数字

補足:vimの使い方

x : カーソル位置の一文字を削除

i : 編集を開始する
Esc : 編集から抜ける

wq : 保存して終了する
q! : 保存しないで強制的に終了

/ : 検索

ポート番号は49152から65535の範囲で、好きな数字でいいようです。
私は、端っこの数字を覚えられないので、いつも5万代にしています。

ポート変更を反映

変更した設定の構文をチェック

# sshd -t

エラーが出なければOK。

sshdを再起動して、設定を反映します。

# systemctl restart sshd.service

ポート変更の確認

ターミナルまたはコマンドプロンプトを、新たに起動してSSH接続します。
設定を間違えていた場合、現在の接続を終了すると、再度接続できない可能性があるので注意。

ついでに、追加したユーザーの確認をします。

ssh 追加したユーザー名@IPアドレス -p ssh用に設定したポート

 

SSHを公開鍵接続に変更

作成したユーザーでログインし、公開鍵と秘密鍵を作成します。

作成方法は、次のページをご覧ください。

参考Windows10のコマンドプロンプトでSSH公開鍵認証で自動ログインする方法
参考Tera TermでSSHの公開鍵認証を設定し自動ログインする方法

 

ファイアーウォール設定

次にファイアーウォールの設定を行います。
作業用のユーザーでログインしている場合は、以後のコマンドの前に『sudo』を付加してください。

ファイアーウォールが有効になっているか確認します。

#ufw status

今回の環境では、次のように表示されました。

Status: inactive

ファイアーウォールが有効になっていないようです。

とりあえず無視して、ファイアーウォールを ホワイトリスト方式にします。

#ufw default deny

ホワイトリスト方式:指定されたIPアドレスのみ有効な方式
ブラックリスト方式:指定されたIPアドレスを拒否する方式

SSHで使用するポートを有効にします。

# ufw allow SSHで使用するポート

ついでに、HTTPとHTTPS用のポートを開けておきます。

# ufw allow 80
# ufw allow 443

ファイアーウォール有効化します。

#ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?yes

『コマンドによって既存のSSH接続が中断される可能性があります。 操作を続けますか?』
と聞かれます。
yesと答えましょう。

ちなみに、今回の環境では中断されませんでした。

ファイアーウォールが有効になっていて、ポートが開いているか確認します。

#ufw status
Status: active

To Action From
-- ------ ----
新しいポート ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
新しいポート (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)

設定した数字が表示されていれば、OKです。

 

rootでの接続禁止設定

最後に外部からrootで接続することを禁止して、セキュリティを高めます。

$ cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_backup<=念のためバックアップ
$ vim /etc/ssh/sshd_config

/etc/ssh/sshd_configの変更点:

#rootでのログイン禁止
PermitRootLogin yes
=>
PermitRootLogin no

#パスワードを使ったログインの禁止
PasswordAuthentication yes
=>
PasswordAuthentication no

$ sshd -t
$ systemctl restart sshd.service

念のため、別のコマンドプロンプトで、作業用のユーザーでログインできるかどうか確認しましょう。

確認ができたら、rootでログインできないことを確認します。

ssh root@IPアドレス -p ssh用に設定したポート

更新日:2019/08/02

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。