ウェブサーバーのホストの移転手順(ApacheのProxyPassを使ってスムーズな移転をする)
ご利用のブラウザは、JavaScript が無効 となっていませんか?
このサイトでは、コンテンツの一部が非表示 、あるいは、コメント、お問い合わせの投稿ができない 、検索ができない ことがあります。
レンタルサーバーを転々としたり、自宅サーバーの入れ替えだったり、ウェブサーバーのホストの入れ替え(変更)は、案外、多いものです。
サイトが人気になれば、それなりに対応(拡張)しないと、せっかく来てもらった訪問者に対してエラー表示 しかねません。それが重なれば、いずれその人気もすぐに消えてしまうかもしれませんね。
そのためにも、やっぱりホストの入れ替え、あるいは、レンタルサーバーの切り替えは、ある程度、必要かもしれません。
また、ホストを入れ替える場合、DNSの変更も必要になります。このDNSが、変更しても全世界のDNS情報が切り替わるまでに数日かかります。
そこで、今回は、そのホストの移転をApacheのProxyPass機能を使ってよりスムーズにやる手順を簡単にまとめてみます。
ウェブサーバーの移転手順
移転先には、すでに移転元のウェーブサーバー(データベースやスクリプト環境を含む)と同じ環境のウェブサーバーが構築されているものとして、以下に解説します。
移転元 サーバーのバックアップを行う。
データベースのバックアップを行う。
mysqlの場合は、以下のコマンドでデータベースを一括してバックアップすることができます。
$ mysqldump - hzzzz - uxxxx - pyyyy nnnn > ffff
zzzz:mysqlのホスト名 ログインしたサーバーと同じ場合は、”localhost”でOK
xxxx:mysqlのユーザ名
yyyy:mysqlのパスワード
nnnn:mysqlのデータベース名
ffff:バックアップしたいファイル名(カレントディレクトリにない場合は、フルパスで指定します。)
HTMLファイル、phpファイル、画像ファイルなどウェブサイト関連のファイルを一式バックアップする。
単純にディレクトリ丸ごとバックアップをする場合は、tarコマンドが簡単で便利です。
$ tar cvfz バックアップファイル名. tar. gz / var/ www/ html
上記の例は、CentOSでのデフォルトのウェブ公開ディレクトリを丸ごとバックアップしています。
ウェブサーバー関連ファイルが、その他のディレクトリ、ファイルにある場合は、それらすべてバックアップしましょう。
移転先 サーバーへバックアップした情報を全て展開する。
先にバックアップしたすべての移転元のバックアップを丸ごと移転先へコピーし、展開します。
mysqlの場合は、以下のコマンドでデータベースを一括して展開することができます。
$ mysql - hzzzz - uxxxx - pyyyy - Dnnnn < ffff
zzzz:mysqlのホスト名 ログインしたサーバーと同じ場合は、”localhost”でOK
xxxx:mysqlのユーザ名
yyyy:mysqlのパスワード
nnnn:mysqlのデータベース名
ffff:バックアップファイル名(カレントディレクトリにない場合は、フルパスで指定します。)
また、tarでバックアップしたファイルは、バックアップファイルを展開したいディレクトリへカレントディレクトリを移して、以下のコマンドを投入するとすべて展開されます。
$ tar xvfz バックアップファイル名. tar. gz
ここで、移転
先 サーバーが正しく動作するか、ウェブブラウザで表示確認しておきましょう。
Windowsで確認する場合、C:\Windows\system32\drivers\hosts というファイルを編集することで一時的に無理やり移転
先 サーバーへホストを切り替えて確認します。
111.122.133.144 www.example.com
上記の例は、移転するドメイン名(サイト名)がwww.example.comで、IPアドレスが111.122.133.144だった時の例です。
ApacheのProxyPassを使って、移転元へのアクセスを移転先ホストへの転送する。
移転元 と移転先 に同じ環境ができたことで、今度は、移転元 へアクセスしたユーザを移転先 へ転送するようにします。
移転元 のApacheの設定を一部変更することで、この転送をApacheでおこなってくれます。
移転元 のサーバーに、移転先 のサーバーのIPアドレスを設定します。
$ vi / etc/ hosts
...
111.122.133.144 www.example.com
111.122.133.144 は、www.example.com サイトの新しいIPアドレスとなります。
ApacheのProxyPassを設定します。
Apacheの設定ファイル のwww.example.comホスト情報を編集します。
ここでは、/etc/httpd/conf/httpd.conf を編集します。
...
<VirtualHost *:80>
ProxyPass / http://www.example.com/
ServerName www.example.com
DocumentRoot "/var/www/html"
ServerAlias www.example.com
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined env=!nolog
</VirtualHost>
...
ProxyPass / http://www.example.com/
の1行を追加するだけです。
これは、単純にwww.example.com のルート(/ )以降すべてをhttp://www.example.com/ へ転送する・・という意味です。
Apacheの再起動を実施します。
$ /etc/init.d/httpd restart
これで、すべてのアクセスは、移転先 のサーバーへ転送されます。
DNSの設定を切り替えます。
最後に、DNSの設定を移転先へ切り替えます。
$ vi / var/ named/ chroot/ var/ named/ example. com. db
...
$TTL 86400
@ IN SOA example.com. root.example.com.(
2005030801 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS example.com.
IN MX 10 example.com.
@ IN A 111.122.133.144
www IN CNAME @
と、こんな感じでしょうか。
もちろん、レンタルサーバーなどでは、ここまでの設定は必要ないでしょうし、また、自宅サーバーであってもDNSを自分でたてない限りは、ドメインレジストラの設定画面でIPアドレスを設定するのみでしょう。
実際に全世界のDNSのきりかえが完了するまで、1週間ぐらいみておく必要があります。
そのため、上記の作業が完了したのち、10日を目安に、移転元のサーバーを閉鎖すると良いと思います。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用 となっていませんか?
このサイトでは、コンテンツの一部が非表示 、あるいは、コメント、お問い合わせの投稿ができない 、検索ができない ことがあります。
関連記事 :
コメントを投稿 :