勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

DTIからKAGOYAのVPSに引っ越した際の作業内容と上手くいかなかった点をメモ

   2024/02/22  VPS サーバー

DTIのServersMan@VPSからKAGOYAのVPS(KVM)へ引越し作業を行った。その際の作業内容や上手くいかなかった点、注意点などをメモ。

 

サーバに設置していたCMSやフレームワーク等

以下を入れていた。Monstra以外は日常で使っているので無事に移設したいところ。

  • WordPress
  • AjaXplorer
  • PukiWiki
  • Monstra
  • CodeIgniter

 

事前準備

不要なファイルの削除

旧サーバの方で事前準備としてまずは不要なディレクトリやファイルは削除しておく。また、以下コマンドでサイズの大きいファイルを探し、不要であれば優先的に削除。ログ系はスルーする。

#100MB以上のファイルを探す
find /var -size +100M -exec ls -lh {} \;

引っ越しするファイルのzip化

ルートディレクトリ以下のファイルを全てzip化する。

#/var/www/html部分は適宜書き換え
zip /var/www/html/all.zip -r /var/www/html

データベースをdump

MySQLのデータを全てダンプする。

#/var/www/html部分は適宜書き換え
mysqldump -u root -p --all-databases --lock-all-tables --events > /var/www/html/all.sql

 

移設先のサーバ設定

基本的には以下過去記事を参考に設定した。

https://taitan916.info/blog/archives/2855

https://taitan916.info/blog/archives/2251

 

SWAP(スワップ)領域

KAGOYAのVPSでOpenVZはスワップ領域が最初から用意されているけど、KVMでは用意されていなかった。以下で設定する。

#swap設定
dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile

#設定ファイルを開く
vi /etc/fstab

#再起動時にswap領域が認識されるよう以下を追記
/swapfile               swap                   swap    defaults        0 0

#再起動
reboot

#認識されているか確認
top

 

ファイルとMySQLデータを設置

ftpとかでファイルのダウンロード / アップロードをしてもいいけど、サーバ間でやり取りした方が楽そう。まず以下で必要なものを導入。

yum install wget zip unzip

そして旧サーバからall.zipとall.sqlを以下で取得する。今回はbasic認証をかけているディレクトリから取得したので以下のようなコマンドになる。かっこ部分は不要。

wget --http-user=[ここにID] --http-passwd=[ここにパスワード] http://sample.com/all.zip

ファイルは以下で設置。

#設置フォルダに移動
cd /var/www/html

#展開
unzip all.zip

MySQLデータは以下でインポート。

mysql -u root -p < all.sql

 

ドメイン設定

ドメインのゾーン設定を変更する。この時点で移行作業は完了のはず。

 

上手くいかなかった点

MySQLでエラー発生

MySQLデータのインポート時に「ERROR 1273 (HY000) at line 1409: Unknown collation: 'utf8mb4_unicod
e_ci'」という文字コードが原因っぽいエラーが発生した。調べたところ新サーバ側のMySQLのバージョンが低く、これを改善する必要があった。具体的には5.1から5.5もバージョンアップしたい。以下で対応した。

#MySQLを削除
yum remove mysql-server

#5.5をインストール
yum --enablerepo=remi install mysql mysql-server mysql-devel mysql-libs

AjaXplorerでエラー発生

次にAjaXplorerのページが表示されず、/var/log/httpd/error_logを確認したところ「 PHP Fatal error:  Class 'DOMDocument' not found」というエラーが表示されていた。これはPHP-XMLが入っていないことが原因のようで以下で対応した。

yum install --enablerepo=remi-php55 php-xml

 

注意点

web関連のファイルとMySQLは問題ないが、サーバ関連の部分は再設定するしかない。例えばCronとか。そのあたりは抜けが出そうなので注意する。再設定の際に資料として残しておいた方が良いかと。

旧サーバは設定ファイルの確認や非常に元に戻せるよう少なくとも数日は残しておく。

 

まとめ

サーバの設定状況やインストールした内容、バージョンをきちんと把握していない為、そのあたりで思わぬエラーが起こったりした。恐らくは他にも抜けがありそう。サーバの設定・変更時はテキストでもいいからまとめておくべきだと思った。

 - VPS サーバー

  関連記事

AlmaLinux8.6にLAMP環境&WordPressを構築する方法

だいぶ前にCentOS6系から7系に移行したが、7系も2024/6/30にサポー ...

ServersManのVPSにRuby on Railsを導入する方法

Ruby on Railsを導入した際のメモ。Cens OSのバージョンは6.3 ...

CentOS6系から7系に(KAGOYAからIndigoに)移行した際のメモ

CentOS6系から7系に、さらにKAGOYAのVPSからWebARENA In ...

VPSでWebARENAのIndigoが安い

サーバの勉強や開発環境の為にVPSをレンタルすることが多い。当ブログのように常時 ...

ConoHaのVPSの使用感について

ConoHaのVPSを試しに使ってみたので使用感をメモ。使用したプランはメモリ5 ...