スポンサードリンク
WordPress 4.4.2 インストールに必要な作業概要
DBポート指定、PHP利用コード付htaccess設置、UTF-8化済みphp.initのアップロード、など、調べるとCPIサーバーにはWordPressに必要な様々なオンラインヘルプ非公式対策が必要らしい。まとめて案内されているところがないので、下記に図表化した。
CPIレンタルサーバーのエラーをまとめた全体図
原因 | 対策箇所 | 値 | |
---|---|---|---|
前準備 | PHP5利用の有効化が必要 | 右記コード記述した.htaccessファイルをドキュメントルート(html)に保存 | AddHandler x-httpd-php524 .php |
不具合1 インストールエラー |
MySQL5利用のためのポート指定が必要 | wp-config.phpのDB_HOST値 | 127.0.0.1:3307 |
不具合2 投稿だけが文字化け |
サーバーの文字コードがEUTで古い。 UTF-8に要変更 |
管理画面のコントロールパネルで、「ホーム > お客様情報 > プログラムのパスとサーバの情報 > PHP iniの設定情報 > PHP 5.2.4」と進みコードをコピー(そのページでは編集不可)。コード中の下記部分を修正。
|
|
不具合3 CF7文字化け |
POSTの値の文字化け | /.htaccessにphp.iniの場所を明示必要 | Options +FollowSymLinks suPHP_ConfigPath /usr/home/ユーザーID/html/wp/wp-admin/ |
不具合4 パーマリンク変更エラー |
mod_rewrite | /wp/.htaccessにmod_rewrite有効を明示 | Options FollowSymLinks |
この具体的な対策を下にひとつづつ説明します。
不具合1)インストールでエラー(原因:WP4.4.2以上にはDBのポート3307指定が必要)
CPIレンタルサーバー(KDDIコミュニケーションズ運営のホストsecure.ne.jpドメイン)へのWordPressインストールをレンサバ公式オンラインヘルプ通りに試みた際に、wp-install.php実行で
データベースのホスト、あるいはパスワードが間違って居るか、データベースがダウンしている可能性があります
とのエラー表示にドハマり、無駄に数時間失ってしまった。
原因はDBポートの指定
原因は、サーバーにDB標準ポート以外のポート番号が設定されており、wp-config.phpのホスト項目にポート番号を明示する必要があったこと。パーミッション設定やWP、PHPなどのバージョンが原因だとみていて失敗。
DBポートの指定方法
ポート番号を明示するところはwp-config.phpの「DB_HOST」(デフォルトではlocalhost)。その欄に「:ポート番号」の要領で追記すればOK(下記参照)。これで無事にインストール画面が出た。
define( 'DB_HOST', '127.0.0.1:3307' );
define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wordpress_username' );
define( 'DB_PASSWORD', 'wordpress_password' );
CMSインストールから外されたWordPress
ちなみに、レンサバ公式オンラインヘルプではWordPressのインストール方法をガイドしているものの、実際は記述されているように出来ず(2016.2月現在)代わりにショッピングツール内にMovableTypeが案内されている。想像だが、WordPressのバージョンアップとサーバーのPHPバージョンなどが合わなくなったため、WPは標準からはずされたのだろう。オンラインヘルプ最新ニュースが2008年で、現在まで約10年間更新が無い点、使用をためらう不安なサーバーだ。
以上の理由からWordPressをカスタムインストールしたのだが、wp-install.phpの段階で上記エラー表示、というワケだ。こうなると自力で解決しなくてはならない。
CPIレンタルサーバーsecure.ne.jpドメインの仕様
さて、本題のWPインストール時のエラーだがCPIレンタルサーバーの仕様上、MySQL 5.4を利用するにはDBホストに独自ポート番号(3307)があてられている。このブログを書いている時点(2016.2)で最新のWordPress(4.4.2)を使うにはMySQL5.6 + PHP5.6以上 を使う必要があり、そうするには、レンサバのオンラインヘルプによると下記の作業が必要だった。
secure.ne.jpドメインのオンラインヘルプ
secure.ne.jpドメインのオンラインヘルプにはDBの独自ポート番号について記述があるが、WordPress設定(wo-config.php)どこにポート番号を入力するかはもちろん説明がない。
参考にしたブログ
MySQL が 3306 番以外のポートで動いている時の WordPress 設定
不具合2)WordPressのタイトルや投稿だけが文字化けする
タイトル、投稿などに入力した日本語が、保存ボタン(公開ボタン)を押すと文字化けする。phpMyadminでの言語設定でUTF-Generalに設定されているし、テーブルに日本語を直接入力しても文字化けしないところをみると、さらに上位のところの不具合に見える。
どうやら、CPIサーバーのデフォルト文字コードがUTF-8ではないのことが原因で、このサーバーにWordPressを設置したら日本語入力ができず半角英数文字しか保存できないようだ。解決方法は、管理画面コンパネからphp.iniの設定を取り出し編集後サーバーに保存する、というハードルが高いもの。その方法は下記の通り。
- CPIレンタルサーバーのコントロールパネルへ(https://ユーザーID前5文字.secure.ne.jp/admin/)
- ホーム > お客様情報 > プログラムのパスとサーバの情報 > PHP iniの設定情報 > PHP 5.2.4…へと進む
- PHP 5.2.4の設定情報をコピーし、後述の通り編集する
- それを、wordpressの「wp-admin」フォルダに「php.ini」のファイル名で保存
- php.iniパーミッション640に変更
PHP iniの編集
❌編集前 | ➡️編集後 |
---|---|
mbstring.internal_encoding = EUC-JP | mbstring.internal_encoding = UTF-8 |
mbstring.encoding_translation = On | mbstring.encoding_translation = Off |
これで無事にWordPressが運用できる?のか、この先不安なので、様子を見てCPI解約を考え、しばらく様子見。
参考にしたブログ
CPI公式ガイド「FTP を用いて手動でインストールする場合」
CPIレンタルサーバーのWP-DBManagerのパス値
WPプラグイン「WP-DBManager」の設定にあるパス値。いろいろ設定があるようだが、当契約サービスだと下記設定でうまくいった。
mysqldumpのパス
/usr/local/mysql5/bin/mysqldump
mysqlのパス
/usr/local/mysql5/bin/mysql
うまくいかない場合、下記サイトを参考に
不具合3)contact form7 のメールが日本語だけ「??」と文字化け
php.iniで文字化けが治ったと思いきや、プラグインでも起こり、ここでも1日ハマる汗。なんじゃこらー;
ドキュメントルートのhtaccess.に下記コード追記(wp-adminフォルダにphp.iniを入れたことが前提)。その下でiniへのアクセスを拒否した。
# CF7 POST MOJIBAKE taisaku Options +FollowSymLinks suPHP_ConfigPath /usr/home/ユーザID/html/wp/wp-admin/ # php.ini ACCESS DENY <Files ~ "\.ini"> deny from all </Files>
index.phpに下記コード追記が必要とするブログもあったが、こちらのCPIサーバーではエラーが出て実施せず。
suPHP_ConfigPath /home/ユーザID/html/wp/ <Files ~ "^(\.htaccess|\.htpasswd|php\.ini|.*\.sql|.*\.log|.*\.cron|.*\.inc|.*\.phps|.*\.yml)$">
参考にしたブログ
不具合4)パーマリンク変更でForbiddenエラー
/wp/.htaccessに下記コード追記し、mod_rewriteを有効化させる。(mod_rewriteはapacheのファル変換機能)
# mod_rewrite acctive Options FollowSymLinks
参考:http://www.retropc.net/mm/archives/33
ウィジェットが突然消えるなど、その他確認できた不具合
- 全ウィジェットが突然消える(テンプレをいじっていたら突然正常戻った。よく分からない汗。)
- ほんとナンナンダ?このサーバー。誰が使うん?
スポンサードリンク