WordPressをレンタルサーバー「CORE SERVER」(コアサーバー)で利用する8_9

【この記事を読むのに必要な時間は約 7 分です。】

2012年11月、独自ドメインを取得し、「CORE SERVER」(コアサーバー)に移転した。
その際、以下のような流れで、独自ドメイン、レンタルサーバーでのWordPressの利用までたどり着いた。

1.「VALUEDOMAIN」(バリュードメイン)で各種サービス利用のためのユーザー登録
2.「CORE SERVER」と「COREBLOG」(コアブログ)に無料お試し登録
3.「CORE SERVER」を有料契約
4.「VALUEDOMAIN」で独自ドメイン「jump-up.info」を取得

5.「CORE SERVER」の独自ドメイン設定
6.「CORE SERVER」のサブドメイン設定
7.「CORE SERVER」のMySqlの設定

8.WordPressが利用できるように「CORE SERVER」で設定1
   -PHPセーフモードの問題解決
9.WordPressが利用できるように「CORE SERVER」で設定2
   -パーミッションの設定

前回上記5.6.及び7.を説明したので、今回は、
8.WordPressが利用できるように「CORE SERVER」で設定1
   -PHPセーフモードの問題解決
9.WordPressが利用できるように「CORE SERVER」で設定2
   -パーミッションの設定
を説明する。

WordPressが利用できるように「CORE SERVER」で設定1
-PHPセーフモードの問題解決

「CORE SERVER」ではphpがセーフモードで動作している。
そのため、WordPressを利用していると様々な支障が発生する。
対応策として「.htaccess」ファイルを作成する。

WordPressインストールディレクトリに設置する「.htaccess」ファイル

以下のように記入する。

#WP-DBManagerの自動バックアップなどのため
<files wp-cron.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#外部のXML-RPCからの画像のアップロードのため
<files xmlrpc.php>
AddHandler application/x-httpd-phpcgi .php
</files>

それとは別にパーマリンク設定をしている場合は、以下も記入する。

#パーマリンク設定用
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

上記はWordPress管理画面の「設定→パーマリンク設定」で、パーマリンク設定を行った場合、「.htaccess」ファイル が書き込み可能なら自動的に行われるが、そうでない場合、「.htaccess」ファイルに「mod_rewrite」ルールを書き込む必要があるため。ちなみに私のパーマリンク設定は、
「カスタム構造:「/%category%/%postname%.html」としている。

「wp-admin」ディレクトリに設置する「.htaccessファイル」

# 画像・ファイルアップロード
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
# プラグイン・テーマ 新規インストール/アップグレード
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# 本体アップグレード
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
#追加www.dibvenavi.net/archieves/128
<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#追加www.dibvenavi.net/archieves/128
<files upgrade.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#追加www.dibvenavi.net/archieves/128
<files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#追加www.dibvenavi.net/archieves/128
<files plugins.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#追加www.dibvenavi.net/archieves/128
<files themes.php>
AddHandler application/x-httpd-phpcgi .php
</files>

自分の設定

上記はほぼ万能のPHPセーフモード対応として説明したが、実際に「CORE SERVER」に設置してみるとプラグインやテーマによってはうまくいかないものがあった。
それで、自分は以下のように設定している。これだと全てのPHPがCGIとして動作することになるので、弊害としてスピード等の問題もあると思う。
しかし、これで「CORE SERVER」では今のところ全て順調である。

「.htaccess」ファイルをWordPressインストールディレクトリのみに設置し、以下のように記入する。

#全てのPHPをCGIモードで動かす
AddHandler application/x-httpd-phpcgi .php
#パーマリンク設定用
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

その他

時間があれば、最初に説明した方法で「.htaccess」ファイルを設置し、問題が起こったプラグインやテーマのPHPファイルを確認し、ひとつひとつ書き足していく方が、より良いと思われる。

WordPressが利用できるように「CORE SERVER」で設定2
-パーミッションの設定

「CORE SERVER」を利用していると、上記PHPセーフモードの問題とあわせて、ファイルパーミッションの問題で、「テーマ」や「プラグイン」のインストール、アップデート、有効化で問題が発生することが多い。

ファイルパーミッションの変更

WordPressはデフォルトではフォルダが「755」(-rwxr-xr-x)ファイルが「644」(-rw-r–r–)で設定されているが、現在、以下のように設定を変更しうまくいっている。

「wp-content」の全てのフォルダおよびファイルを「757」(-rwxr-xrwx)に変更。

参考:ファイルパーミッションの表記対応

記号表記	オクテット表記	計算式
rwx	7	1+2+4
rw	6	2+4
rx	5	1+4
r	4	4
xw	3	1+2
w	2	2
x	1	1
rrr

その他

WordPressの「テーマ」や「プラグイン」をWordPress管理画面から「インストール」や「アップデート」してうまくいかない場合は、FTPクライアントで解凍後のファイルをアップロードして設置し、ファイルパーミッションを上述のように全てを「757」(-rwxr-xrwx)に変更してやるとうまくいく場合がほとんど。

以上

Related Posts Plugin for WordPress, Blogger...

もし良ければお願いします。

  • このエントリーをはてなブックマークに追加

良かったらフォローお願いします。

コメント