PHP5.3のサポートが2014年8月14日で終了するとアナウンスされていたので、いい加減にCentOS6.5からCentOS7.0へのアップグレードを行った。CentOS6.5に付随するPHPは5.3系、もちろんPHPだけ手作業で更新することもできるのだけど、CentOSのFull Updatesのサポート期限まで後1年もないし、良い機会なのでOS丸ごとアップデートすることにする。
実は今までLinuxをインストールするところまでで、まともに使ったことがないので、アップグレード作業は初めての経験。
CentOS6.5->7.0へのUpgrade
1.yum updateを実行して既存のアップデートを全て適用する。
2.preupgrade用のツールをインストールする。
必要なモジュールはhttp://dev.centos.org/centos/6/upg/x86_64/Packages/におかれているので、こちらよりダウンロードしてインストールする。以下のコマンドを実行。
yum -y install openscap pcre-devel libxml2-devel libxslt-devel m2crypto python-simplejson mod_wsgi rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-33.el6.x86_64.rpm rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/python-rhsm-1.9.7-1.el6.x86_64.rpm rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm
2.preupgを実行してファイル更新の準備をする
次のコマンドを実行してファイルの更新を行う。
preupg
3.redhat-upgrade-toolを実行してファイルを更新する
次のコマンドを実行してファイルの更新を行う。かな~り時間がかかるので気長に待つ。
redhat-upgrade-tool --network 7.0 --instrepo http://ftp.iij.ad.jp/pub/linux/centos/7/os/x86_64/ --force
4.OSを再起動
5.再びyum updateを実行して既存のアップデートを全て適用する。
これで一応はCentOS7.0の環境に更新される。だがもともと動いていたWordpressは機能していない。CentOS6.5のインストール以後に変更した諸々の設定ファイルはCentOS6.5の時のままであったりするので、設定ファイルの見直しが必要になる。
WordPressの移行作業
1.mariadbのアンインストールとMySQLのインストール
CentOS 7.0ではMySQLの代わりにMariaDBがインストールされている。新規にインストールするならMariaDBに切り替えても良いのだけど、旧環境をできる限り生かしたいので、MariaDBをアンインストールして、新たにMySQLをインストールすることにする。
yum -y remove maria* yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum -y install mysql mysql-devel mysql-server mysql-utilities
2.Apatchの再設定
CentOS6.5の頃のApatchの設定ファイルがそのまま残っているが、Apatchのバージョンが上がっているため、その設定ファイルのままでは動作しない。httpd.conf.originalを元に改めて設定をやりなおす。この時modrewriteが無効になっているので、<Directory “/var/www/html”>のAllowOverride NoneをAllowOverride Allに変更する。
3.MySQLとApatchを起動する
デーモンを起動するコマンドがCentOS6.5とCentOS7.0では異なる。CentOS6.5ではserviceを使っていたが、CentOS7.0ではsystemctlコマンドを使用する。次のコマンドを実行してMySQLとApatchの自動起動する。
systemctl enable mysql systemctl enable httpd
以上で、CentOS6.5 + WordPressの環境をCentOS7.0 + WordPressの環境に移行できる。初めてLinux系のOSでアップグレードしてみた訳だが・・・サーバーを2台以上用意できるなら新規にインストールしたほうが情報も多いし、トラブルも少なく、手っ取り早い気がorz