解決済|インストールに失敗しました: ディレクトリを作成できませんでした。 /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-content/upgradeの対処法(テーマインストールで失敗する際の対処法)
ローカル環境のXamppでWordPressの新規テーマをインストールしているときに、以下のエラーが出る時があります。
エラー内容
インストールに失敗しました: ディレクトリを作成できませんでした。 /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-content/upgrade
今回はこのエラーの原因とその対処法について紹介していきます。
mac環境でXamppを使用したテーマの新規インストールの際に起きやすい事象のようです。
もし当てはまった方は参考にしてもらえればと思います。
目次(クリックで読みたい部分にジャンプできます)
事象の原因
今回の事象の「インストールに失敗しました: ディレクトリを作成できませんでした。 」
というエラーは、特定のディレクトリ(wordpress)のディレクトリなどに対して必要な書き込み権限が設定されていないことが原因です。
テーマのインストールを行う際には、
wp-content内の「themes」というディレクトリにテーマのファイルを新しく保存します。
そのため、「themes」というディレクトリ、ひいては「wp-content」に対して書き込み権限が必要になります。
では、この対策として行うのは以下の2点です。
行う対策
- FTPを介さないでファイル操作を行えるようにする
- ディレクトリの権限を変更する
この2つの順に行なっていきます。
FTPによる接続を求められている場合
まずは、FTPによるファイル作成を求められている場合についてです。
もし、FTPによる接続を試みる画面が出ていない場合は、この章は読み飛ばしていただいて問題ありません。
FTPによる接続を試みられている場合は、ローカル環境ではFTPによる接続を行わないで直接ファイル操作を行えた方が便利です。
直接ファイル操作を行えるようにするためには、以下の方法を実行します。
FTPを介さずファイル操作を許可する方法
wp-config.php
ファイルに FS_METHOD
を direct
に設定することで、
ファイル操作にFTPを介さずに直接行えるように設定します。これは、特にローカル環境で役立ちます。
define('FS_METHOD', 'direct');
これにより、FTPを介した接続を回避することができます。
もしこのままテーマインストールができた場合は、以下の章は不要です。
ディレクトリの権限を変更する
まずは、対象のディレクトリの権限を変更します。
必要なディレクトリに適切なパーミッションを設定するために、以下を実行します。
ディレクトリのパーミッションを変更する
sudo chmod -R 775 /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-content
※※注意点※※
/Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-content の部分をあなたのエラーが起きているディレクトリに書き換えてあげてください。
775とは、オーナーとグループに読み書きと実行の権限を与え、他のユーザーには読みと実行の権限を与える設定です。
次にディレクトリの所有者を変更します。
ディレクトリの所有者をApacheの実行ユーザーに変更します。(通常はdaemon)
これにより、WordPressがファイルシステム上で必要な操作を行えるようになります。
ディレクトリの所有者をApacheの実行ユーザーに変更
sudo chown -R daemon /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-content
先ほどと同様に、
/Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-content の部分は自身のエラー箇所と置き換えてください。
この2つの実行により、ファイルに対する実行権限を編集することができ、ディレクトリの権限を変更することができます。
これでテーマインストールができるようになっているはずです。お疲れ様でした。
終わりに
今回は、Xamppを使用したテーマインストールの際に出るエラーの解消方法について紹介しました。
書き込み権限などの操作は、ちょくちょくあることなので今後も似ている事象があれば、「権限関連かも?」と疑ってみると解決がより早くなると思います。
では、またどこかでお会いしましょう。