【CentOS Stream 9】WordPressを動かしてみた

CentOS Stream 9の環境でWordPressを動かしてみます。
今までのOSで動かす場合と大きく変わるところはないので過去に構築した経験のある方なら簡単な作業だと思います。

WordPress

WordPressは公式サイトから最新版をダウンロードします。

日本語

WordPress を今すぐダウンロードし、世界で最も強力で、有名で、拡張性の高いプラットフォームの一つを使って、サイト…

ダウンロードしたファイルを展開すると「wordpress」というディレクトリができるのでそれを適当なディレクトリに移動しておきます。
今回は/var/wwwの下に移動しました。
また、このディレクトリをNginxのドキュメントルートにします。

tar xzvf {ダウンロードしたファイル名}
sudo mv wordpress /var/www/
cd /var/www
sudo chown -R nginx:nginx wordpress

Webサーバー

WebサーバーとしてはNginxを使用します。

公式にあるリポジトリー追加手順にはCentOS Stream 9用のものはないのでappstreamリポジトリから追加します。

sudo dnf install nginx
sudo systemctl start nginx

Nginxの設定については割愛しますが、前述の通りドキュメントルートをWordPressのディレクトリにします。

root /var/www/wordpress/;

PHP

PHPは8.1を使用します。

dnfコマンドでインストールすると8.0系が入ってきますのでRemiリポジトリから8.1系をインストールします。
ついでにWordPressで必要となるPHP拡張もインストールします。

sudo dnf module install php:remi-8.1
sudo dnf install php-mysqlnd php-intl php-pecl-zip php-gd php-pecl-imagick-im7

PHP-FPM

PHPをインストールした際にPHP-FPMもインストールされるのですが、その設定ファイルをNginx用に修正します。
対象のファイルは/etc/php-fpm.d/www.confです。
修正箇所は以下になります。

user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
;listen.acl_users = apache,nginx
;listen.acl_groups =

修正が終わったらPHP-FPMを起動します。

sudo systemctl start php-fpm

SSL証明書の取得

httpsで接続できるよう、SSL証明書を取得します。
Let’s Encrypt発行の証明書を使う場合はcertbotコマンドを利用すると簡単です。
(詳細は割愛します)

sudo certbot certonly

証明書を取得したらその証明書を使うようにNginxの設定ファイルを修正します。
(こちらについても詳細は割愛します)

尚、certbotのインストールについてはこちらの記事をご覧ください。

関連記事

現在、CentOS Stream 9(以下、Stream 9と記述)の環境をテスト的に構築しています。 CentOS Stream 8(以下、Stream 8と記述)のサポートが終了するのでその前に乗り換える計画です。 Stream[…]

MariaDB

DBとしてMariaDBを使用します。
インストール後に初期設定スクリプトを実行します。
(初期設定スクリプトについての詳細は割愛します)

sudo dnf install mariadb mariadb-server
sudo systemctl start mariadb
sudo mysql_secure_installation

以上でひとまず環境構築は完了です。

環境は構築できましたが、このままではいろいろと不足していてWordPressはまだ動きません。
引き続き設定をしていきます。

DBとユーザーの作成

WordPressで使うDBとユーザーを作成します。
公式サイトに詳細なドキュメントがあります。

サポートフォーラム

Web サーバーに WordPress をインストールする場合、以下の手順のどれかを使用して WordPres……

今回はシェルからmysqlコマンドを使用して作成していきます。

mysql -u root -p
create database blog;
grant all privileges on blog.* to "blog"@"localhost" identified by "hogehoge";
flush privileges;
exit

今回は例として、blogというデータベースとblogというユーザーを作り、権限を与えました。

WordPressの設定ファイルの作成

上記のDB及びユーザーの情報を設定ファイルに追記します。
WordPressのディレクトリ(今回は/var/www/wordpress)に移動して作業します。

cd /var/www/wordpress
sudo cp -a wp-config-sample.php wp-config.php
sudo vim wp-config.php

wp-config.php内の下記の項目を上記の情報で書き換えます。

/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'blog' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'blog' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'hogehoge' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );

修正が終わったら当該ファイルのパーミッションを変更しておきます。

sudo chmod 600 wp-config.php

WordPressインストーラーの起動

以上で最低限の設定は完了です。
「https://{ドメイン名}/wp-admin/install.php」にアクセスするとWordPressのインストーラーが起動します。

WordPressのインストーラー

インストールが終わって問題なく動作することが確認できたら必要に応じて各種サービスの自動起動設定や各種チューニングを行います。


まとめ

冒頭でも述べたとおり、既存のOSと同じような手順でWordPressを動かすことができました。
インストール後、不要なプラグインやテーマを削除することでサイトヘルスの結果も「良好」になりました。

サイトヘルスの結果

細かい設定などはかなり割愛してしまいましたが、この記事がCentOS Stream 9でWordPressを動かしたい方の参考になれば幸いです。