Ubuntuでwebサーバを構築する
公開: 2023/07/09
ファイアウォールを設定する
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にログインしドメイン登録から取得したいドメインを検索する。
オプションにもチェックしドメインを取得する。
DNS名前解決
動的IPアドレスの回線では、ISPから割り当てられるグローバルIPアドレスは接続によって変化してしまう。IPアドレスが変化してしまうとドメインとの紐付けが無効になってしまうため、固定IPアドレスに変更する
もしくはDDNSによってIPアドレスをドメインに紐づける
ことで対応する。今回はDDNSを用いてIPアドレスとドメインの紐付けを行う。MyDNSという無料のDDNSを使う。
- MyDNSに登録
- 「DOMAIN INFO」のDomain欄にお名前.comで取得したドメインを入力してCHECKボタン選択
ドメインを設定できたらHostName Testで反映されている確認する。
ネームサーバの設定
お名前.comでMyDNSのネームサーバを設定する。
- ns0.mydns.jp
- ns1.mydns.jp
- ns2.mydns.jp
独自ドメインの情報がどのネームサーバにあるのかを示すための設定。
IPアドレス自動通知
CentOSで自宅サーバ構築 - ドメイン名取得(MyDNS.JP編)のスクリプトを設定する。