サーバーの引っ越し
これまで10年以上使用してきたWEB用サーバーのOS(CentOS 6.10)はサポートが終了し、セキュリティリスクが高くなったので、引っ越してみました。このブログ用のサーバーではなく、仕事用で〜す。
OSだけでなく、PHPのバージョンが5.6.40と古く、WordPressやMTのバージョンアップができず、セキュリティリスクが高い。PHPを7にすると、WordPressやMTもバージョンアップしないと動かないし、自作のPHPプログラムも動かないのがチラホラ。
とはいえ、いずれはバージョンアップしないといけないので、ついに踏ん切りました😉
すでにマルウェアなどの攻撃を受けて被害が出てきているというも大きな理由。
ということでついに決行しました。
1.新サーバー(CentOS7.9.2、PHP7.43)を最低スペックで契約しMT・WordPress(最新版)のテストを実施
2.軽いサイトの1つを新サーバーに移行し本番運用
3.残りのサイトを移行しテスト、動作確認
4.新サーバーを本番に必要なスペックにアップグレード
5.動作がOKだったので、前回のデータコピー後に変更のあったファイルをコピーし、DNSを変更し本番化
で、ここからが本番。いくら事前に動作確認しても、いろいろ出てくるのが当たりまえ。それがアジャイるなサーバー移行?w
移行後に発生した問題
ディレクトリ構造の変更(新サーバーは複数のドメインが同居するためディレクトリがドメインごとに違う)に伴う不具合。テスト時には気づかなかったがファイルの位置を相対指定ではなく、絶対指定してあったプログラムが存在したw
ファイルのコピー時にファイルの所有者、アクセス権が変更になったことで動作しないプログラムがあった。
新サーバは大量のアクセスにも耐えられるように旧サーバーでは使っていなかったnginxというプロキシサーバーが事前にインストールされていたが、これが、インストール済みであることに気づかず、htaacess(ページの転送、アクセスできる端末の制限など)が動作していなかった。nginxでhtaacessを動かす方法を探ったが、1000行以上もあり、動作させることは不可能との判断から、nginxを止めることで、正常に動作させることを優先した。
新サーバーには各種のセキュリティ対策の設定項目があり、事前に設定した内容が厳しすぎたため、通常のサクセスがSPAMと判定されアクセスできない事例があった。
WordPressから存在しないファイルへのアクセスが1秒に1回程度続く。そのせいでphp-fpmのプロセスが足りなくなりサーバーが重くなった。でもどのWordPressにもそんな投稿ない。この原因の解明に丸2日。結局、テーマの1つが使っているDBにそのファイル名を発見。httpでアクセスしようとしていたが、新サーバーはhttps以外では接続不可がデフォルトなので、ファイルが見つからないというエラー。でも、そこで諦めるようにプログラム書いてよww というこで、httpsにDBを書き換えて、一件落着。
何千ページもあるWEBを1ページずつ開いて検証できるわけはないので、あとから、いろいろ出てくる。人が作ったページだとなおさら。特にPHPのバージョンが上がったことで、DB関連のライブラリが動作しない。事前に気づいたソースは修正済みだったが、WEBの場合、ページ内に数行程度のプログラムを書いてあることもあって、そこでエラーが出たりする。これが結構、大変。書く側からすれば、ちょこっと書けるので便利なんだけど、WEBは仕様書やドキュメント、HTML内にコメントなども書かずに、とりあえず、早くリリースし、ソースは軽くなので、後が大変。
ということで、一段落したの、メモを残します。