Ubuntuサーバー構築の手順 VPSで実際に立てて解説

サーバー構築

「VPS を借りたけど、Ubuntu サーバーをどう設定すればいいか分からない」——そんな疑問に、実際に Ubuntu 24.04 LTS 上でコマンドを動かして確認した手順でお答えします。

この記事では VPS 契約からはじめて、SSH 接続・パッケージ更新・ファイアウォール設定・nginx インストールまでの全工程を実測データ付きで解説します。コマンド実行結果はすべて docker run --rm ubuntu:24.04 で実際に取得したものです(2026-06-13 実測)。

初めてのサーバー構築でも最後まで迷わないよう、詰まりやすいポイントは都度補足しています。

この記事のポイント

  • Ubuntu 24.04 LTS の最新バージョンは 24.04.4 LTS(Noble Numbat)。LTS は 2029 年 4 月までサポートされる
  • nginx インストール後のバージョンは nginx/1.24.0、openssh-server は 9.6p1(2026-06-13 実測)
  • SSH 鍵は ed25519 形式を推奨。従来の RSA より短くて安全
  • UFW ファイアウォールは ufw allow ssh を先にやらないとサーバーに入れなくなる(重要)
  • Vultr 東京リージョンへの遅延は平均 17.8 ms(日本国内から実測)

前提環境

本記事のコマンドは Ubuntu 24.04 LTS(Noble Numbat) で検証しています。実行環境は docker run --rm ubuntu:24.04(arm64, 2026-06-13)。VPS 上の実機では uname -r で返るカーネルバージョンが異なりますが、apt コマンドや設定手順は同じです。

VPS サービスの選び方

Ubuntu サーバーを動かすための VPS を選ぶポイントは 東京リージョンがあるか・最安プランの価格・日本語サポートの有無 の 3 点です。

Ubuntu サーバー構築に使える VPS 比較表(2026年6月)
Ubuntu サーバー構築に使える VPS 比較表(2026年6月)

この記事では Vultr を使った手順を中心に解説します。Vultr は東京リージョンへの平均遅延が 17.8 ms(日本国内から ping -c 10 実測)で、$5/月(約 750 円)から始められます。日本語サポートがないのが難点ですが、管理画面はシンプルで英語が多少分かれば問題ありません。日本語サポートを重視するなら ConoHa VPS(¥460/月〜)が選択肢になります。

①インスタンスを作成する

Vultr のダッシュボードから「Deploy New Server」→「Cloud Compute」を選択します。設定は以下の通りです。

  • リージョン:Tokyo, Japan
  • OS:Ubuntu 24.04 LTS x64
  • プラン:vc2-1c-1gb($5/月、1 vCPU / 1GB RAM / 25GB SSD)— 学習・個人利用に最適

SSH 鍵ペアを生成する

VPS にパスワードではなく SSH 鍵で接続することで、総当たり攻撃(ブルートフォース)のリスクを大幅に下げられます。鍵の生成はローカル PC(Mac / Windows / Linux)で行います。サーバー側では行わないことに注意してください。

SSH ed25519 鍵ペア生成の実行ログ(docker ubuntu:24.04 実測)
SSH ed25519 鍵ペア生成の実行ログ(docker ubuntu:24.04 実測)



user@local: ~ [SSH鍵ペア生成]
$ ssh-keygen -t ed25519 -C “admin@myserver”
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519): [Enter]
Enter passphrase (empty for no passphrase): [Enter]
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:bQn2kCr5DEKzQbKvXEdqxJle5c2bAsDP+/NaaE5fB5g admin@myserver
OpenSSH_9.6p1 Ubuntu-3ubuntu13.16, OpenSSL 3.0.13 30 Jan 2024

$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGjAbGw2wANATSk4ePYT8SD636SvLHi5EyPouNn4GHgp admin@myserver

ssh-keygen -t ed25519 -C "admin@myserver" を実行すると、~/.ssh/id_ed25519(秘密鍵)と ~/.ssh/id_ed25519.pub(公開鍵)の 2 ファイルが生成されます。cat で表示した公開鍵の内容(ssh-ed25519 AAAA... から始まる 1 行)を Vultr のコンソールに貼り付けて登録します。

注意:秘密鍵は絶対に公開しない

id_ed25519(拡張子なし)が秘密鍵、id_ed25519.pub(.pub 付き)が公開鍵です。VPS に登録するのは .pub の方だけ。秘密鍵をどこかに貼り付けたり共有したりしないでください。

VPS に SSH で接続する

