2026年7月29日
2026年7月29日
Rocky Linux 10にWordPressをインストールする手順(Apache・PHP-FPM・MariaDB・SELinux)
Rocky Linux は Red Hat Enterprise Linux(RHEL)と互換のディストリビューションです。この記事では、Rocky Linux 10 のサーバーに Apache・PHP・MariaDB を入れて WordPress を動かすまでを、コピーして実行できる形で説明します。
手順は2026年11月時点の Rocky Linux 10.2 で確認しています。標準のリポジトリ(AppStream)から入るバージョンは次のとおりで、WordPress.org の推奨要件(PHP 8.3 以上、MariaDB 10.11 以上または MySQL 8.0 以上)を満たします。
| ソフト | 標準で入るバージョン(2026年11月時点) |
|---|---|
| Apache(httpd) | 2.4.63 |
| PHP | 8.3(別パッケージで 8.4 も提供) |
| MariaDB | 10.11(別パッケージで 11.8 も提供) |
始める前に確認すること
- root か sudo を使えるユーザーで SSH 接続できること
- サーバーに向けたドメイン名(以下
example.com)。IP アドレスだけでも動作確認はできます - Rocky Linux 10 の x86_64 版は、CPU が x86-64-v3 に対応している必要があります。古い CPU や一部の仮想環境ではインストールできないことがあります。動いている環境では次のコマンドで確認できます。
/lib64/ld-linux-x86-64.so.2 --help | grep x86-64-v
x86-64-v3 (supported, searched) と表示されれば対応しています。
手順1:パッケージを更新してソフトを入れる
最初にシステムを最新にし、Web サーバー・PHP・データベースをまとめて入れます。
sudo dnf -y upgrade
sudo dnf -y install httpd mod_ssl \
php php-mysqlnd php-gd php-xml php-mbstring php-intl php-opcache php-pecl-zip \
mariadb-server policycoreutils-python-utils tar wget
php を入れると PHP-FPM(php-fpm)も一緒に入ります。Rocky Linux の Apache は、PHP をモジュールではなく PHP-FPM 経由で動かす設定(/etc/httpd/conf.d/php.conf)になっています。policycoreutils-python-utils は、後で SELinux の設定に使う semanage コマンドのためのパッケージです。
PHP 8.4 を使いたい場合は php8.4 で始まる別パッケージがあります。最初は標準の 8.3 で構築し、プラグインの対応を確かめてから切り替える方が安全です。
手順2:サービスを起動する
Apache・PHP-FPM・MariaDB を起動し、再起動後も自動で起動するようにします。PHP-FPM は Apache と一緒には起動しないので、個別に有効にします。
sudo systemctl enable --now httpd php-fpm mariadb
sudo systemctl status httpd php-fpm mariadb --no-pager
3つとも active (running) になっていれば成功です。
firewalld が動いているサーバーでは、HTTP と HTTPS を開けます。
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
VPS の場合は、事業者の管理画面にあるパケットフィルターやセキュリティグループでも 80 番と 443 番を開けてください。
手順3:MariaDB の初期設定とデータベースの作成
まず初期設定のスクリプトで、匿名ユーザーやテスト用データベースを削除します。
sudo mariadb-secure-installation
MariaDB 10.11 では、OS の root ユーザーは sudo mariadb でパスワードなしに接続できます(unix_socket 認証)。質問には、root の認証方式はそのまま、匿名ユーザーの削除・リモートからの root ログインの禁止・テスト DB の削除は「Y」で進めるのが一般的です。
次に WordPress 用のデータベースとユーザーを作ります。パスワードは自分で決めた強いものに置き換えてください。
sudo mariadb
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'ここに強いパスワード';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
権限は wordpress データベースの中だけに限っています。サーバー全体の権限(*.*)は与えません。
手順4:WordPress を配置する
日本語版の最新パッケージをダウンロードして /var/www/wordpress に展開します。
cd /tmp
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzf latest-ja.tar.gz
sudo mv wordpress /var/www/wordpress
英語版を使う場合は https://wordpress.org/latest.tar.gz を使います。
続いて設定ファイルを作ります。
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo vi wp-config.php
wp-config.php の次の行を、手順3で作った内容に書き換えます。
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'ここに強いパスワード' );
define( 'DB_HOST', 'localhost' );
同じファイルの「認証用ユニークキー」の8行(AUTH_KEY から NONCE_SALT まで)は、https://api.wordpress.org/secret-key/1.1/salt/ を開いて表示される内容で置き換えます。
最後にファイルの所有者を Apache の実行ユーザー(apache)にします。管理画面からのプラグインやテーマの追加・更新で、WordPress がファイルを書き込めるようにするためです。
sudo chown -R apache:apache /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress -type f -exec chmod 644 {} \;
sudo chmod 640 /var/www/wordpress/wp-config.php
手順5:Apache のバーチャルホストを作る
/etc/httpd/conf.d/wordpress.conf を新しく作り、次の内容を書きます。AllowOverride All は、パーマリンク設定で WordPress が書き込む .htaccess を有効にするために必要です(mod_rewrite は標準で読み込まれています)。
sudo vi /etc/httpd/conf.d/wordpress.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/wordpress
<Directory /var/www/wordpress>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/wordpress_error.log
CustomLog /var/log/httpd/wordpress_access.log combined
</VirtualHost>
設定の文法を確認してから Apache を再読み込みします。
sudo apachectl configtest
sudo systemctl reload httpd
Syntax OK と表示されれば問題ありません。バーチャルホストの書き方の詳細はApacheのバーチャルホスト設定も参考にしてください。
手順6:SELinux の設定
Rocky Linux では SELinux が標準で有効(Enforcing)です。無効にせず、WordPress に必要な分だけ許可します。
# 現在のモードを確認(Enforcing なら以下が必要)
getenforce
# WordPress のディレクトリ全体を Apache が書き込める種類にする
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wordpress(/.*)?"
sudo restorecon -Rv /var/www/wordpress
# WordPress から外部への通信(更新の確認、プラグインの追加、外部 API)を許可する
sudo setsebool -P httpd_can_network_connect on
1つ目の設定は、管理画面からの本体・プラグイン・テーマの更新とメディアのアップロードを可能にするものです。書き込みを wp-content だけに絞りたい場合は、パスを "/var/www/wordpress/wp-content(/.*)?" にします。その場合、本体の更新は管理画面からではなく、SSH で WP-CLI などを使って行います。
SELinux が原因で動かないときは、拒否の記録を確認します。
sudo ausearch -m AVC -ts recent
手順7:ブラウザーでインストールを完了する
ブラウザーで http://example.com/ を開くと、WordPress のインストール画面が表示されます。サイトのタイトル、管理者のユーザー名・パスワード・メールアドレスを入力して「WordPress をインストール」を押せば完了です。
管理画面に入ったら、「ツール」→「サイトヘルス」で、PHP の拡張機能やファイルの書き込み権限について警告が出ていないかを確認してください。
インストール後にしておくこと
- HTTPS にする:
mod_sslは手順1で入れてあります。証明書を用意して 443 番のバーチャルホストを作ります。Let's Encrypt を使う方法はLet's EncryptでSSL証明書を導入する方法を参照してください。 - アップロードの上限を上げる: 標準の
/etc/php.iniはupload_max_filesize = 2M、post_max_size = 8Mです。大きな画像やテーマを上げる場合は値を変え、sudo systemctl restart php-fpmで反映します。 - 定期的に更新する:
sudo dnf upgradeで OS とミドルウェアを、管理画面で WordPress 本体・プラグイン・テーマを更新します。 - バックアップ: データベースのダンプと
/var/www/wordpressのファイルの両方を、サーバーの外にも保存します。
うまくいかないときの確認先
| 症状 | 確認すること |
|---|---|
| PHP のコードがそのまま表示される・503 エラー | systemctl status php-fpm で PHP-FPM が起動しているか |
| 「データベース接続確立エラー」 | wp-config.php の DB 名・ユーザー・パスワード、systemctl status mariadb |
| パーマリンクを変えると 404 | バーチャルホストの AllowOverride All、.htaccess が作られているか |
| 更新やアップロードができない | ファイルの所有者が apache か、SELinux のラベル(ls -Z) |
| 更新の確認やプラグインの検索ができない | getsebool httpd_can_network_connect が on か |
ログは /var/log/httpd/wordpress_error.log(Apache)と /var/log/php-fpm/www-error.log(PHP-FPM)にあります。
まとめ
- Rocky Linux 10 の標準パッケージ(Apache 2.4、PHP 8.3、MariaDB 10.11)で WordPress の推奨要件を満たせる(2026年11月時点)
- PHP は PHP-FPM で動くので、
php-fpmサービスの有効化を忘れない - データベースのユーザーには WordPress 用 DB の権限だけを与える
- パーマリンクのために
AllowOverride Allを設定する - SELinux は無効にせず、
httpd_sys_rw_content_tとhttpd_can_network_connectで必要な分だけ許可する