【第2回】Ubuntu 24.04でWebサーバー構築!ApacheとMySQLのインストール手順

Linux

【第2回】「Apache」と「MySQL」でサーバーに命を吹き込む

こんにちは、リナックス先生です。
前回は「SSH接続」と「ファイアウォール設定」という、地味だけど重要な土台作りを行いました。
コウ君、サーバーの調子はどう?

コウ君

先生! 前回言われた通りポート80(Web用)を開放したんですが、ブラウザでIPアドレスにアクセスしても「接続できません」って出るんです…。
ファイアウォールの設定、間違えちゃったかなぁ?

リナックス先生

ふふ、慌てないで。
それは「お店のドア(ポート)」は開けたけど、肝心の「お店(Webサーバーソフト)」がまだ開店していないからよ。
今回は、Webサーバーの王道「Apache(アパッチ)」と、データの保管庫「MySQL」をインストールしていくわよ!

1. Webサーバー「Apache」をインストールする

Webブラウザからのアクセスに応答して、ページを表示するソフトを入れます。
ここでも、RHEL系(AlmaLinuxなど)とはソフトの名前が違うので注意が必要です。

OS パッケージ名 インストールコマンド
RHEL系 httpd dnf install httpd
Ubuntu apache2 apt install apache2

では、以下のコマンドを実行しましょう。

sudo apt install apache2 -y

インストールが終わったら、ちゃんと動いているか確認します。

sudo systemctl status apache2

緑色の文字で Active: active (running) と表示されていれば成功です。
(確認画面から抜けるときは、キーボードの q を押してください)

感動の瞬間!ブラウザで確認しよう

ここでブラウザのアドレスバーに、あなたのVPSのIPアドレスを入力してアクセスしてみてください。

コウ君

あ!赤い背景のページが出ました!
「Ubuntu Default Page」って書いてあります!

リナックス先生

おめでとう!
これで君のサーバーは、世界中からアクセスできる「Webサイト」として機能し始めたわ。

2. ファイル編集のための権限設定(重要)

Webサイトのデータ(HTMLファイルなど)は、/var/www/html/ という場所に置かれます。
しかし、初期状態では「root(管理者)」しかファイルを書き込めません。
これでは不便なので、普段使っている作業用ユーザー(前回作成した demo など)でも編集できるように設定を変更します。

以下のコマンドを実行してください。

# /var/www/html 以下の所有者を、現在ログイン中のユーザー($USER)に変更する
sudo chown -R $USER:$USER /var/www/html

# 権限を「所有者は読み書き実行OK、他は読み取りと実行のみ」に設定
sudo chmod -R 755 /var/www
リナックス先生

この設定を忘れると、FTPソフトでファイルをアップロードしようとした時に「権限がありません」ってエラーが出て初心者は泣くことになるの。
今のうちにやっておいて正解よ。

3. データベース「MySQL」のインストール

WordPressのような動的なサイトを作るには、記事データなどを保存するデータベースが必要です。
ここでは世界標準のMySQL(マイエスキューエル)を導入します。

sudo apt install mysql-server -y

インストール自体はすぐに終わりますが、初期状態のMySQLはセキュリティが少し甘い状態です。
必ず以下の「初期設定ウィザード」を実行して鍵をかけましょう。

sudo mysql_secure_installation

実行すると、英語でいくつか質問されます。以下を参考に回答していってください。

MySQL初期設定の回答例
  1. VALIDATE PASSWORD COMPONENT?(パスワード強度診断を入れる?)
    → 開発用や学習用なら N (No)、本番運用で厳格にしたいなら Y
    初心者は N のほうが「パスワードが単純すぎます」と怒られずに済むので楽です。
  2. New password:
    → MySQLの管理者(root)用のパスワードを決めて入力します。
  3. Remove anonymous users?(匿名ユーザーを消す?)
    Y (Yes)。セキュリティのため削除します。
  4. Disallow root login remotely?(リモートログインを禁止する?)
    Y (Yes)。外部からの攻撃を防ぎます。
  5. Remove test database?(テスト用DBを消す?)
    Y (Yes)。不要です。
  6. Reload privilege tables now?(設定を反映する?)
    Y (Yes)。

4. WordPress用のデータベースを作ってみよう

せっかくなので、将来WordPressを入れることを想定して、専用のデータベースを作ってみましょう。
ここからは「SQL」という言語の世界ですが、コピペで大丈夫です。

(1) MySQLにログイン

sudo mysql -u root -p

先ほど設定したMySQLのrootパスワードを入力すると、プロンプトが mysql> に変わります。

(2) データベースとユーザー作成

以下のコマンドを1行ずつ入力(コピペ)してください。
※パスワード部分(password123)は、自分だけの複雑なものに変えてくださいね。

-- 1. データベース作成(名前: wp_db)
CREATE DATABASE wp_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 2. ユーザー作成(名前: wp_user、パスワード: password123)
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password123';

-- 3. 権限の付与(wp_user は wp_db を自由に操作できる)
GRANT ALL ON wp_db.* TO 'wp_user'@'localhost';

-- 4. 設定反映
FLUSH PRIVILEGES;

-- 5. 終了
EXIT;
コウ君

Query OK って出ました!
これで「箱(データベース)」と「管理人(ユーザー)」の準備ができたってことですね。

【第2回まとめ】残るはエンジンのみ!

お疲れ様でした!今回で以下の構成が出来上がりました。

  • Webサーバー(Apache): 訪問者を受け入れる窓口
  • データベース(MySQL): データを保存する倉庫
リナックス先生

でもコウ君、これだけじゃまだWordPressは動かないの。
次回はいよいよ最終回。これらを動かすエンジンである「PHP」をインストールして、Webサイトを「SSL(https化)」して完成させるわよ!

もし、まだ手元にサーバーがない人は、今のうちに準備して追いついてくださいね。

▼初心者が失敗しないUbuntu VPSはこちら

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

(第3回「PHP導入とSSL化・完結編」へ続く)

コメント