CentOS 8上のnginx+php-fpmがsqlite3データベースに書き込んでくれなくて困った話
ふだんDebianばかり触っているので、知らない子であるCentOSでWebサーバーを構築したら、Webアプリからsqlite3のデータベースに書き込みができない現象が起こりました。
読み取りはできて書き込みができないので、パーミッションを調べても書き込み可だし、何が何だかわかりません。インターネットの力で、どうやらこれがSELinuxのせいであるらしきことがわかりました。
そこで、以下のようなコマンドを実行しました。コンテキストを復元して、SELinuxのフラグをいじるわけです。
# restorecon -R /var/www/html
# setsebool -P httpd_unified 1
これでWebアプリ側からsqlite3に書き込みができるようになりました。めでたいですが、なんで同じLinuxなのにこんな方言に悩まされるのかよくわかりませんでした。