(改訂)coreserverでwordpressを使う場合にやるべきこと。まとめ
coreserver(xreaサーバーも一緒だと思う)でwordpressを使おうとした場合、必ずやっておかないとならないことがあります。
僕も、自分のblogを他の無料ブログサービスから移植するにあたり、調査と試行錯誤を繰り返しましたので、ここに記録しておきます。
個々の事象についてネットで調べれば解決しますが、まとまっているものがなかったので、最低限必要な作業、という意味でひと記事にしておきます。
事象1.写真のアップロードができない。
原因1:wp-contentディレクトリのパーミッション設定
対策1:wp-contentディレクトリのパーミッションを755(Default)→757に変更する
原因2:uploadsディレクトリのオーナー
対策2:ローカルで、wp-contentディレクトリ下にuploadsディレクトリを作成し、それをFTPアップする。アップ後、パーミッションを757に変更する。詳しくは、XREA に設置した WordPress で画像のアップロードができないを参考にされるとよいかと。
原因3:PHPがセーフモード動作する
対策3:.htaccessに必要な記述をしアップする。次項と操作が重複するのでここでは割愛。
2.パーマリンクを設定すると個々の記事が表示できない。
原因1:インストールした段階で、.htaccessファイルが存在しない。
対策1:次項の記述をした.htaccessファイルをwordpressディレクトリにアップロードする。
原因2:mod_rewriteが実行されない。
対策2:必要な記述を加え、.htaccessファイルをwordpressディレクトリにアップロードする。他にも追記しておいた方がいいと思われるものも加え、僕は以下の内容にして利用しています。(参照させていただいたサイトが分からなくなってしまったので、そのまま転記します)
=======================================
<Files setup-config.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files plugin-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files theme-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files upload.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files io.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
php_flag register_globals Off
php_flag display_errors Off
php_flag log_errors On
php_value default_charset UTF-8
php_value mbstring.detect_order UTF-8,auto
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation on
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input auto
php_value mbstring.http_output pass
php_value mbstring.substitute_character ?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
=======================================
(追記)
2014年7月にcoreserverの仕様変更が行われました。
具体的な内容としては、
・Apache 2.2系への変更
・PHP 5.3系への変更(5.4/5.5も正式サポート)
・セーフモードOFFでの運用に切替え
の3点のようです。
これに伴い、上記の.htaccessファイルの記述のままですと、Internal Server Error(500エラー)が発生し、サイトにアクセス出来なくなりました。
今後、WordpressでBlogを構築する場合には、.htaccessファイルの記述は以下のように記述する必要がありますので、ご注意下さい。
=======================================
<Files setup-config.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files plugin-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files theme-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files upload.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files io.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
#php_flag register_globals Off
#php_flag display_errors Off
#php_flag log_errors On
#php_value default_charset UTF-8
#php_value mbstring.detect_order UTF-8,auto
#php_value mbstring.language Japanese
#php_flag mbstring.encoding_translation on
#php_value mbstring.internal_encoding UTF-8
#php_value mbstring.http_input auto
#php_value mbstring.http_output pass
#php_value mbstring.substitute_character ?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
=======================================
詳しくは、こちらのページも参照されるとよいかと思います。
(2014/7/31 追記)
ありがとうございました。
とっても助かりました。