【WordPress構築講座 第3回】プロ仕様のサーバーへ!SSL化・Apache設定・PHP-FPM完全ガイド

Linux

【WordPress構築講座 第3回】Webサイトを「本番レベル」に仕上げる技術

こんにちは!「リナックス先生」です。
前回までに、データベース(MariaDB)を構築し、WordPressのファイルを配置しました。
しかし、今の状態は「とりあえず置いただけ」。このままでは、SEOに弱いだけでなく、WordPressの便利な機能(パーマリンク設定など)も使えません。

コウ君

えっ!?まだ足りないんですか?
前回「ようこそ画面」が出たので安心していました。
それに最近、「PHP-FPM」とかいう言葉も聞くんですけど、それも関係あるんですか?

リナックス先生

いいところに気がついたわね!
AlmaLinux 9では、高速な「PHP-FPM」という仕組みでPHPを動かすのが標準よ。
今回は、Apacheの詳細設定、PHP-FPMの最適化、そしてSSL化まで、「プロが納品するレベル」の設定を全部やるわよ!

1. Apacheの設定:WordPressを「正しく」動かす

デフォルトのApache設定のままだと、WordPressの「パーマリンク設定(記事URLの変更)」機能が動かず、記事をクリックすると「404 Not Found」エラーになってしまいます。
これを防ぐために、設定ファイルを編集します。

設定ファイル(httpd.conf)の編集

メインの設定ファイルを開きます。

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

ファイルの中ほどにある <Directory "/var/www/html"> というセクションを探し、AllowOverride NoneAllowOverride All に変更します。

▼変更前

<Directory "/var/www/html">
    ...
    AllowOverride None
    ...
</Directory>

↓ 書き換え ↓

▼変更後

<Directory "/var/www/html">
    ...
    AllowOverride All  <-- ここを変更!
    ...
</Directory>

【解説】 これにより、WordPressが生成する .htaccess ファイルが有効になり、URLの書き換え(リライト)機能が正しく動作するようになります。

ドメイン名の登録

同じファイル内で ServerName を検索し、あなたのドメイン名を設定します。

#ServerName www.example.com:80
       ↓
