サーバ引っ越し

今まで使っていたレンタルサーバから、お名前.comのVPSサーバに移転した。機能がちょっと上で安かった。持っているいくつかのドメイン管理も、お名前に移転した。
あとはうまく引っ越しして3月中には旧サーバの契約を外したい。

引っ越しで面倒なのはデータよりもサーバ、アプリ設定である。
LINUXがubuntuからCentOSになったし、アプリのバージョンも違うので、あれこれの齟齬を訂正するのに一日かかった。

さらに再引っ越しというのがあるかもしれないから(悪夢だが)、ここで最低限の覚え書きを残しておく。今回も前のサーバ設定の覚があったのでかなり助かったのだ。

(0)iptablesの設定

ch、kp,kr、ruからの接続は拒否したい。http://centossrv.com/iptables.shtmlが徹底しているのでそれに従う。国別ドメイン一覧を丸ごとiptablesに設定するという力業である。

(1)メール関係
定番とも言えるpostfix+saslauth+SMTP over SSL+dovecot+fetchmail+procmailで動かす。前と変わらない。

設定情報としては「複眼中心」サイトのページがあればいい。なんと2007年の記事だが、ちゃんと書かれたものは生き残るのだ。

基本順調だったが、一つ嵌まったことがあった。

netstat -an |grep 587
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN

は覚えておきなさい<自分

久しぶりの設定で、master.cf内のsubmissionポートの設定を忘れてしまって小1時間ぐらい悩んだのである。
あとは使ってたアカウントのMaildirをrsyncで新サーバに落とすとかそういう面倒だけの作業をしこしこ行う。

(2)httpdの設定
最初からnginx+php-fpm環境でwordpressが構成されていた。
バージョンは

PHP 5.5.33 (cli) (built: Mar 2 2016 14:43:15)
PHP 5.5.33 (fpm-fcgi) (built: Mar 2 2016 14:43:32)

いままでfastcgiを使っていたのでphp-fpmの設定(というか動作構図)が飲み込めずここでも小1時間ぐらい嵌まった。

listen unix:/var/run/nginx-backend.sock;

という意味が最初ピンと来なかった。あれこれ設定ファイルを弄っても思ったような動作が得られない。
設定が冗長でもいいから、機械的な作業で複数ドメインの設定をしたいという初心に戻って、次のようにしたら問題解決した。

例示
foo.bar.comとzig.zag.comを公開したい。

/etc/nginx/conf.d以下に次のファイルを作成

(1-a)foo.bar.com.conf
serverディレクティブのserver_name はfoo.bar.com、rootは/var/www/vhosts/foo.bar.com
(1-b)foo.bar.com.backend.conf
も同様

(2-a)zig.zag.com.conf
serverディレクティブのserver_name はzig.zag.com、rootは/var/www/vhosts/zig.zag.com
(2-b)zig.zag.backend.con
も同様

(3-a)default.conf
serverディレクティブのserver_name は_(アンダースコア)、rootは/var/www/vhosts/skip
(3-b)default.backend.conf
も同様

要点はそれぞれのバックエンド定義設定をしこしこつくることと、(3-a)(3-b) のように明示的に設定していないホスト名に対しての接続はskipというパス(中には空のindex.html)に「ドロップ」することである。

(3)wordpressの移転
ちょっとしたブログのデータがあったので、そのまま捨てるのももったいないから移転した。wordpress本体は、tarで持ってくる。mysqlデータもmysqldumpにてもってくる。あとはmysql<ダンプファイルすれば問題なかった。mysqlなんて久しぶりに弄った。

そこまではよかった。問題はその移転ページの動作確認である。

手持ちドメインを新サーバのIPとしてDNS登録するのは、移行作業がおおよそ終わってからとなる。

登録前に新サーバ上のwordpressのリンクが正常に設定されているかどうか確認するにはどうするか。なにせwordpressのデータはURL依存のパーマリンクに制約されているので、この作業は欠かせないのだ。

で、悩んだ結果、クライアント側(mac osX)をだますことにした。

/etc/hostsに一行

新IP 接続したいホスト名

と書き込むのである。

最近のmacOSXは/etc/あたりのファイルに依存しない仕組みが増えてきているのでまさかこれでOKとは思わなかったが全然OKだった。少なくともYosemiteだと、単に/etc/hostsを書き換えるだけで即座に反映した。これは他の作業にも使えそうである。

大体の作業が終わったのでDNSへの登録をお名前.com側ですませた。一時間ほどで新IPにかわった。あとは様子をみて旧サーバ契約を外すことが出来る。

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。

コメントする