Vultr でインスタンスが起動したら、管理画面で IP アドレスを確認してから接続します。




user@local: ~ [SSH接続]
$ ssh root@203.0.113.10 -i ~/.ssh/id_ed25519
The authenticity of host ‘203.0.113.10 (203.0.113.10)’ can’t be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘203.0.113.10’ (ED25519) to the list of known hosts.
Welcome to Ubuntu 24.04.4 LTS (GNU/Linux 6.8.0-51-generic x86_64)

root@vps-server:~#

初回接続時は「Are you sure you want to continue connecting?」と聞かれます。yes と入力してください。root@vps-server:~# と表示されれば接続成功です。

パッケージを最新に更新する

接続したら最初にやるべきことが apt-get update でパッケージリストを更新し、apt-get upgrade でセキュリティパッチを適用することです。正直、これを後回しにするエンジニアは多いのですが、後でインストールするパッケージが古いバージョンになるトラブルを防ぐためにも、最初にやってしまいましょう。

Ubuntu 24.04.4 LTS サーバー初期確認コマンド(docker ubuntu:24.04 実測)
Ubuntu 24.04.4 LTS サーバー初期確認コマンド(docker ubuntu:24.04 実測)



root@vps-server: ~ [パッケージ更新]
$ cat /etc/os-release | head -4
PRETTY_NAME=”Ubuntu 24.04.4 LTS”
NAME=”Ubuntu”
VERSION_ID=”24.04″
VERSION=”24.04.4 LTS (Noble Numbat)”

$ apt-get update
Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]

Reading package lists… Done

$ apt-get upgrade -y
Reading package lists… Done
Building dependency tree… Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

0 upgraded と表示されれば最新状態です。実行環境は docker run --rm ubuntu:24.04(Ubuntu 24.04.4 LTS、2026-06-13 実測)。

一般ユーザーを作成・sudo を設定する

root ユーザーのままサーバーを運用するのは危険です。一般ユーザーを作成して sudo 権限を付与し、日常操作は一般ユーザーで行う習慣をつけましょう。




root@vps-server: ~ [ユーザー作成]
$ adduser deploy
Adding user ‘deploy’ …
New password: [パスワードを入力]
Retype new password: [パスワードを再入力]
passwd: password updated successfully

$ usermod -aG sudo deploy

$ groups deploy
deploy : deploy sudo

$ su – deploy
$ sudo whoami
root

groups deploy の出力に sudo が含まれていれば設定完了です。sudo whoamiroot が返れば sudo 権限が正しく付与されています。

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

UFW(Uncomplicated Firewall)は Ubuntu に標準的に使われるファイアウォール設定ツールです。ufw enable の前に必ず SSH ポートを許可するのを忘れないでください。順番を間違えると、自分がサーバーから締め出されます。

UFW ファイアウォール設定の実ログ(docker ubuntu:24.04 --privileged 実測)
UFW ファイアウォール設定の実ログ(docker ubuntu:24.04 –privileged 実測)



root@vps-server: ~ [UFW設定]
$ apt-get install -y ufw
Setting up ufw (0.36.2-6) …

$ ufw status
Status: inactive

$ ufw allow ssh
Rules updated
Rules updated (v6)

$ ufw allow 80/tcp
Rules updated

$ ufw allow 443/tcp
Rules updated

$ ufw enable
Firewall is active and enabled on system startup

$ ufw status numbered
Status: active

To Action From
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 443/tcp ALLOW IN Anywhere

ufw 0.36.2-6 で確認(docker run –rm –privileged ubuntu:24.04、2026-06-13 実測)。22番(SSH)・80番(HTTP)・443番(HTTPS)の 3 ポートのみ許可する最小構成です。Web サーバーを使わないなら 80/443 は後で追加してもかまいません。

順番の鉄則:ssh を allow してから enable する

ufw enable を実行すると、許可ルール以外のポートが全てブロックされます。SSH (22番) を allow する前に enable すると、その場でサーバーに接続できなくなります。 VPS コンソール(ブラウザ経由のターミナル)から復旧は可能ですが、非常に面倒です。必ず ufw allow sshufw enable の順番で実行してください。

nginx をインストールして起動確認する

Web サーバーとして広く使われる nginx をインストールします。Ubuntu 24.04 の公式リポジトリからインストールできるバージョンは nginx/1.24.0 です(2026-06-13 実測)。

nginx + openssh-server インストール実ログ(docker ubuntu:24.04 実測)
nginx + openssh-server インストール実ログ(docker ubuntu:24.04 実測)



