Ubuntuでwebサーバを構築する

ファイアウォールを設定する

ufwをインストールする

sudo apt install ufw

有効化する

sudo ufw enable

任意のipアドレスからssh(22)とhttp(80)を許可するルールを追加する

sudo ufw allow ssh
sudo ufw allow http

状態を確認

sudo ufw status

To            Action    From
--            ------    ----
22/tcp        ALLOW     Anywhere
80/tcp        ALLOW     Anywhere
22/tcp(v6)    ALLOW     Anywhere
80/tcp(v6)    ALLOW     Anywhere

TODO

  • 特定のipアドレスからのsshのみ許可する
  • sshのデフォルトポートを変更する
    • 22 -> 22222
    • /etc/ssh/sshd_configのPortを22222に修正
    • クライアントも修正
    • ssh configのPortを22222に修正

webサーバの構築

nginxをインストールする

sudo apt install nginx

Ubuntuマシンのipアドレス(今回は192.168.11.100)にアクセスするとnginxのデフォルトページが表示される。

htmlファイルの編集

自分で作成したhtmlファイルを、構築したwebサーバのドキュメントルートに作成する。
/var/www/htmlディレクトリは以下に以下のhtmlファイルを作成する。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>takumidiary</title>
</head>
<body>
  <h1>Hello, I'm Takumi !</h1>
</body>
</html>

Ubuntuにアクセスすると上記コードのh1タグの内容が画面に表示される。

ルータのポート解放

インターネットからアクセスできるようにルータのポートを解放する。192.168.11.1にアクセスしてルータにログインする。サードバーの「セキュリティ」→「ポート変換」でポート解放を行う。

ポート解放

ドメインの取得

独自ドメインはお名前.comで取得する。
お名前.com Naviにログインしドメイン登録から取得したいドメインを検索する。

domain_3

domain_4

オプションにもチェックしドメインを取得する。

DNS名前解決

動的IPアドレスの回線では、ISPから割り当てられるグローバルIPアドレスは接続によって変化してしまう。IPアドレスが変化してしまうとドメインとの紐付けが無効になってしまうため、固定IPアドレスに変更するもしくはDDNSによってIPアドレスをドメインに紐づけることで対応する。今回はDDNSを用いてIPアドレスとドメインの紐付けを行う。MyDNSという無料のDDNSを使う。

  1. MyDNSに登録
  2. 「DOMAIN INFO」のDomain欄にお名前.comで取得したドメインを入力してCHECKボタン選択

mydns_1

ドメインを設定できたらHostName Testで反映されている確認する。

ネームサーバの設定

お名前.comでMyDNSのネームサーバを設定する。

  • ns0.mydns.jp
  • ns1.mydns.jp
  • ns2.mydns.jp

domain_5

独自ドメインの情報がどのネームサーバにあるのかを示すための設定。

IPアドレス自動通知

CentOSで自宅サーバ構築 - ドメイン名取得(MyDNS.JP編)のスクリプトを設定する。

参考