前回投稿した記事で、MacローカルにWebシミュレート環境を構築したのですが、ダッシュボードからプラグインをインストールするところでいきなりつまずきましたので、失敗の歴史と、対処した結果について書いておきます。

問題を解決するアプローチは、どうやら2つあるようです。

 

#1 FTPモードではなく、直接DLに切り替える

モード切り替え

/{wordpressインストールフォルダ}/wp-config.phpファイルを開いて、下記コードを追加する。

define('FS_METHOD', 'direct');

 

パーミション設定

ターミナルを開き、/wp-contentフォルダのパーミションを変更

sudo chmod number /{wordpressインストールフォルダ}/wp-content

number: 755(better)、もしくは777など

私の環境では、777設定(誰でもアクセス&実行可能)じゃないと動作しませんでした。

WordPressのパーミション設定について、詳細は下記をご覧ください。

>>本家の関連記事

 

#2 WordPressサイトのディレクトリの所有者をApacheにする

ディレクトリ所有者変更

ターミナルを開き、下記コマンドにより、サイトディレクトリ全体について所有者をApacheにする。

sudo chown -R _www:_www /{wordpressインストールディレクトリ}

※define(‘FS_METHOD’, ‘direct’);を設定している場合は、コメントアウトして、ftpモードに戻しておく。

参考にしたサイトはココ↓。ありがとうございます。

http://tukaikta.blog135.fc2.com/blog-entry-184.html

 

テーマフォルダのパーミション変更

テーマを直接編集できるようにするために、下記フォルダのアクセス権を変更する(707など)

sudo chmod -R 707  /{wordpress-dir}/wp-content/themes

 

Apacheのバージョンを表示しないようにする

セキュリティ対策の一環として(気休め?)、Apacheのバージョンを非表示にする

  •  httpd.confを開く
 sudo vi /etc/apache2/httpd.conf
  • ServerSignatureから始まる行を探して、OnをOffに書き換える
ServerSignature Off

 

インストール失敗の歴史

私の個人的な失敗履歴をメモしておきます。

まず、前回投稿した記事に従って作成したWordPressサイトのダッシュボードから、プラグインをインストールしようとすると、「要求されたアクションを実行するには、WordPressがWebサーバーにアクセスする必要があります。・・・」と書いてある画面が出て、FTP接続情報を求められました。

そこで、ググったところ、「wp-config.php」を書き換えればよいということらしい。

define('FS_METHOD', 'direct');

すると、インストール画面に移行できたがしかし・・・

 

ディレクトリを作れないとのメッセージが出て来たので、/upgrade フォルダを手動で作成し、/upgradeフォルダに777パーミションを与えてみる。すると、フォルダは出来たのだが・・・

 

プラグインのインストールに失敗しました。(泣

/wp-content 全体のパーミションを上げないと、インストール実行できないようです。

 

おわりに

2つの対処法について書きましたが、どちらの方がセキュリティ上いいのでしょうか?1つ目の方法の場合は、777権限を与えるフォルダを作ることにリスクを感じます。もう1つの方法の場合は、Apacheに所有権を与えるので、Apacheにセキュリティホールがあった場合のリスクを感じます。。

この辺の話について、分かる方がいらっしゃったら、教えてくださると助かります。

 

「WordPress Tips」の記事