XREAでPhpMyAdminにログインできない

とてもとても頻繁に起こっている問題のようです。

最近、XREA内でサーバを移転したのですが、その際に、データベースの引っ越しを行いました。前のサーバでデータベースをエクスポートし、新しいサーバでインポートします。

そして、以前にも書きましたが、WordPressはサイトのURLが変わると、データベース内の情報を書き替えなければうまく動作してくれません。そのため、何らかの方法でデータベースにアクセスしなければならないのですが、よく使われるのがPhpMyAdminです。とくにXREAは自動インストール機能を用意しているので、これを使おうとするのが普通でしょう。

しかし、XREAが提供しているPhpMyAdmin、どういうわけか、ログインできないという問題があります。いや、ログインできるのですが、ちょっとコツがいるのです。また、サーバによっては、設定を変更しなければならない場合もあり、原因と対処方法がよく分からないという、何とも微妙な状況になっています。ちょっと検索するだけで、同じような相談が多数見つかり、これだけ問題になっているなら、根本的に解決してくれよ…と思います。まあ、本当に原因が分からないのかもしれません。

おそらく、最も参考になるのがXREAのphpMyAdminのログイン問題(「ブログだった」より)です。しかし、わたしはこれを試しても効果がありませんでした。

それでは何をしたかというと、まずはログイン画面を出して、ユーザー名とMySQLのパスワードを入力、そしてEnter。パスワードが違います、というようなエラーメッセージが出るのですが、ここでおもむろにCtrl+F5を押してページをリロードします。もしかするとF5でもいいのかもしれません。すると、どういうわけか、PhpMyAdminの管理画面にアクセスできるようになります。ちゃんとテーブルを編集できたりするので、正しくログインできているようです。

なぜかは分かりませんが、なんにせよ、使えているので、いいものとします。

XREAでWordPress

XREAの無料サーバでWordPressを使おうとしたら少々の問題が生じたので、その対処法をメモしておきます。

環境は次の通り。

Firefox 3.6.10
Apache 1.3.37
PHP 5.2.5
MySQL 5.1.22-rc
WordPress 3.0.1-ja

まずはXREAの管理画面でMySQLのデータベースを作成。そしてWordPressのインストールの手引きに従って、wp-config.phpを編集してからファイルをアップロードし、install.phpを実行します。

ここで最初の問題が発生。install.phpを呼び出すとデータベースに接続できないというエラーが表示されました。この原因はいまでもよく分からず、データベースを削除してから作り直すことで解決されました。

ともかく、必要な情報を書き込み、インストールは完了(おそらくデータベースのテーブル作成のみ)です。

インストール後は作成した管理者アカウントでログインしてダッシュボード画面に移るのですが、明らかにレイアウトが崩れています。本来は3ペイン構成になるのですが、そのようにならず、縦にずらっと並んでしまいます。一目で、スタイルシートまわりに問題があると分かりました。

この解決方法を探してみると、「Xrea+wordpressでダッシュボードの表示が変」で対処方法が解説されていました(記事内で「CORESERVER + WordPress の管理画面がおかしくなる場合の対処法」を参照)。

どうやら、スタイルシートを読み込むphpスクリプトがスタイルシートをtext/htmlで送っており、広告が自動挿入されてしまうため、正しいスタイルシートとして認識されていないらしいのです。IEではこの問題が生じないそうなのですが、おそらくスタイルシートの処理が違うためでしょう。

いくつかの解決方法がありますけれど、わたしは最大限WordPressをモジュールで動作させようと思ったので(その方が処理も軽くなるはず)、次のような.htaccessをwp-adminディレクトリに置きました。

# ファイルのアップロード
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>


# プラグインの新規インストール
<files plugin-install.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>


# スタイルシートを text/html で出力するため広告自動挿入をオフにする
<files load-styles.php>
LayoutIgnoreURI *.php
</files>

これでダッシュボードは正常にレイアウトされるようになりました。