WordPressを新たに作成したときに問題が発生したら……
しょっちゅう新たなWordPressサイトを制作しているわけではない。
WordPressなんて簡単だと思い込んでいるから、煩瑣なマニュアルをいちいちチェックしているわけでもない。
それで新たなWordPressサイトを制作しようとすると、思いもよらないトラブルに遭遇することもある。
そんな時に確認したらよいポイントを、自分の経験をもとにピックアップ。
I. Webサーバに権限を付与しているか?
LinuxディストロがUbuntu、WebサーバがApache2という環境で、WordPress各ファイルの所有者を特定のユーザー、所有グループを www-data にしている(ディストロによっては apache になるし、Nginx の場合はもちろん異なる)。
こうしないと、トータルに見て WordPress サイトがうまく機能しないためだ。
いつものようにそのように所有者、所有グループを設定して WordPress をインストールしたが、あるケースでは、特定の機能がうまく作用しなかった。
試行錯誤して確認して気付いたのは、www-data に書き込み権限が付与されていなかったこと。
ふだんレンタルサーバ環境でWordPressサイトの確認をすることが多いので、何も考えず、パーミッションを 755 や 644 にしていたが、これだと www-data が書き込みできなくなっていた。
こんな感じ。
drwxr-xr-x 〇〇〇 www-data uploads
以下のように、www-data に書き込み権限を付与すると、
$ chmod -R g+w *
無事に動いてくれた。
II. 管理画面からプラグインの更新ができない
プラグインによるのかもしれないけれど、WordPress管理画面内からプラグインを更新しようとして、「古いプラグインを削除できませんでした」とか、「プラグインを完全に削除できませんでした」というエラーが出て、更新できない時がある。
これもパーミッションの問題であることが多い。
所有者か所有グループがプラグインディレクトリの全ファイルに対する書き込み権限を有していないといけない。
オンライン上には、所有者や所有グループを apache(www-data)にしないといけない、という記述はあったが、そこまでしなくても大丈夫だった。
サーバーへのファイルアップロードはSSH接続にしているため、手を加えないと所有者や所有グループを apache にできないが、パーミッションさえきちんと設定できていれば管理画面からの更新は可能。
ただし、プラグインによっては、更新直後にファイルのパーミッションを確認すると 664 になっているものがあり、その状態で管理画面からプラグインを削除しようとしても、エラーになって削除できない。
III. WordPressインストールディレクトリのパーミッション
WordPress管理画面内からテーマやプラグインを更新しようとして、「ファイルをコピーできませんでした」のようなエラーが出て、更新できない時があった。
当のファイルやディレクトリのパーミッションには問題がなかった。
試行錯誤したところ、その上位ディレクトリにあたる、WordPressインストールディレクトリのパーミッションがファイル更新をブロックしていたよう。インストールディレクトリのパーミッションを変更したら、管理画面から更新できた。
同じサーバーの他のWordPressサイトで、まったく同じパーミッション条件で、そちらは更新できていたので、詳細な理由はよくわからなかった。