とあるテストサーバの WordPress で、あるプラグインを試したところ重大なエラーでリカバリーモードに入ってしまいました。
しかし、そのサーバには MTA がインストールされていなかったため、リカバリーモードの管理画面の案内メールが届きませんでした……。
今後はそうならないように、 MTA をきちんとインストールしておこうと思いました。
今回はメジャーどころの Postfix をサクッと入れて設定します。
ドメイン周りは既に名前解決できる前提で、 Postfix のみさっさと片付けます。
インストール
# dnf install postfix
## 略
完了しました!
サクッとインストール。うーん、ダンディ。
設定確認
# less /etc/postfix/main.cf
mydestination = $myhostname, localhost.$mydomain, localhost
メールサーバ自体は他に任せることにして、 $mydomain
がないことを確認しておきます。
firewall
# firewall-cmd --add-port=25/udp --permanent
success
# firewall-cmd --add-port=25/tcp --permanent
success
# firewall-cmd --reload
success
ポートを開けます。
起動設定
# systemctl enable postfix
# systemctl start postfix
以降はサーバ起動時に起動する設定にし、手動で起動。
バージョン確認
# postconf | grep mail_version
mail_version = 3.3.1
milter_macro_v = $mail_name $mail_version
バージョンも一応確認。入っていますね。
動作確認
WordPress の管理者メールアドレス変更の通知が届いたので、OKです。
備考
今回はリカバリーモードに入れなかったのでプラグインの無効化はDB直接操作で行いました。
wp_option
テーブルの中からoption_name
列の値がactive_plugins
となっているレコードを見付ける- レコードを編集
- 該当プラグインの名称が含まれる、
i
から始まり;
で終わる部分を見付ける- 例:
i:X;s:YY:"PLUGIN-FILENAME";
- 例:
- 1.の部分のみを綺麗に削除
- 2.で消したプラグインの後に続く他のプラグインの
i:X
の数字を1ずつデクリメント(全体でi
が連番になるように) - レコードの値の先頭の
a:XX
の数字XX
から削除するプラグインの数だけ差し引く
- 該当プラグインの名称が含まれる、
プラグインディレクトリもリネームしてあげた方が丁寧ですが、今回はDB操作だけで何とかなりました。