🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パーミッション

パーミッション(許可)は、ファイルシステム、データベース、そして他のコンピュータシステムに対するユーザーのアクセス権のことを指します。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

1回答

4336閲覧

ローカル環境のwordpressでプラグインのインストールができない

terada_tama

総合スコア11

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パーミッション

パーミッション(許可)は、ファイルシステム、データベース、そして他のコンピュータシステムに対するユーザーのアクセス権のことを指します。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

1クリップ

投稿2019/09/09 10:15

編集2019/09/11 09:21

見てくださってありがとうございます。

表題について、起こったことをご説明させていただきます。
OSはMacOS(OSX)で、XAMPP-VM(バージョン7.3.9)で環境を構築しました。
また、このWordpressとデータベースは、Windows10で開発していたものをMacに引っ越したというものです。

1:ローカル環境にてプラグインをインストールしようとするとFTP接続情報をもとめられる

2:FTP接続情報を求められないようにするために、wp-config.phpに以下の行を書き込む

php

1define('FS_METHOD','direct');

3:「インストールに失敗しました: ディレクトリを作成できません。」と表示され、プラグインがインストールできない

4:wp-content内の全てのディレクトリのパーミッションを「読み/書き」に変更

5:「インストールに失敗しました: ファイルをコピーできませんでした。」と表示される

6:ディレクトリの所有者をApacheに変更しようとする

chown -R apache:apache /home/wp/public_html/wp-content/uploads   ↑これは「グループが存在しない」という風に言われました chown -R _www:_www /home/wp/public_html/wp-content/uploads ↑これは「そんなディレクトリはない」と言われました    グループ・ユーザー共にdsclコマンドで存在することは確認しました。

7:localhostに接続しディレクトリを操作すべき?と思い接続しようと試みましたが、できない状況
以下、試したコマンドとエラーメッセージです

$ ssh -p 22 NFS@192.168.64.2 The authenticity of host '192.168.64.2 (192.168.64.2)' can't be established. ECDSA key fingerprint is SHA256:s8xZzk7tVHIcE9OX21EFvNyfd+GwczZvtVrFGun64ic. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.64.2' (ECDSA) to the list of known hosts. NFS@192.168.64.2: Permission denied (publickey). $ ssh 192.168.64.2 Permission denied (publickey). $ ssh -p 22 localhost ssh: connect to host localhost port 22: Connection refused

8:/etc/ssh/sshd_configの該当箇所を以下の通りに書き換え

PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication yes PermitEmptyPasswords yes

これでも7のメッセージが出てきます。
また、sshd_configを保存しようとすると、ファイルの所有者ではないため上書きできないというようなメッセージが表示されました。
そこで、元々あったsshd_configは別名に変え、上記の通りに編集した新しいsshd_configは別のディレクトリで保存したものを/etc/ssh/に移動しました。

他の試したことなどは、申し訳ございませんが覚えられていません。

以上です。
もし不足しているところがありましたら、お手数ですがご教示をお願い致します。
よろしくお願い致します。

=====2019/9/10 追記=====
/etc/passwrd には、以下の通りに書かれていました。

_www:*:70:70:World Wide Web Server:/Library/WebServer:/usr/bin/false

etc/apache2/httpd.conf には

User _www Group _www

という記述がありました。

ただ、
$ ps auxw | grep httpd
で実行ユーザーを調べると_wwwではない名前が表示されました(自分の名前が設定されていたので伏せさせていただきます)
参考サイトはこちらです。

=====2019/9/11 追記=====
nfs://192.168.64.2/opt/lampp/etc/httpd.conf のUserとGroupを以下の通りに書き換えましたが、そうするとApacheが起動できなくなりました。

User daemon Group daemon これを以下のように書き換え User XAMMPをインストールしたユーザー名 Group staff

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/09/09 20:49

ローカル環境というのは、仮想環境ですか? MAMP か何かですか? 何を使って構築しているのでしょうか?
terada_tama

2019/09/10 00:07

不備があり、申し訳ございません。 XAMPPで構築しました。 ご質問くださり、ありがとうございます。
showkit

2019/09/10 02:37

一応、確認ですが「chown -R _www._www /home/wp/public_html/wp-content/uploads」は、_www というユーザ、グループはいるのですね?
terada_tama

2019/09/10 03:37

ご質問くださりありがとうございます。 $ dscl . list /Users $ dscl . list /Groups 上記のコマンドで確認しましたところ、_wwwというユーザーもグループもありました。
Y.H.

2019/09/11 05:11

というか、chownコマンドのユーザーとグループの区切り(?)は .(ドット)じゃなくて:(コロン)では?
terada_tama

2019/09/11 05:58

コメントくださりありがとうございます。 質問内容を修正しました。 参考にしたサイトでは.で区切られていて、そのまま入力していまっていました。。。 調べてみましたら、確かに.ではなく:ですね。 所有者を変えられる段階までいけましたら:で区切りますね。
guest

回答1

0

ベストアンサー

まず、

chown -R apache.apache /home/wp/public_html/wp-content/uploads
↑これは「グループが存在しない」という風に言われました

chown -R _www._www /home/wp/public_html/wp-content/uploads
↑これは「そんなディレクトリはない」と言われました

このユーザー・グループやディレクトリがどこから出てきたのか分かりません。

参考にされた情報は、出典( Webサイトの URL や本の場合は書名とページ数)を質問に明記していただけないでしょうか。

