VPS初期設定からサイト公開まで ①最初にやったこと(初期設定とセキュリティ)
VPSを契約した。
自分でサーバーから立ててサイトを運用することで仕組みを理解することが目的。
契約してIPアドレスとパスワードが渡されて、そこから自分が最初にやった初期設定とセキュリティ周りを、順番に整理しておく。
VPSとは
作業に入る前に、VPSとは何かを整理しておく。
VPS(Virtual Private Server / 仮想専用サーバー)は、ざっくり言うと「自分専用のサーバーを、まるごと1台借りられるサービス」だ。
OSより上は自由に使えて、好きなソフトを入れて、好きなように設定できる。
イメージをつかむために、よく比較されるレンタルサーバーと並べてみる。
- レンタルサーバー … マンションの一室を借りる感覚。設備は最初から整っているが、決められた使い方の範囲内でしか動かせない。他の住人と建物(サーバー)を共有している。
- VPS … 一戸建てを借りる感覚。中は自由に改造できるが、その分、設定も管理も自分でやる必要がある。
「専用」と付くが、物理的に1台のマシンを丸ごと占有しているわけではない。
1台の物理サーバーの中を、ソフトウェアで仮想的に区切って、それぞれを独立した1台のように見せている。
これが「Virtual(仮想)」の意味で、区切られた一つひとつは、他の利用者から隔離された自分専用の空間として使える。
なぜレンタルサーバーではなくVPSを選んだか
自分がVPSを選んだのは、自由度と、そして勉強のためだ。
レンタルサーバーは手軽な反面、サーバーの中身がブラックボックスになりやすい。WebサーバーやSSL、ファイアウォールといった仕組みが「最初から設定済み」で提供されるので、動くけれど中で何が起きているかは分からないままになる。
VPSは、その「最初から設定済み」の部分を全部自分でやることになる。
手間はかかるが、SSHでの接続、ユーザー管理、ファイアウォール、Webサーバーの構築、SSL化……と、Webサイトが公開されるまでに何が必要なのかを、一つずつ手を動かして理解できる。
遠回りに見えて、仕組みを学ぶには一番の近道だと思って選んだ。
その代わり、セキュリティも障害対応も自己責任になる。
だからこそ、次に書く初期設定とセキュリティが最初の重要な一歩になる。
使った環境
- さくらのVPS
- Ubuntu 24.04 LTS
- SSH接続にはWindowsからTeraTermを使用
1. SSHでサーバーに接続する
まずやったのはSSHでの接続。
VPSの管理画面でIPアドレスと初期パスワードを確認して、TeraTermから接続する。
接続できたら、まずOSのバージョンを確認した。
lsb_release -a
Ubuntu 24.04 LTS であることを確認。
2. まずパッケージを最新にする
サーバーを触り始める前に、インストール済みのソフトを最新の状態にしておく。
セキュリティ更新も含まれるので、最初にやっておく。
sudo apt update && sudo apt upgrade -y
update がパッケージ一覧の更新upgrade が実際の更新
3. ファイアウォールを設定する(UFW)
サーバーは、外からアクセスできる「入口」をたくさん持っていて、そのままだと必要のない入口まで開いていることがある。使わない入口は閉じておくのがセキュリティの基本。
UbuntuではUFW(Uncomplicated Firewall)という仕組みを使う。
名前の通り、複雑なファイアウォール設定を簡単に扱えるようにしたもの。
考え方はシンプルで、「デフォルトで全部拒否して、必要なものだけ許可する」。
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status
許可したのは3つ。
| ポート | 用途 |
|---|---|
| 22(OpenSSH) | SSHでログインするため |
| 80 | HTTP(Webサイト) |
| 443 | HTTPS(暗号化されたWebサイト) |
ここで一番大事な注意点。SSHの許可を最初にやること。
もしSSHを閉じた状態でファイアウォールを有効にすると、自分がサーバーに入れなくなる。
「何を閉じるか」を考えるときは、まず自分が入る扉を確保してから、という順番を体で覚えた。
4. さくらVPS特有の落とし穴:パケットフィルター
ここでハマった。UFWの設定を終えて、いざWebサーバーを立ててブラウザからアクセスしても、まったく表示されない。ERR_CONNECTION_TIMED_OUT で延々と待たされる。
原因は、さくらVPSにはOS内のUFWとは別に、コントロールパネル側にもパケットフィルターという第二のファイアウォールがあったこと。UFWで80番・443番を開けていても、コントロールパネル側で閉じていたら、そもそもサーバーまで通信が届かない。
コントロールパネルのパケットフィルター設定で、以下を許可したら通るようになった。
| プロトコル | ポート |
|---|---|
| TCP | 22(SSH) |
| TCP | 80 |
| TCP | 443 |
「ファイアウォールが二重になっている」というのは、言われないと気づけない部分だった。
両方を開けて初めて通信が通る。これはさくらVPSを使う人がよくつまずくポイントだと思う。
やってみて分かったこと
VPSの初期設定は、派手さはまったくない。でも、ここをちゃんとやるかどうかで、その後の安心感が全然違うと感じた。
特にファイアウォール周りは、「動けばいい」で後回しにしがちだけど、外に公開するサーバーだからこそ最初にやるべきだった。そして、UFWとパケットフィルターの二重構造のように、「自分の環境特有の事情」は、一般的な手順書には載っていないことがある。エラーが出たときに「どこで止まっているか」を切り分ける力が、こういうところで試されるんだと思う。
次は、このサーバーにWebサーバー(Nginx)を入れて、実際にページを表示させるところまでを書く。