XAMPPで構築したWordPress管理画面でプラグインがインストールできない

XAMPPで構築したWordPress管理画面でプラグインやテーマがインストールできない問題について説明します。

WordPressプラグインがインストールできない症状

WordPressのプラグインをインストールしようとすると、FTPサーバへの接続情報を要求されます。 FTPに接続 正しい情報を入力したにもかかわらず、/wp-contents/ディレクトリが見つからないと言われ、インストールができなくなります。 プラグインインストール失敗

原因

/<Wordpressの階層>/wp-contents/ディレクトリの所有者が端末の所有者になっているのに、ProFTPD、Apache実行時のユーザがdaemonになっている。そのため、daemonに書き込み権限がなく、フォルダやファイルを作成できない。

対策

ApacheおよびProFTPDのユーザを、端末の所有者・グループと一致させる。

Apacheのユーザを端末の所有者に変える

Apacheの設定は、 /Applications/XAMPP/xamppfiles/etc/httpd.conf (164行目)に記載があります。
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
</IfModule>
これを、
User <端末所有者の名前>
Group staff
</IfModule>
に変更します。 staffというのは、所有者が所属するグループです。ターミナルで、ls -lを実行すると、ファイルの所有者と所属するグループが表示されます。 ディレクトリ一覧

ProFTPDのユーザ設定も端末所有者に変える

WordPressのプラグイン・テーマインストール時に、ローカルのFTPサーバにアクセスします。 自分のコンピュータにFTPでアクセスするのも変な話ですが。 /Applications/XAMPP/xamppfiles/etc/proftpd.conf (24行目)
# Set the user and group that the server normally runs at.
User daemon
Group      daemon
これを
# Set the user and group that the server normally runs at.
User <端末所有者の名前>
Group      staff
に、変更します。

ProFTPDを再起動する

最後にXAMPPの起動画面からProFTPDを再起動し、もう一度プラグインのダウンロードを試みてください。 XAMPPの起動画面 FTPサーバの情報を入力することなく、無事プラグインがインストールできました。 プラグインインストール成功