先日、法人向けVPSにて管理されているサイトを触る機会がありました。早速プラグインをインストールしようかと思ったら、FTPアカウントを聞かれました。テーマファイルをいじろうかと思ったら書き込み権限が無いといわれる始末。
正直、クソ使いにくいのですが、管理者からすれば余計なことをされないので安全とえば安全だなと妙に納得しました。
ユーザーが記事を更新する場合、DBと画像アップロードするフォルダに書き込みが出来ればいいので、それ以外は書き込み権限がなくても、基本問題ないということでしょう。
しかし、このままだと作業ができないので、プラグインのインストールでFTPアカウントを聞かれないように設定しました。
人のサーバーを触って、プラグインインストールでFTPアカウントを聞かれるケースはVPSサーバーの場合は結構ありますので、どのようにすれば聞かれなくなるかまとめておきたいと思います。
プラグインインストールでFTPアカウントを聞かれたら?
wp-configに追加する
define('FS_METHOD','direct');
以下の記述よりも手前に書く必要があります。
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
「ディレクトリを作成できませんでした。」と出たら?
wp-content周りのディレクトリの権限が700になっていると思いますので、707か777に変更します。
VPSの仕様で作成したディレクトリの権限が700の権限になるようで、意図的に権限を変更しないと全てのディレクトリでスクリプト経由で書き込み権限がないためです。
upgradeディレクトリが無い場合は、作っておきます。
chmod 0707 wp-content/
chmod 0707 wp-content/upgrade
chmod 0707 wp-content/themes
chmod 0707 wp-content/plugins
mkdir wp-content/upgrade
参考:https://note.com/terumari/n/n1d61b4f20aff
参考:https://hacknote.jp/archives/37775/
まとめ
正直、VPSでwordpressを動かしているケースで使いやすいと思ったことはあまりないです。変にサーバー管理者を立てているせいで管理しやすいように使いにくい設定になっているためだと思います。
逆に言えば、サーバー管理者はwordpressを使うわけではないので、使いにくいといっても理解してもらえないのかもしれません。