CORESERVERの場合、WordPressの管理画面からプラグインを新規追加できない!

こんにちは!

先日、「CORESERVER」にWordPressをインストールする機会があったのですが、どういった訳かWordPressの管理画面からプラグインを新規追加したら、エラーが発生してインストールできませんでした。

クセのあるサーバーだと話には聞いていたのですが、こんなことで手を取られるとは思いませんでした。今後、同じことで時間を取りたくないので備忘録として記事にしておきたいと思います。

今回は手動でWordPressをインストールしました。「CORESERVER」は簡単インストール機能がありませんので。そろそろ簡単インストール機能を付けて欲しいですね。

2015年3月11日現在では、「CORESERVER」にも「WordPress」の簡単インストール機能が搭載されています。

実際にでたエラー!

↓「All in One SEO」を新規追加しようとした時のエラーです。

Notice: 予期せぬエラーが発生しました。
WordPress.org かこのサーバーの設定に何か問題があるかもしれません。
問題が続くようであれば、サポートフォーラムを参照してみてください。
(WordPress は WordPress.org との安全な接続を確立できませんでした。サーバー管理者にご連絡ください)
in /virtual/○○/public_html/www.○○.com/WordPressインストールフォルダ/wp-admin/includes/plugin-install.php on line 77
Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /virtual/○○/public_html/WordPressインストールフォルダ/wp-admin/includes/file.php on line 155
Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /virtual/○○/public_html/WordPressインストールフォルダ/wp-admin/includes/file.php on line 500

なぜ、こんなエラーがでるんでしょうか?

エラーがでる原因!

結論を先に言うと「CORESERVER」のPHPがセーフモードで動作しているからです。

「PHPがセーフモード?なんじゃそりゃ?」って感じですが、

このPHPがセーフモードで動作するサーバーの場合、WordPressの一部の機能に制限が生じます。搭載している理由は、ざっくり言うと共用サーバーでのセキュリティの問題を解決するためです。

皆で使用するレンタルサーバーの場合、PHPをセーフモードにしておかないと、意図していないセキュリティホールができる場合もあります。そのセキュリティホールからシステムの危険を減らす為には必要な対策です。

ただ必要な対策なのは分かりますが、WordPressの一部機能が使用できなくなるのは困ったものです。

次にその解決策を説明します。

解決方法!

「.htaccess」ファイルを追加!

↓解決方法は以下のコードを記述した「.htaccess」ファイルを作成!

#CGIモードでPHPを動かす
<Files ~ "^(async-upload|update-core|update|plugins|plugin-install)\.php$">
AddHandler application/x-httpd-phpcgi .php
</Files>

↓「.htaccess」ファイルを保存するときの文字コードを「UTF-8N」にしてください。「TeraPad」がおすすめです。

↓「.htaccess」ファイルを「/public_html/www.○○.com/WordPressをインストールしたフォルダ/wp-admin」にアップしてください。

もう一度、インストールしてみる!

↓もう一度、試しにインストールしてみると、インストールはできたようですが、別のエラーが発生してしまいました。

Warning: 予期せぬエラーが発生しました。
WordPress.org かこのサーバーの設定に何か問題があるかもしれません。
問題が続くようであれば、サポートフォーラムを参照してみてください。
(WordPress は WordPress.org との安全な接続を確立できませんでした。サーバー管理者にご連絡ください)
in /virtual/○○/public_html/www.○○.com/WordPressインストールフォルダ/wp-includes/update.php on line 119
Warning: 予期せぬエラーが発生しました。
WordPress.org かこのサーバーの設定に何か問題があるかもしれません。
問題が続くようであれば、サポートフォーラムを参照してみてください。
(WordPress は WordPress.org との安全な接続を確立できませんでした。サーバー管理者にご連絡ください)
in /virtual/○○/public_html/www.○○.com/WordPressインストールフォルダ/wp-includes/update.php on line 287
Warning: 予期せぬエラーが発生しました。
WordPress.org かこのサーバーの設定に何か問題があるかもしれません。
問題が続くようであれば、サポートフォーラムを参照してみてください。
(WordPress は WordPress.org との安全な接続を確立できませんでした。サーバー管理者にご連絡ください)
in /virtual/○○/public_html/www.○○.com/WordPressインストールフォルダ/wp-includes/update.php on line 465

上記のエラーの原因は「update.php」に強制的に「https SSLつき」のFTPで接続しなさい、という命令が書き込まれているからのようです。解決策は「public_html/www.○○.com/WordPressインストールフォルダ/wp-includes/update.php」の「set_url_scheme」の「https」⇒「http」に変更すれば解決します(3箇所)。

↓こんな感じで。

試しにもう一度、インストール!

↓今度はエラーも発生せずインストールできました。

最後に!

WordPressの簡単インストール機能が搭載されているサーバーではこんな作業は発生しません(現在はコアサーバーでも簡単インストール機能が搭載されています。)。

ただ今だに手動でインストールしなければならないサーバーもあります。サーバーの仕様によって、これだけ対応が変わってきますので、初めて対応する方はかなり戸惑うと思います。同じ状況に陥った方は参考にしてみてください。

以上「CORESERVERの場合、WordPressの管理画面からプラグインを新規追加できない!」でした!

それではまた。

コメント