OpenLiteSpeedでWordPress構築 ~最適化~
第二回ですね。
目次 / Contents
MariaDB-Server-GPG-KEY が無いから追加。アップデートできない。
前回インストールしたMariaDBなんですが、このままだと何故かアップデートでエラーが出ます。
なのでその対処をまずします。(AlmaLinux9だから?)
wget -O /etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY https://downloads.mariadb.com/MariaDB/MariaDB-Server-GPG-KEY
これでとりあえずアップデートはうまくできるようになるはず。
サイトヘルスステータス
初期状態だと2件の改善項目があります。
これの対処法。

なのですが、このimagickがちょっと癖ものです。
基本的にはPHPのオプションモジュールを入れれば行けるはずなのがうまくいかず。
どうも、imagemagicのバージョン7以上を入れないと駄目っぽい。
なのでそのやり方。
dnf --enablerepo=remi install ImageMagick7
オプションのremiリポジトリからバージョン7の最新版を持ってくるコマンドです。
そしたら、サイトヘルスステータスに記された、imagickとintlのオプションモジュールをインストールします。
dnf -y install lsphp81-imagick lsphp81-intl
インストールが完了したら一度再起動させます。
下の画像のようになれば成功です。
HTTPS対応は後でやります。

All In One WP Security
さて、公開するためにとりあえずのセキュリティーを設定しようと思います。
これはプラグインでやってしまうのでとりあえずAll In One WP Securityでの最低限の設定方法を書きます。
もちろんやらなくてもいいですし、別な方法でも全然かまいません。
そこはお好みでどうぞ。

インストールの仕方は画像で分かりますかね。
特段難しいことはないと思います。
有効化したら設定に行きます。

File permissions
まずはファイルの権限の設定がしたいので、「ファイルシステムセキュリティー」の「File permissions」で


権限を書き換えてあげます。
Login lockout
これはログインに失敗した回数でIPアドレスをブロックするものです。
総当たり攻撃に対するクッションの役割となります。
完璧に防ぐわけではありませんが、とりあえずの対処法となります。

とりあえずチェックをつけるだけでいいです。
お好みで変えてください。
ログインページ機能の名称を変更
次にログインページの名称を変更します。
これはBotによる攻撃を防ぐのが目的です。
デフォルトは「wp-login.php」になっていて、Botはそこをまず攻撃してくるので変えておくだけで対応できます。
ハッカーからの攻撃に対してはそこまで有効じゃないかもですがね。

データベース接頭辞
これもデフォルトは決まっているので、適当なものに変更することで攻撃されにくくできるようです。

設定をセーブするのを忘れないでください。
XMLRPC機能
参考:【WordPressセキュリティ対策】XMLRPC機能は絶対に無効化した方がいい理由|ミキティ・Tのブログ (mikit-tz.com)
こいつは、まぁ固定IPにしていると攻撃されまくった機能です。
でこいつをAll In One WP Securityでも設定できるんですが、残念ながら反映されません。
どういう事かというと「.htaccess」に恐らく設定を書き込むのですが、
OpenLiteSpeedでは「.htaccess」の一部機能しか使えないため、そのままだと機能が有効化されないのです。
仕方がないので、直接設定をします。
まず、現時点でXMLRPC機能が有効かどうかをチェックします。
ブラウザで「192.168.xxx.xxx/xmlrpc.php/」と入力して
「XML-RPC server accepts POST requests only.」と出てきた場合は、有効になっています。

この機能を使う予定の人は無効化しないでください。
まぁスマホ等でWordPressの編集ができるような機能らしいんで、自分は要らなかったです。
この機能が無くてもスマホから編集は出来ますし。(まぁやらないけど)
ブラウザに「192.168.xxx.xxx:7080」(サーバーのIP)と入力します。
するとOpenLiteSpeedのWEB管理コンソールに行けると思います。
ここで以前にメモった、設定メモから
WebAdmin username:
WebAdmin password:
を拾ってきてログインします。


日本語に切り替えて、WordPressの設定に行きます。

Rewriteルールを追加します。
rewriteRule ^/(xmlrpc\.php|wp-trackback\.php) - [F,L,NC]
上記を追加します。

LiteSpeedを再起動します。
ブラウザで「192.168.xxx.xxx/xmlrpc.php/」と入力して403エラーページが出てきたら無効化成功です。

とりあえず、最低限としてはこんなところで、
後は、お好みで。
ただし、注意点として、あまりやりすぎると管理者がログインできなくなるので気を付けてください。
正直バックアップを取れるようになってから、色々いじったほうがいいと思います。
ログイン出来なくなったら、最悪WordPressのインストールからやり直しですからね。
セキュリティーソフトなんかもここでは割愛します。
入れたい方はご自由にどうぞ。
Redisインストール
Redisが何かというと、なんかメモリ上にデータベースを展開して高速化してくれるツールという認識です。
きちんとやろうとすると大変なんですが、なんかPageSpeed Insightsで推奨のツールなので入れておきます。
勿論、簡単インストールです。
sudo dnf install -y redis
sudo systemctl enable --now redis
sudo dnf install -y lsphp81-pecl-redis
1-2行目:Redisインストールおよび起動。
3行目:LiteSpeed用PHPのRedisモジュールをインストール。
ここで、いったんWEBサーバーを再起動します。
WordPressのLiteSpeedの設定で「オブジェクトキャッシュ」のRedisの項目が有効になっているのを確認します。

確認出来たら、下記項目を変更し「変更を保存」します。

これで、Redisのインストールおよび初期設定完了です。
さて、次回はついに山場のHTTPS対応、そして公開です。
結構大変ですが、頑張ってください!