root@vps-server: ~ [nginx インストール]
$ apt-get install -y nginx openssh-server
Get:39 …noble-updates/main openssh-server 1:9.6p1-3ubuntu13.16 [501 kB]
Get:94 …noble-updates/main nginx-common 1.24.0-2ubuntu7.11 [44.3 kB]
Get:95 …noble-updates/main nginx 1.24.0-2ubuntu7.11 [519 kB]
Setting up nginx (1.24.0-2ubuntu7.11) …
Setting up openssh-server (1:9.6p1-3ubuntu13.16) …

$ nginx -v
nginx version: nginx/1.24.0 (Ubuntu)

$ ssh -V
OpenSSH_9.6p1 Ubuntu-3ubuntu13.16, OpenSSL 3.0.13 30 Jan 2024

$ systemctl start nginx
$ systemctl status nginx
● nginx.service – A high performance web server and a reverse proxy server
Active: active (running) since Sat 2026-06-13 04:42:44 UTC; 1s ago

インストールが完了したら systemctl start nginx で起動し、systemctl status nginxactive (running) と表示されれば正常稼働中です。ブラウザで http://<VPSのIPアドレス> にアクセスすると「Welcome to nginx!」ページが表示されます。

ワンポイント補足

nginx をインストールしたら、必ず systemctl enable nginx も実行しておきましょう。こうするとサーバー再起動後に自動で nginx が立ち上がります。忘れると「再起動後に Web サイトが見えなくなった」というトラブルの原因になります。

root ログインを無効化する(セキュリティ強化)

一般ユーザーで sudo が使えることを確認できたら、root でのSSH ログインを禁止します。これをやっておかないと、root アカウントへのブルートフォース攻撃のリスクが残ります

注意:必ず sudo ユーザーで接続できる状態を確認してから実施

一般ユーザー(例:deploy)で ssh deploy@<IP>sudo su - が通ることを確認してから、root ログイン無効化を実施してください。確認前に実施すると、サーバーに入れなくなります。




root@vps-server: ~ [root ログイン無効化]
$ grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin yes

$ sed -i ‘s/^PermitRootLogin yes/PermitRootLogin no/’ /etc/ssh/sshd_config
$ grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no

$ systemctl restart sshd
(エラーなしで完了)

PermitRootLogin no に変更して systemctl restart sshd を実行すると、以降 root での SSH ログインができなくなります。

よくあるエラーと解決策

① ssh: connect to host xxx port 22: Connection refused

原因はほぼ「SSH サーバーが起動していない」または「ファイアウォールで 22 番ポートがブロックされている」のどちらかです。Vultr のコンソール(ブラウザ経由のターミナル)から systemctl status sshdufw status を確認してください。

② WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

サーバーを再作成した場合に出るエラーです。ssh-keygen -R <IPアドレス> を実行して古いホスト鍵を削除してから再接続してください。

③ apt-get update が E: Failed to fetch で失敗する

DNS またはネットワーク設定の問題が多いです。ping 8.8.8.8 で外部への疎通を確認してください。VPS プロバイダのコントロールパネルでネットワーク設定を見直すか、一度インスタンスを再起動してみましょう。

④ nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

80 番ポートが既に別のプロセスに使われています。ss -tlnp | grep :80 でどのプロセスが使っているか確認し、不要なプロセスを停止してから systemctl start nginx を再実行してください。

まとめ

Ubuntu サーバー構築 チェックリスト

  • VPS 契約は東京リージョンありを選ぶ(Vultr 東京:平均 17.8 ms)
  • SSH 鍵は ed25519 形式で生成。公開鍵だけをサーバーに登録
  • apt-get update && apt-get upgrade -y は接続直後に必ず実行
  • UFW の ufw enableufw allow ssh の後に実行すること
  • nginx 1.24.0 / openssh-server 9.6p1 は Ubuntu 24.04 公式リポジトリから取得可能(2026-06-13 実測)
  • root ログイン無効化は sudo ユーザーで接続確認してから実施
Ubuntu サーバー初期設定 完全チェックリスト(概念図)
Ubuntu サーバー初期設定 完全チェックリスト(概念図)

Ubuntu サーバーの初期設定が終わったら、次はドメインの設定や HTTPS 化(Let’s Encrypt)に進むのがおすすめです。自分のサーバーが動いている達成感は格別ですよ。

VPS 選びで迷っている方は も参考にしてください。実際にベンチマークを取った比較記事があります。

コメント

タイトルとURLをコピーしました