【この記事を読むのに必要な時間は約 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)に変更してやるとうまくいく場合がほとんど。
以上