wp super cacheのインストールにつまずいたので備忘録。
はじめに
下の追記を見てください
advenced-cache.phpが更新できないとか出る。
ググって出てきたとおりにパーミッションを変更してもできない。(wp-config.php -> 644, wp-content -> 755)とか。
表示されているとおりにadvanced-cache.phpを書き換えてもできない。
wp-config.php で define(‘WP_CACHE’, true); を設定すると管理画面がメニューしか表示されなくなる。
解決法
path/to/wordpress/wp-content/plugins/wp-super-cache/advanced-cache.php を path/to/wordpress/wp-content/advanced-cache.php へコピー。
wp-config.php に define(‘WP_CACHE’, true); と define(‘WPCACHEHOME’, ‘path/to/wordpress/wp-content/plugins/wp-super-cache/’); を書き込む。(”編集が必要なのはここまでです”より上に書く。)
私の場合はこれでできました。パーミッションを変更してもできなかったのが謎。
パーミッション変更した場合はちゃんともとに戻しておく。
追記
原因がわかったので追記。
犯人はやっぱりSELinuxさんでした。
httpdの公開ディレクトリに指定したディレクトリには、(おそらく)自動で httpd_sys_content_t
というコンテキストが設定されるようです。しかし、これを httpd_sys_rw_content_t
に変えない限りApacheからの書き込みができないようです。
ということで、
semanage fcontext –a –t httpd_sys_rw_content_t “/path/to/wordpress(/.*)?”
を使ってコンテキストの設定を変更。
restorescon /path/to/wordpress -R
で設定の反映をしてからApache再起動でフィニッシュ。
現在設定されているコンテキストは ls -Z コマンドで確認できます。
いやあ、SELinuxさんは気難しいですね…