XREAからCORE SERVERへの移行作業

  • 投稿日:
  • カテゴリ:

XREAからCORE SERVERへの移行作業がほぼ終わったので、メモをしておこうと思います。

基本的な作業は、XREAのファイルをtarで圧縮して、CORE SERVERでSSHでログインして、解凍していきます。データベースもphpMyAdminを使って、XREAでエクスポート、CORE SERVERでインポートです。あとは、PHPのバージョンの関係で動作しないものの修正などです。

ファイルの移動

XREAのサーバーでサブドメインごとに
tar cvf ファイル名.tar ディレクトリ名
と圧縮し、FTPでダウンロード

CORE SERVERにアップロードし、それぞれの場所で
tar xvf ファイル名.tar
と解凍します。

一度圧縮した理由は、ファイルのタイムスタンプがそのまま表示されるウェブアプリがあるからです。FTPでアップロードするとタイムスタンプが現在になってしまいます。tarで圧縮するとタイムスタンプが保持されます。

ディレクトリの構成

XREAでは、アカウントがxxxxだとすると、/virtual/xxxx/public_html/sub.xxxx.comのようなディレクトリになるのですが、CORE SERVERは、アカウントがccccだとすると、/home/cccc/domains/sub.cccc.com/public_html/のようになります。カスタマイズできるようですが、そもそもの場所が全然異なるので、デフォルトにしました。

データベース

データベースは、XREAは、アカウントがxxxxだとすると、xxxx、xxxx_2、xxxx_3、xxxx_4、xxxx_5の5つです。データベース名は固定です。それに対して、CORE SERVERは、アカウントがccccだとすると、cccc_の後ろは自由に設定できます。cccc_photogalleryとかcccc_movabletypeのように自分でわかりやすい文字列を付加させることができます。

なお、インポートするときのファイルサイズは、60MBの制限があることに注意が必要です。

PHPのバージョン

XREAはphp56も使えていました。古いスクリプトはphp56で動作させていました。しかし、CORE SERVERは、最低でもphp74です。

実は、使っている簡易ウェブ掲示板アプリなど、URLがリンク切れ。自分で修正が必要です。「mysql_」関係を「mysqli_」にしたり、削除された関数を置き換えたりしなければなりません。

今回、エディタにはVisual Studio Codeを使いました。すると、php7以上(設定次第)では動作しない関数や表記は、赤アンダーラインが引かれます。修正作業が非常にはかどりました。しかも、each関数のわかりにくいコードも、Microsoft EdgeのAIであるCopilotに投げると、動作するコードに置き換えてくれます。ものすごい有能なアシスタントです。ある程度まとまったコードを投げると、何をするコードなのかを解説してくれます。

動作速度

移行作業中に、MovableTypeの再構築の所要時間をコピペしておきました。

xrea

Hyson Tearoomを再構築しました。 処理時間: 1 分, 18 秒
EarlGrey Tearoomを再構築しました。 処理時間: 3 分, 43 秒
Tea Pot Portalを再構築しました。 処理時間: 6 秒

coreserver

Hyson Tearoomを再構築しました。 処理時間: 58 秒
EarlGrey Tearoomを再構築しました。 処理時間: 2 分, 34 秒
Tea Pot Portalを再構築しました。 処理時間: 4 秒

速い!!

SSHでFDclone

SSHでログインする設定をしたあと、FDcloneをインストール。
解凍したあと、makeをし、ホームディレクトリにbinディレクトリを作成し、そこに実行ファイルfdをコピーしました。このbinは、初期状態で存在しないディレクトリなのに、PATHが通っていました。【追記:この手抜きな方法だとメッセージが表示されなかったので、「make PREFIX=~」でコンパイルをやり直し。その後「make install」】

ホームディレクトリに.fd2rcを作成し、設定を書き込んでおきます。他にも.bashrcや.vimrcなども作っておきました。マックのターミナルや自宅サーバーで使っているものをコピーしただけです。

また、C言語のカウンターのCountもサーバー上でコンパイル。
http://www.muquit.com/muquit/software/Count/Count.html
20年前のソースコードが今でも問題なくコンパイルできるのは素晴らしい。
srcディレクトリ内にあるconfig.hを書き換えてmakeしましたが、ドキュメントを見返すと、
STEP1 make config.h
STEP2 make all
STEP3 make cfg
STEP4 make install
とやるようです。

今後の作業・課題

掲示板などのサポートなしのPHPウェブアプリは、今回修正してphp74で動作させていますが、将来を見据えてphp8にしたときに動作するのか不明です。また修正作業が必要なのかもしれませんが、今回は見て見ないフリ。

あと、wwwありとwwwなしのURLがうまく行っていません。wwwありでアクセスするとサーバー上のwwwなしのデータを読みに行きます。今は騙して使っていますが、ちょっと調べた感じだと、仕様上の何かがあるようです。

リンクソース

  • 記事用リンクソース:
  • Wiki用リンクソース(PukiWiki):
  • Wiki用リンクソース(MediaWiki):
  • SNS投稿用: