このブログ(WordPress)を、レンタルサーバ(minibird)からVPS(ServersMan)に、サーバ引越し(マイグレーション)してみた。
3年くらい前からやっているこのブログだが、レンタルサーバ(minibird)業者から、そろそろ4年目を更新するかどうかメールが来る予定なので、思い切ってレンタルサーバからSSHの出来るVPSに引っ越ししてみた。
レンタルサーバ = ホームページやメールなど単純な機能だけを貸し出すサーバ。無料(広告付き)な所も多い。管理画面付きで専門知識不要
VPS(Virtual Private Server) = サーバ上OSの管理者権限が与えられ、自由にインストールや設定などが出来る。サーバ・エンジニア能力が必要。
さくらのVPS(税抜き934円/月)などが有名ですが、一番安いServersman@vps(税抜き467円/月)を選択。
多くても500pv/day程度なので、これで十分かと。
昨日まで使っていたminibird(税抜き250円/月)は、期限切れになるまで放置。
実際にやってみたWordPressのサーバ引越し(マイグレーション)手順
1, FTPなどで、サーバからファイルを全部ダウンロードする
2, phpMyAdminなどで、データベースを全部エクスポートする。
↑↑↑この時点でWordPressのバックアップ情報は全て取得できている。パーミッションやDB接続情報などは変更しないといけないが、意外と簡単にWPのバックアップは取れるな~と実感した。
3, 新しいサーバに、1&2をアップロード&インポートする
4, バーチャルドメインの設定(/etc/httpd/conf/httpd.conf)で、複数ドメインを切り分ける
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
NameVirtualHost *:80 <VirtualHost *:80> ServerName https://www.messiahworks.com/ DocumentRoot /home/messiahworks/public_html ErrorLog logs/messiahworks.tk-error_log CustomLog logs/messiahworks.tk-access_log common </VirtualHost> #ドメインの数だけ繰り返す <VirtualHost *:80> DocumentRoot /www/example1 ServerName www.example.com </VirtualHost> |
5, apacheの設定(/etc/httpd/conf/httpd.conf)で、.htaccess(mod_rewrite)を有効にする(しないとリダイレクトが効かず404エラーになる)
1 2 3 4 5 |
<Directory "/home/messiahworks/public_html"> AllowOverride All </Directory> #設定ファイルを変更したら、/etc/init.d/httpd restartでWebサーバを再起動させて、設定を反映させる。 |
6, 独自ドメインを取った業者で、DNS(URL⇔IPアドレス)設定を変更する(即座に反映されず、時間がかかる)
WordPressを内容はそのままにサーバ移行(マイグレーション)して、DNSサーバのAレコードをいじって、人知れずIPとURLの結びつきを変更して、その浸透具合とか見ていると、インターネットの深淵を感じる…。
このHPのURLは以前のままですが、こっそりとIPアドレスは、変わっています(^_^;)
7, wp-contentsフォルダ以下のパーミッションを変更しないと画像のアップロードとか出来ない。とりあえずグループをapache、775に変更
8, ID/PASSだけだと不安なので、例によって公開鍵暗号方式に変更する。以下のサイトが分かりやすかった。
http://www.websec-room.com/2014/01/18/1647
9, 実際にサーバ引っ越ししてみると、ちょっと遅いかな~。
apacheの設定(/etc/httpd/conf/httpd.conf)で、圧縮転送(mod_deflate)とキャッシュ(mod_expires)をイジってみる。多少はマシになったか?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# DEFLATE フィルタ を有効にして圧縮を有効にする <Location /> SetOutputFilter DEFLATE </Location> # 画像は圧縮しない SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary # Proxy サーバで適切なキャッシュ処理が行われるように、HTTP の Vary レスポンスヘッダを追加 Header append Vary User-Agent env=!dont-vary # 出力に対して行なう圧縮の程度 DeflateCompressionLevel 5 #キャッシュ関連の設定 ExpiresActive On ExpiresByType image/gif "access plus 1 days" ExpiresByType image/jpeg "access plus 1 days" ExpiresByType image/png "access plus 30 days" ExpiresByType application/x-shockwave-flash "access plus 1 years" ExpiresByType application/rss+xml "access plus 30 minutes" ExpiresByType application/x-javascript "access plus 20 days" ExpiresByType text/html "modification plus 15 minutes" ExpiresByType text/css "access plus 20 days" |
まあ、使えない程遅くはないので、問題が出てきたら対策を考えよう。