ローカルwordpressインストールがあり、新しいプラグインをインストールしようとするまですべてが機能していました。プラグインをアクティブにしようとすると、wordpressがFTP接続情報を要求しましたが、これはプラグインディレクトリへの書き込みアクセスの失敗であることがわかりました。 Apacheはwww-data
として実行されるので、Sudo chown -R www-data: /var/www/wordpress
を実行してwordpressディレクトリをApacheで書き込み可能にしました。しかし、今では、ユーザーとしてファイルを編集できなくなりました。ファイルのパーミッションをchown -R user: /var/www/wordpress/wp-content/themes
に戻すと、wordpressダッシュボードは、十分なアクセス権がないと再度不平を言っています。
さまざまな「解決策」をオンラインで試しましたが、これまでのところ何も機能していません。本当にproftpのようなものをインストールし、ローカルサーバーのFTPユーザーとパスワードを作成する必要がありますか?または、私とApacheの両方がファイルにアクセス/書き込みできるようにするいくつかの気の利いたファイル許可設定で問題を回避できますか?
あなたはすでにそれを理解しているように聞こえますが、私はそれをどうやってやったかをお知らせします。この設定により、ApacheとApacheがwordpressディレクトリに書き込み、plugin/theme/upgradeはWordpress内から正常に動作します。
最初に、ユーザーをwww-dataグループに追加しました:Sudo usermod -G www-data -a <user>
。
次に、www-data:www-data:Sudo chown -R www-data:www-data wordpress
が所有するwordpressディレクトリ全体を作成しました。また、すべてのファイルをユーザーとグループが読み書きできるようにしました:find wordpress -type f -exec chmod 664 {} +
、find wordpress -type d -exec chmod 775 {} +
。
最後に、新しいファイルがwww-dataによってグループ所有されるようにguidビットを設定しました:chmod -R g+s wordpress
。
現在、これは最も安全なセットアップではありません。 Wordpressの脆弱性を使用して、wordpressインストール内のファイルに書き込むことができます。しかし、私は個人的に、問題を抱えたことは一度もありません。そして、制限を緩和しようとすると、通常、Wordpress Admin内からのアップデートとテーマ/プラグインのインストールが失敗しました。セキュリティとユーザビリティの間に最適なスイートスポットを見つけることはできませんでした。