WordPressでとにかく行き詰まって頭にくるのがパーミッションの設定。
今回も様々に行き詰まったので、主な解決法をメモしておく。
FTPを経由しないでプラグインをインストールする
管理画面からプラグインをインストールしようとすると、場合によってはFTPのアカウントを入力しろとか云々という画面が出る。
サーバの設定によるが、FTPのアカウント、パスワードを適切に入力することによって、通るケースもあった。
(もちろんFTPクライアントでも、生の?FTPを使って通る)
しかし、sshログインによるFTP(22番ポート、SFTP)を使っていたりすると、とたんに通らなくなる。
そこで、FTP情報入力画面を経由しないでインストールする方法を試してみる。
WordPress FTPなしでプラグインダウンロードできる設定
WordPress プラグインの自動インストール・アップグレードができない。
この場合は、wordpressフォルダ以下、オーナーはapache実行ユーザでなくても良いが、グループをapache実行ユーザ(私の場合はwww-data)に、パーミッションを775にしておかなければならない。
sshアップローダを使う
私自身は結局使わなかったが、一応メモしておく。
ssh経由のプラグインアップローダ、のプラグインがあるようだ。
もちろん、管理画面からプラグインがインストール出来ないのだから、このプラグインはターミナルからsshで入ってwordpress>wp-content>pluginsにアップロードする必要がある。
SSH SFTP Updater Support
インストールして有効化すると、管理画面のFTP情報入力画面で、SFTPが選べるようになる。
wordpressフォルダ以下のオーナーをapache実行ユーザにする
最も手っ取り早い方法と思われる。FTP云々の画面も現れなくなる。
「要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。 」って怒られた
sudo chown -R www-data:www-data wordpress
これは逆に、手作業でのアップロードの際に、ファイル書き込みができなかったり、フォルダ操作ができなかったりするので、その点は注意が必要。
結局、私は1番目の解決法を選びました。
色々試してみてください。