ServerName your-domain.com:80  <-- コメント(#)を外してドメインを入力

構文チェックと再起動

書き換えミスがないかチェックしてから再起動します。

[root@localhost ~]# apachectl configtest
Syntax OK  <-- これが出ればOK

[root@localhost ~]# systemctl restart httpd

2. PHP-FPMの設定:サイトを高速化する

AlmaLinux 9では、PHPはApacheのモジュール(mod_php)ではなく、独立したプロセス「PHP-FPM (FastCGI Process Manager)」として動作します。
これが動いていないと、PHPのページが表示されません。

PHP-FPMの起動と自動起動設定

これまでの手順でインストールされていますが、念のため起動設定を行います。

# サービスの起動
[root@localhost ~]# systemctl start php-fpm

# 自動起動の有効化
[root@localhost ~]# systemctl enable php-fpm

# 状態確認(Active: active (running) ならOK)
[root@localhost ~]# systemctl status php-fpm

設定ファイルの確認(www.conf)

PHP-FPMが、Apacheと同じユーザー(apache)で実行される設定になっているか確認します。

[root@localhost ~]# vi /etc/php-fpm.d/www.conf

以下の行が apache になっていることを確認してください(デフォルトでなっているはずです)。

user = apache
group = apache
コウ君

先生、PHP-FPMって何ですか?
なんか強そうな名前ですけど。

リナックス先生

いい質問ね。
従来の方式よりメモリ効率が良くて、大量のアクセスが来てもサーバーが重くなりにくいの。
最近のレンタルサーバーやVPSでは、この「PHP-FPM」を使うのが常識になりつつあるわ。

3. HTTPS用の扉を開ける(Firewalld)

Webサーバーの設定ができたら、次はSSL化の準備です。
暗号化通信用のポート「443番」を開放します。

# HTTPS(443番)ポートの許可
[root@localhost ~]# firewall-cmd --add-service=https --permanent

# 設定の反映
[root@localhost ~]# firewall-cmd --reload

# 確認(servicesに http と https の両方があればOK)
[root@localhost ~]# firewall-cmd --list-all

4. 無料SSL「Let's Encrypt」の導入

証明書の発行からApacheの設定書き換えまでを自動化する「Certbot(サートボット)」を使います。

Certbotのインストール

[root@localhost ~]# dnf install certbot python3-certbot-apache -y

証明書の取得コマンド実行

以下のコマンドを実行します。-d の後ろには、DNS設定済みのあなたのドメイン名を入力してください。

[root@localhost ~]# certbot --apache -d your-domain.com

対話形式でメールアドレス登録や規約同意(Y)を済ませると、Certbotが自動的に以下を行ってくれます。

  1. SSL証明書の取得
  2. ApacheのSSL設定ファイルの作成(/etc/httpd/conf.d/le-ssl.confなど)
  3. httpアクセスをhttpsへ自動転送(リダイレクト)する設定

Congratulations! と表示されれば完了です!

5. WordPressの初期セットアップ(ブラウザ操作)

すべてのサーバー設定が完了しました!
ブラウザで https://[あなたのドメイン]/ にアクセスしてください。

URLの横に「鍵マーク」が表示されているはずです。

データベース情報の入力

画面の指示に従い、第2回で作成したデータベース情報を入力します。

  • データベース名: wordpress
  • ユーザー名: wp_user
  • パスワード: (第2回で設定したパスワード)
  • データベースのホスト名: localhost

インストール実行

「インストール実行」ボタンを押し、サイトのタイトルや管理者アカウントを作成すれば、ついにWordPressの管理画面にログインできます!

6. 【プロの仕上げ】セキュリティ強度を高める

最後に、サーバーエンジニアとして「やって当たり前」のセキュリティ設定を2つ行います。

① wp-config.php の権限引き締め

設定ファイルにはDBパスワードが書かれています。Apacheユーザー以外が読めないようにします。

[root@localhost ~]# chmod 600 /var/www/html/wp-config.php

② Apacheのバージョン情報を隠す

エラーページ等にOSやApacheのバージョンが表示されるのを防ぎます。

# 設定ファイルの末尾に追記
[root@localhost ~]# echo 'ServerTokens Prod' >> /etc/httpd/conf/httpd.conf
[root@localhost ~]# echo 'ServerSignature Off' >> /etc/httpd/conf/httpd.conf

# 反映
[root@localhost ~]# systemctl restart httpd

全3回講座のまとめ:VPS構築完了!

お疲れ様でした!
これで、Apacheの設定からPHP-FPMの最適化、SSL化まで、隙のないWordPress環境が完成しました。
本講座(全3回)のバックナンバーはこちらです。

▼第1回:ApacheとPHPの導入

【WordPress構築講座 第1回】黒い画面でWebサーバーを立ち上げろ!ApacheとPHPの導入
【WordPress構築講座 第1回】「簡単インストール」を使わずに世界を作るこんにちは!「リナックス先生」です。前回は、VPSとレンタルサーバーの違いについて熱く語りました。コウ君、ブログ用のサーバーはレンタルサーバーに決めたみたいだけど...

▼第2回:MariaDBとWordPress導入

【WordPress構築講座 第2回】データ保管庫を作れ!MariaDB構築とWordPressのインストール
【WordPress構築講座 第2回】データベースという名の「金庫」を作るこんにちは!「リナックス先生」です。前回は、Webサーバー(Apache)とPHPをインストールして、サーバーが動くところまで確認しました。今回は、いよいよWordP...

▼第3回:SSL化とApache/PHP設定(本記事)

【WordPress構築講座 第3回】プロ仕様のサーバーへ!SSL化・Apache設定・PHP-FPM完全ガイド
【WordPress構築講座 第3回】Webサイトを「本番レベル」に仕上げる技術こんにちは!「リナックス先生」です。前回までに、データベース(MariaDB)を構築し、WordPressのファイルを配置しました。しかし、今の状態は「とりあえ...
コウ君

ありがとうございます!
「AllowOverride All」とか「PHP-FPM」とか、レンタルサーバーじゃ意識しない部分を知れて面白かったです!
自分の城を持った気分です!

▼サーバー選びで迷っている方はこちら

「コマンド入力や設定ファイルの編集はハードルが高い…」と感じた方は、管理不要のレンタルサーバーがおすすめです。

【徹底比較】VPS vs レンタルサーバー!Linux初心者のあなたが選ぶべきはどっち?
こんにちは!「リナックス先生」です。当サイトではこれまで、Linuxの勉強用として「VPS」を使ったサーバー構築を解説してきました。しかし、コウ君。最近ちょっとお疲れ気味じゃない?先生、バレてますか…。実は、先日の不正アクセス対策やファイア...

▼学習用VPSを用意するなら

本講座で使用している、コマンド操作の練習に最適なVPSはこちらの記事で紹介しています。

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

コメント