Tagged ‘CORE SERVER’

MovableTypeをXREAからCORE SERVERへ

仕事の仮アップ用にMovableTypeもインストールしていたが先日のXREAからCORE SERVERへ移転でMySQLのデータが上手くバックアップできなかった。
まず、PhpMyAdminでバックアップしたデータが’(シングルコーテーション)が2重になってたり、表示などの文字に¥マークが付いたりしていた。
どう書き出しても同じ結果なので仕方なくエディタで検索しながら手作業でエラーが出ない形に整形して読み込ませた。何度か挑戦するとようやく読み込みに成功した。
MovableTypeを立ち上げて、管理画面を開くと文字化けだらけ。念のためPhpMyAdminでデータを確認したが正常に表示される。
前回のCORE SERVERでMySQLの文字化けと同じ現象だ、MySQL4(XREA)からMySQL5(CORE SERVER)に移転したのが原因だと思われる。
前回はPHPだったのでセーフティな対処法があったが、MovableTypeはPERLなので同じ事は出来ない。
/mt/lib/MT/ObjectDriver/DBI/mysql.pm

$driver->{dbh}->do(“SET NAMES sjis”);
を3箇所ぐらいに記載して無理矢理文字化けしないようにしたが、後で調べてみるとXREAのサーバーでMySQL5を使っているとMovable Type4をインストールするとそれまで使っていたデータベースのデータが文字化けするようだ。という記事を発見した。
/mt/mt-config.cgi

SQLSetNames 1
とするだけで良かったみたい。
「mysql.pm」を元に戻して「mt-config.cgi」を修正したらすんなり表示できた。
ソースを見る限りやることは同じだけど、オフィシャルのやり方なのでコッチの方が安心だ。

CORE SERVERでMySQLの文字化け

作業量を計る為に日報を書くプログラム(PHP+MySQL)を作っていたが、今回のXREAからCORE SERVERの引っ越しで文字化したので調べてみた。
PhpMyAdminから入力した文章は自作PHPで文字化けし、
自作PHPから入力した文章はPhpMyAdminで文字化けしてる状態だ。
最初は明らかに古いPhpMyAdminがインストールされたので怪しいと思ってバージョンアップしてみたが何も変わらない。phpinfoとかも見てみたが大丈夫だ残るはmySQL。telnetでログインして文字コードが何なのか調べてみる事にした。

> cd /
> mysql -u ユーザー名 -p
mysql> SHOW VARIABLES LIKE 'cha%';
+--------------------------+---------------------------------------------------+
| Variable_name            | Value                                             |
+--------------------------+---------------------------------------------------+
| character_set_client     | latin1                                            |
| character_set_connection | latin1                                            |
| character_set_database   | utf8                                              |
| character_set_filesystem | binary                                            |
| character_set_results    | latin1                                            |
| character_set_server     | utf8                                              |
| character_set_system     | utf8                                              |
| character_sets_dir       | /usr/local/mysql-src-5.1.22/share/mysql/charsets/ |
+--------------------------+---------------------------------------------------+

とlatin1(ラテン)が混じっていた。もちろん管理画面からmySQLを作成する時にUNICODEで作成してる。
一体何を考えてlatin1のまま放置してるのか分からないが、共用サーバーではこの設定を変える事は出来ない。
検索するとset names utf8以外の文字化け対策ってのを見つけた。
CORE SERVERはPHP5.2.5なので
mysql_set_charset(‘utf8’);
を追記した。するとバッチリ直った。
ただ、毎回CORE SERVERの為だけにコレを書く必要があるしオープンソースなソフトをインストールする時にややこしい事になりそうだ。

XREAからCORE SERVER

XREAからCORESERVER.JP(CORE-A)に移転した。
管理画面は殆ど変わらない。独特で最初は取っつきにくいが使い慣れると使いやすい。
静的なコンテンツは「サーバー間コピー」で簡単に数分で終わったがDBがなぜかユーザー名のみのデータベースが生成されず、かなり時間がかかってしまった。
XREA(CORE SERVER)では例えばユーザー名が「user」だとすると「user_~」というアンダーバーの後に適当な文字を追加したデーターベースを複数作れる。xreaは昔は複数作れなかったのでユーザー名のみのデーターベースを作ってたので今回も同じ様な感じでいこうと思ったがphpmysqlでもログインできないし、telnetでもログイン出来ない。待てばいいのかと1時間待っても2時間待っても何も変わらない。仕方なくアンダーバー付きのデーターベースを作った。
WordPressは記事をバックアップしてインストールし直し、プラグインも入れ直した。
プラグインのアップデートの際CGI版PHP5にして動かしていたんだけど、管理画面の表示が崩れる事があった。CORE SERVERではCGI版PHP5は使わない方がいいみたいだ。CGI版が使えないのでWP Super Cacheのインストールはstupid website» ブログアーカイブ » xrea,coreserverでのWP Super Cacheを参考に複雑な手順を踏む事になった。モジュール版の方が安全で少し速いみたいなので結果オーライって事で。
テーマとかはバックアップしてあるので大丈夫だったがリンクとウィジェットが消えていたが、WP Super Cacheのキャッシュが残ってたのでなんとかなった。
あらかた正常に動くようになったのでKtai Styleを入れてみた。いつも携帯のチェック用に使ってるFireMobileSimulatorでチェックしたら思いっきり文字化け。色々調べたが直らず、実機で確認したところ問題無かった。httpヘッダで間違った文字コードを送ってるのかもしれないが、これもOKって事で。
他の非公開な確認用ムーバブルタイプをPhpMyAdminでバックアップとってリストアしたがデータが変になって使い物にならなかった。PhpMyAdminは高機能だけどバックアップとリストア機能は信用できない。過去に何度も酷い目にあってるので今回もダメかもと思いながらやったがダメだった。CORE SERVERとXREAの管理画面からリストアとバックアップをしても文字化けして使い物にならない。
掲示板はpsotgreSQLを使ってるのでPhpPgAdminでバックアップしようとしたがエラーが出てさせてくれなかった。もう意味が分からない。
結局、丸一日かけてサーバーの移動が終わった。(まだ、色んな非公開なツールの問題が解決してないけど・・・)
CORE SERVERとXREAを比べるとやっぱり早くなってる。CORE SERVERはDBが遅いと噂にあったので心配してたけど全然速かった。
過去にデータベース依存の高いソフトを入れた事のある激安サーバーで比べると
CORE SERVER = チカッパ >>> XREA >>> ロリポ
って感じです。もちろん当たり外れはあるけど。

追記
BBSは壊れててるけど、あまり使われていないので直さないかもしれません。