(CentOS 6→7)LAMP環境の移行

何をするか

CentOS 6.9で動いているLAMP環境のデータを退避して
CentOS 7.3でLAMP環境を構築してデータの旧データのインポートを行う。

移行元サーバ(cent6.9)

まずは移行元サーバにてDBをエクスポートする。
文字コードを確認
※character_set_databaseの項目

show variables like "%character%";

DBをエクスポート
※★マークは確認した文字コードを入力(utf8,binary,latin1…etc)

mysqldump --default-character-set=★ -u root -p work > old.sql

winscpか何かでold.sqlとhtml関連のファイル(とりあえず/var/www/html以下全部)を退避

移行先サーバ(cent7.3.1611)

mysqlをインストール

yum update
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum install -y mysql-community-server

mysqlを起動、自動起動設定

systemctl start mysqld
systemctl enable mysqld

mysqlの初期PWを確認
※root@localhost:以降がパスワード

cat /var/log/mysqld.log | grep root

パスワードポリシー無効化(初期のポリシーが厳しいので..)

vi /etc/my.cnf
--------
validate-password=OFF ←追加
--------

mysqlのパスワードをnewpasswordに変更

mysql -u root -p
SET PASSWORD = PASSWORD('newpassword');

DBをインポート

create database work;
mysql -u root -p work < old.sql

apacheをインストール、起動、自動起動設定

yum -y install httpd
systemctl enable httpd.service
systemctl start httpd.service

FWにてhttpを許可する

firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --reload
systemctl stop firewalld/pre>

phpをインストール
yum -y install php php-mysql

phpの文字コードをmysqlの文字コードと同じに設定、

vi /etc/php.ini
-------
[mysql]
default-character-set = ★
-------
systemctl restart httpd.service

apache + mysql連携テストは下記が参考になる

ntpをインストール、起動、自動起動設定

yum -y install ntpd
vi /etc/ntp.conf
server 1.1.1.1
systemctl enable ntpd

ntpdだけを有効にするために不要なデーモンを切る
※chronydとntpdの両方がenabledの場合、chronydだけが起動した状態になる。

sudo systemctl disable chronyd.service