【第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
実行すると、英語でいくつか質問されます。以下を参考に回答していってください。
- VALIDATE PASSWORD COMPONENT?(パスワード強度診断を入れる?)
→ 開発用や学習用ならN(No)、本番運用で厳格にしたいならY。
初心者はNのほうが「パスワードが単純すぎます」と怒られずに済むので楽です。 - New password:
→ MySQLの管理者(root)用のパスワードを決めて入力します。 - Remove anonymous users?(匿名ユーザーを消す?)
→Y(Yes)。セキュリティのため削除します。 - Disallow root login remotely?(リモートログインを禁止する?)
→Y(Yes)。外部からの攻撃を防ぎます。 - Remove test database?(テスト用DBを消す?)
→Y(Yes)。不要です。 - 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はこちら

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


コメント