【第1回】Ubuntu 24.04でLAMP環境構築!VPS初期設定とセキュリティ対策のすべて

Linux

【新連載】脱・初心者!Ubuntuで世界標準のWebサーバーを作ろう

こんにちは!当サイト管理人の「リナックス先生」です。
前回、UbuntuとCentOS(RHEL)の文化の違いについて学びましたが、心の準備はできていますか?

コウ君

先生!心の準備もVPSの準備もバッチリです!
前回教えてもらった通り、Ubuntu 24.04 LTSでサーバーを立ち上げました。
早くあの「黒い画面」でコマンドを打ちたくてウズウズしてます!

リナックス先生

素晴らしいモチベーションね、コウ君。
今回からは実践編よ。世界中のWebサーバーで最も使われている構成である「LAMP環境」を、最新のUbuntu上に構築していくわ。

本連載では、以下の「LAMP」と呼ばれる4つの技術を組み合わせ、WordPressなどの動的なサイトが動くサーバーをゼロから構築します。

  • Linux (Ubuntu 24.04 LTS):土台となるOS
  • Apache (Webサーバー):ページを表示する係
  • MySQL (データベース):データを保存する倉庫
  • PHP (プログラミング言語):処理を行うエンジン

本講座のカリキュラム(全3回)

コピペで進められるよう設計していますが、単なる作業で終わらないよう「コマンドの意味」もしっかり解説します。

  1. 【今回】初期設定編:SSH接続、aptコマンドの作法、ファイアウォールによる要塞化
  2. Web・DB構築編:ApacheのインストールとMySQL(データベース)の初期設定
  3. Webサイト完成編:PHPの導入と、Certbotを使った無料SSL(HTTPS)化

1. サーバー環境の準備(VPS)

まだサーバーを用意していない方は、まず「土地」となるVPSを契約しましょう。
自宅サーバーも勉強にはなりますが、Web公開を前提とするなら、24時間安定稼働し、固定IPアドレスが貰えるVPSが必須です。

コウ君

僕は先生おすすめのVPSで契約しました!
OSを選択するときに「Ubuntu 24.04 LTS (64bit)」を選べばいいんですよね?

リナックス先生

その通り。
必ず「LTS(長期サポート版)」を選ぶのが鉄則よ。
まだ契約していない人は、以下の記事で紹介しているVPSならどれを選んでも失敗しないわ。

▼Ubuntuの学習に最適なVPSはこちら

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

2. SSHで接続し、Ubuntuの「洗礼」を受ける

VPSの契約ができたら、手元のPC(WindowsならPowerShell、Macならターミナル)からSSH接続を行います。
ここはRHEL系と同じですが、復習も兼ねてやってみましょう。

ssh root@あなたのVPSのIPアドレス

パスワードを入力し、root@ubuntu:~# というプロンプトが表示されればログイン成功です。

RHELユーザーが戸惑う「apt」コマンド

ログインしたら、真っ先に行うのがシステムのアップデートです。
ここで、AlmaLinuxユーザーだったコウ君は「ある違い」に気づくはずです。

コウ君

先生、dnf update って打ったら「Command not found」って怒られました…!
Ubuntuって意地悪ですね。

リナックス先生

ふふっ、それがUbuntu(Debian系)の洗礼よ。
Ubuntuではパッケージ管理に apt (アプト) というコマンドを使うの。
以下の2行のおまじないを必ず実行して。

apt update
apt upgrade -y

ここが重要なポイントです。

コマンド 役割 例えるなら
apt update パッケージリスト(カタログ)の更新 スーパーのチラシを最新にする
apt upgrade 実際のソフトの更新 チラシを見て実際に商品を買いに行く

RHEL系の dnf update はこの2つを同時にやってくれましたが、Ubuntuでは「カタログ更新」と「実体更新」が分かれているのが特徴です。
エラーが出ずにプロンプトが戻ってきたら、アップデート完了です。

3. セキュリティ設定:rootからの卒業

いつまでも「神(root)」の権限で作業するのは危険です。
操作ミスでシステムを破壊しないよう、普段使いの一般ユーザーを作成しましょう。

一般ユーザーの作成

ここでは例として demo というユーザーを作ります。

adduser demo

パスワードの設定を求められるので、2回入力します。
その後の「Full Name」などの質問は、すべてEnterキーを押してスキップして構いません。

sudo権限の付与

作成したユーザーにも、必要な時だけ管理者権限(sudo)を使えるようにします。
RHEL系では wheel グループに入れましたが、Ubuntuではその名の通り sudo グループに入れます。

gpasswd -a demo sudo
リナックス先生

これで「demo」ユーザーが管理者権限を持てたわ。
一度 exit でログアウトして、今後は ssh demo@IPアドレス でログインするように習慣づけなさい。

4. ファイアウォール(UFW)で鉄壁の要塞を作る

サーバー構築で最も重要なのがセキュリティです。
Ubuntuには ufw (Uncomplicated FireWall) という、名前の通り「複雑じゃない」非常に使いやすいファイアウォールツールが標準搭載されています。

コウ君

RHELの firewalld は設定が難しくて苦手でした…。
簡単って本当ですか?

本当です。以下のコマンドを上から順に入力するだけです。
(※sudoをつけて実行してください)

# 1. すべての通信を遮断(初期設定)
sudo ufw default deny incoming

# 2. 自分から外への通信は許可
sudo ufw default allow outgoing

# 3. 【最重要】SSH(22番)を許可(これを忘れると締め出されます!)
sudo ufw allow 22

# 4. Webサイト用(80番)とSSL用(443番)を許可
sudo ufw allow 80
sudo ufw allow 443

# 5. ファイアウォールを有効化
sudo ufw enable

有効化する際、Command may disrupt existing ssh connections...(接続が切れるかもよ?)と警告されますが、手順3で22番を許可しているので大丈夫です。y を押して進めましょう。

最後に状態を確認します。

sudo ufw status

Status: active と表示され、22, 80, 443 が ALLOW になっていれば設定完了です。

【第1回まとめ】土台作りは完了!

お疲れ様でした!今回はここまでです。
地味な作業に見えますが、これで「世界中からの攻撃を防ぎつつ、Webサーバーを受け入れる準備ができた状態」になりました。

コウ君

ブラウザでIPアドレスにアクセスしてもまだエラーになりますが、これでいいんですよね?

リナックス先生

ええ。今はまだ「土地に柵を作った」だけの状態だからね。
次回はいよいよ、そこに「お店(Apache)」と「倉庫(MySQL)」を建設するわよ。
ここから一気にエンジニアらしくなるから、楽しみにしていなさい!

▼次回までにUbuntuサーバーを用意しておきましょう

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

(第2回「ApacheとMySQL導入編」へ続く)

コメント