おそらくインターネットを検索して、見つけた方法を試されたのだと推測しますが、macOS で XAMPP を利用している場合の設定と それ以外の環境(macOSデフォルトの Apache を使う場合や Vagrant 等の仮想環境)での設定方法を混在して実行されているような気がします。


以下、XAMPP マニュアルやインストール時の記憶をたどって...

macOS 版 XAMPP の Apache(PHP) の実行ユーザーは、XAMPP をインストールしたユーザーで実行されたとおもいます。

macOS 版 XAMPP の場合、/Application/XAMPP/xamppfiles/etc/httpd.conf に XAMPP の apache 設定ファイルがあると思いますが、このファイルで、User と Group は、何になっていますか?

例えば、user1 というアカウントで、XAMPP をインストールした場合、

User user1 Group staff

になっているのではないかと思います。(Web公開するディレクトリの所有者やグループはこのユーザーに合わせる必要があります。)

次に macOS 版 XAMPP の Apache の DocumentRoot ディレクトリですが、デフォルトの状態では、

DocumentRoot "/Users/user1/www"

に設定されていると思います。( /Users/user1/www ディレクトリの所有者は user1 、 グループは staff になっていると思います。)

このディレクトリに Web で公開するコンテンツを置いているでしょうか? または、コンテンツを置いたディレクトリに DocumentRoot を変更して Apache を再起動しましたか?

DocumentRoot を変更した場合、DocumentRoot のディレクトリは、 所有者とグループは、 Apache の設定ファイルの User / Group に合わせる必要があります。 ( この例では、 user1 と staff )


(以下、XAMPP とは関係のない余談ですが...)

/etc/apache2/httpd.conf_www ユーザ、 _www グループは、 macOS にデフォルトでインストールされている Apache のための設定だと思います。

たとえば、

$ sudo /usr/sbin/apachectl start

のように デフォルトの apache を実行すると

$ ps aux | grep httpd _www 6465 0.0 0.0 2470452 852 ?? S 1:53PM 0:00.00 /usr/sbin/httpd -D FOREGROUND _www 6461 0.0 0.0 2478644 2740 ?? S 1:53PM 0:00.01 /usr/sbin/httpd -D FOREGROUND root 6460 0.0 0.1 2470452 10100 ?? Ss 1:53PM 0:00.27 /usr/sbin/httpd -D FOREGROUND (以下略)

のような Apache のプロセスが確認できます。

投稿2019/09/11 05:03

編集2019/09/11 05:04
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

terada_tama

2019/09/11 06:20 編集

ご回答くださり、誠にありがとうございます。 ここまでご教示くださったにも関わらず大変申し訳ございませんが、使っているのはXAMPPではなく、XAMPP-VMでした。(バージョンは7.3.9です) そのためかどうかわかりませんが、Applicationディレクトリ内にXAMPPディレクトリがありませんでした。 /etc/apache2 のhttpd.confには User _www Group _www 上記のように書いてありましたが、XAMPPの設定とは別ということでしょうか。 nfs://192.168.64.2/opt/lampp/apache2/conf/httpd.conf には以下のように書かれていました。 ーーーーーーーーーーーーーーーーーーーーーーーー Alias /bitnami/ "/opt/lampp/apache2/htdocs/" Alias /bitnami "/opt/lampp/apache2/htdocs" <Directory "/opt/lampp/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ーーーーーーーーーーーーーーーーーーーーーーーー nfs://192.168.64.2/opt/lampp/etc/httpd.confには以下の記述がありました。 ーーーーーーーーーーーーーーーーーーーーーーーー User daemon Group daemon ーーーーーーーーーーーーーーーーーーーーーーーー >このユーザー・グループやディレクトリがどこから出てきたのか分かりません。 調べて出てきたものをほぼ手当たり次第に試していました… etc/~/httpd.confに書かれていたユーザー、今ログインしているユーザー、、、というように、それっぽいものを試していました。 今後はつまずいたら参考サイトはすぐに閉じずにメモするようにします。
terada_tama

2019/09/11 06:25

度々申し訳ございません。 一度、古いバージョンのXAMPPを使ってみます。 もし同じような現象が起きましたら、ご教示頂いた方法を試させていただきます。
CHERRY

2019/09/11 06:35

XMAPP macOS Native 版ではなく XAMPP VM 版ですか。 XAMPP VM 版は、Mac の中に仮想マシン(Ubuntu) が実行されています。 そのため、XAMPP VM 版は、XAMPP Windows 版や XAMPP macOS Native版と設定ファイル等の場所が全く異なります。 ---- XAMPP VM版は、ネットワーク周りはどうなっているんだったかなぁ... ちょっと環境が無いので、確認に時間がかかりそうです。
terada_tama

2019/09/11 08:05 編集

ご返信くださり、ありがとうございます。 7.2.22版でもプラグインのインストールで似たような状況になりましたが、CHERRY様にご教示頂いた方法でインストールができました。 ひとまず開発はこのVMじゃない方の環境で行いたいと思います。 ただ、個人的にわからないままなのが気持ち悪いので、ご教示いただいたことを踏まえてもっと調べてみます。 誠に勝手な事情ではございますが、もし原因がわかりましたらご教示頂けると大変助かります…
terada_tama

2019/10/03 02:27

VMの方での解決方法が結局分かりませんでした…。 特に問題なく動いているように見えるので、Native版で開発を進めていきたいと思います。 ご対応くださり、誠にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問