サーバ リプレイス

10年位使い続けてきたので、買い換えることにしました。
小さめのPCでも問題ないので、エプソンダイレクトのST20Eにしてみました。 構成は Windows 10 pro にしたのと、SSDを256G、メモリを8Gにした位です。 注文したら、3日程で届きました。 早いですね。

使い慣れていないWindows10に戸惑いながら、セットアップしていきます。 良い機会なので、使い続けてアップデートしていなかったPHPとかPerlとかもアップデート。 もちろん、この記事を書いているMovable Type(以下MT)も長らくアップデートをサボっていたので、1から構築し直しました。

が、コレが大変。

MTの推奨がMySQLなので、MySQLをインストール。 簡単楽ちんインストーラでサクッと... いきません。 何故かインストール失敗します。 何回やっても同じなので、諦めてzipファイルでのインストール。 これは、単に展開すれば良いだけなので、簡単。 展開後にmy.iniを作成して... あれ、zipファイルに入っていない。 どうも最近のはiniファイルが同梱されなくなったらしいです。 web検索しまくって、何となく良い感じ(!?)のiniファイルを作って、初期化作業をします。 コマンドから、

mysqld --initialize
mysqld --install-manual MySQL --defaults-file=c:\mysql\my.ini

とすると、サービスに登録されて動きます。 まぁ、文章にするとこれだけなんですけど、実は、この中に落とし穴があるんです。 これだけでMySQL起動するんですけど、rootで入れません。 初期化時にrootパスワードを自動生成するみたいなんですけど、その生成時のログをファイル出力する設定をmy.iniにしておかないと、自動生成されたパスワードが判らないんです。 また、傍目から見ると初期化出来ている様でいてdataディレクトリを良く見るとerrファイルが出来ていることもあり、これではパスワードは自動生成されません。 結局、

plugin_dir = "c:\mysql\lib\plugin"
log_error = "c:\mysql\logs\mysqld_error.log"

この2つが設定されていないとダメみたいでした。 これでlog_errorのファイルにパスワードが出力されます。 Active Perlも最新だとダメらしく、Active Perlで公開されているのでは動かなかったので、Strawberry Perl の5.18を入れました。PHPは最新で大丈夫そう。 以上でやっとMTの初期設定に行けます。

従来記事の移行は色々と面倒なので、一旦エクスポートしてURL等のダメそうなところをエディタで置換しまくって置き換えてインポート。 これは案外素直に出来ました。 あと、見栄えがデフォルトなんですけど、これは追々変えていきます。 結局MTの構築で2日位かかってしまいました。

あとちょっと手こずったのが、syncthing。 設定等のデータファイルのありかが判れば、コピーで移行出来るのが判るまで半日かかった...

細かなところでは、PHPでのファイル名取得がWindows7ではSJISで取得出来たのがWindows10ではUTF-8に変わっていたりとかしました。

まぁ、なんとか移行出来た状態で年越し出来てなりよりです。