このブログは、Amazon EC2の上にWordPressを乗せて構築しているのですが、Amazon Linuxのサポートが2020/12/31で切れるということで、年末の休みの間に重い腰を上げてAmazon Linux 2への移行をしました。
いくつかハマったポイントがあったのでメモ。
MySQLサーバーのインストール
いつも通りyumにepelとremiのリポジトリを追加して、MySQL + php-fpm + nginxの環境をつくろうとしたが、MySQLが入ってくれない。MySQLのリポジトリを追加しても依存関係でうまくいかない。
しばらく頑張ったけど、諦めてAmazonのコアリポジトリにあるMariaDBで構築することにした。MySQLと互換性があるみたいなのでしばらく試してみる。
php-fpmのUNIXソケット設定
php-fpmとnginxのブリッジはUNIXソケットを使う派なんだけど、いつも通り/etc/php-fpm.d/www.conf に
listen = /tmp/fpm.socket
を書いてもソケットファイルが作成されない。
CentOS 7以降からsystemdでプロセス管理をするようになり、どうやらSELinuxっぽい感じでセキュリティ対策が施されているらしい。
こちらの記事を参考にphp-fpm.serviceに
PrivateTmp=false
を設定したところ無事/tmp配下にソケットファイルが作成されました。ちなみに、nginxも同様にPrivateTmp=falseにしないとソケットにアクセスできないのでご注意を。
これでずっと個人issuesに上がっていたAmazon Linuxのインスタンスを落とすことができます。
というわけで、2021年もGROOVEをよろしくお願いします。