CentOS7をインストールしたサーバの準備も一通りできたので、ThinkPad X21にCentOS6をインストールして使用している壊れかけのHDDのサーバから移行する。
手順はざっくりと
- Apacheバーチャルホストの設定
- コンテンツ移動
- MySQL DBデータ移動
- http(80番)ポート開放
という感じかな。
Apacheバーチャルホスト設定。
CentOS 7はApacheのバージョンが2.4になったので「NameVirtualHost」の設定は不要になったようだ。
バーチャルホストの設定は移行元のサーバの
/etc/httpd/conf.d
の中身をscpでコピー。
バーチャルホストの設定のコピーが完了したらApacheを再起動してバーチャルホストの設定を反映させる。
# systemctl restart httpd.service
コンテンツ移動。
Apacheドキュメントルートを特定グループ所属のIDで更新可能にしておく。
# cd /var
# chgrp group www
# chmod g+w www
Webのコンテンツは移行元のサーバの
/var/www
の中身をscpでコピー。
MySQL DBデータ移動。
DBデータを移行するためにまずDBとテーブルを作成する。
$ mysql -u root -p
create database xxxxxxxx default character set utf8 collate utf8_general_ci;
確認
show databases ;
ID作成
grant all on xxxxxxxx.* to xxxx@localhost identified by 'xxxxxxxx';
テーブル作成
移行元のサーバで
show create table xxxxxxxx;
でテーブルのcreate文を生成。
移行先のサーバで生成したcreate文を実行。
確認
show tables ;
DBのデータをコピーする。移行元のサーバでmysqldumpを使ってデータを取り出し、scpで移行先のサーバにデータ移動、移行先のサーバにデータ投入という手順。
移行元のサーバでのmysqldump
mysqldump -p -u root -t -x --tables table1 table2 > db.sql
移行先のサーバでのデータ投入
mysql -u xxxx -p xxxxxxxx < db.sql
http(80番)ポート開放。
iptablesの設定を変更しようと試みたが、コマンドが無い。centos7ではFirewalldに変わったらしい。
Firewalldで以下のような設定にしてみた
# cp /usr/lib/firewalld/zones/public.xml /etc/firewalld/zones/xxxxxxxx.xml
# firewall-cmd --reload
# firewall-cmd --permanent --add-service=http --zone=xxxxxxxx
# firewall-cmd --reload
# nmcli con mod enp5s0 connection.zone xxxxxxxx
# firewall-cmd --get-zone-of-interface=enp5s0
これで移行完了。サーバのIPアドレスの入れ替えれば移行先のサーバで稼動開始。
viで/etc/sysconfig/network-scripts/ifcfg-enp5s0を編集してサーバのIPアドレスを変更する。
サーバ再起動。
移行先のサーバで稼動開始。
0 件のコメント:
コメントを投稿