HETEML新サーバー移設&無料SSL化のメモ
2018-01-04
マニアックソリューションシリーズです。今回は格安高性能サーバーHETEMLの新サーバー移転を実際にやってみたので、嵌りそうな罠などを書いてみます。なお著者は4台のサーバーを移転しました。
※ワードプレスは使ってないので、その情報をお求めの方には向いていません。
HETEML新サーバー移転の心構え
※これを見てる人はHETEMLユーザーだと思うのでコントロールパネルにログインした状態で見てもらうと直接リンクで該当画面が開けます。
コントロールパネルを開いて画面右下メニューにある「新サーバー移設」
をクリックするともの凄い長い説明がでてきます。ここで多くの移設予定者はドン引きしてしまうと思いますが大丈夫です。思ったほど大変じゃないです。まず勘違いし易いけど誤解なのは・・
●あくまでも移転するのはWEBサーバーのみでDBサーバーとメールサーバーは変わらない
です。なのでブログなどのCMSが絡んでるサイトで、引っ越し中のDB更新差分どーしよう?っていう心配は不要です。メールサーバーも変わらないので、いつもどおり運用可能です。
●新サーバーにphp5.4以下が無い
旧サーバーはphpの5.3、5.4、5.6、7.0、7.1がサポートされてますが、新サーバーは5.6以降しかありません。旧サーバー側で5.4以下で動かしてる場合は注意が必要です。PHPバージョン違いについては今回の趣旨と違うので省きますが、ワタシが動かした4台のサーバー(ドメインで10個くらい)はいずれも5.3から5.4で動いてて、それを新サーバーの5.6で動かしたけど問題はなしでした。HETEML社はPHP7のモジュール版を推してきますが、とりあえず移転の時は5.6CGI版にして落ち着いてから7のモジュール版に移行するのが良いと思います。
●パスがだいぶ変わる
ドキュメントルートまでのパスがかなり変わります。
旧サーバー /home/sites/heteml/users/数字/数字/数字/ユーザー名/
新サーバー /home/users/数字/ユーザー名/
な感じに変わります。やむを得ずスクリプトの中にフルパスを記入してる場合やhtaccessのhtpasswdへのパスは要変更です。
HETEML新サーバー移転の全体のざっくりした流れ
- HTEMLコントロールパネルで切り替え申請する
- 現行サーバーから全てのファイルを自分のPCへftpでダウンロードする
- 新サーバーへ2でダウンロードしたファイルを全てftpアップロードする
- hostsファイルをいじって、自分のPCのみ新サーバーを見れるようにして動作確認をする
- 動作確認OKならHTEMLコントロールパネルで切り替え完了処理をする
- hostsファイルをいじって世界に向けて新しいサーバーで見れるようにする
- 無料SSLを設定しSSL化する
です。1から6までの作業を30日以内にする必要があります。
1を始める前に・・・
移転する前にメモっておくこと
移転作業を始めるとコントロールパネルの一部がみれなくなります。故に。
(1)ftpパスワードを控えておくべし
新サーバーにファイルをアップロードするとき、ftpパスワードが解らなかった。新サーバーはホスト名が変わりますが、ユーザーIDとパスワードは旧サーバーと同じです。旧サーバーのパスワードをFTPアプリに登録してるけど※※※※で読めません・・・。だったらHTEMLコントロールパネルでftpパスワードを変更しようと思っけど、移転中にftpパスワード変更画面がみれないんです。これにはまーまーハマりました。ftpパスワードを控えてない・覚えてない方は、念のため切り替え作業前に新しいパスワードに変えておいたほうが良いです。
※因みに著者は普段はDreamWeaverとffftpを使ってるけど10万ファイル超えのftp作業だったのでFileZillaというFTPクライアントを新たに使用しました。だからFTPパスワードが分からなかった。DreamWeaverやffftpをそのまま使うのであれば、ホスト設定をコピーするだけでOKなので心配いりません。ただDreamWeaverもffftpも大量のftpには難があるのでファイル数が万単位の場合はFileZillaをオススメします。最大で15万ファイルFTPしたけどトラブル皆無です。
(2)Cron設定を控えておくべし
cron設定画面も移転中はみれなくなります。これにハマりました。サポートに問い合わせても無駄でした。移転作業前にスクショを撮っておくなどしましょう。
(3)php.iniも控えておくべし
これも移転中はみれません。今動いてるバージョンのphp.ini設定をメモっておきましょう。
著者は上記3点に嵌ったけど、他にも移転中はみれないコントロールパネルパネル画面があります。以下は公式案内ページからの引用です。
- ドメインの設定およびサブドメインの作成
- メールアドレスが一つも作成されていないドメインでのメール機能利用開始
- バックアップオプションのお申込み
- 独自SSLの新規更新お申込みや証明書のインストール
- SSHアカウントやサブFTPアカウントの作成や削除
- FTPアカウントのパスワード変更
- hetemlFTPでの移設先へサーバーへのアクセス
- アクセス制限(ベーシック認証)
- 新規DBの作成
- 簡単インストール機能の利用
- webdavの有効無効
- cron の設定
実際に移転してみる
(1)コントロールパネルのサーバー移設ページを開く
画面の注意事項を読んだり上に書いた下準備をしたら画面最下部の「移設を開始する」ボタンをクリック
(2)コントロールパネルトップに戻っても何も変わってない???
初めての人はここで「え?」ってなると思います。画面に変化が無いから。でもよくよく画面右上を見ると新しいボタンができてます。
↓旧サーバー向けコントロールパネル。webサーバーがftpから始まっている
「サーバー操作切り替え」ボタンをクリックすると新サーバ向けコントロールパネルに変わります。webサーバーがuserで始まる。
(3)旧サーバーから全ファイルをPCへコピーする
ftpで自分のPCへサーバー側のファイルを全部コピーします。10万ファイル以上でもトラブル皆無で落とせるFileZillaがおすすめです。
(4)新サーバーのコントロールパネルでftpのホスト名をコピる
(5)新サーバーへ(3)でダウンロードしたファイルをftpアップロードする
※これは不確定情報で申し訳ないんですが、著者が移転した4つのサーバーのうち最初の2台は新サーバー側に/web/配下の「フォルダ」が旧サーバーからそっくりそのままコピーされてました。フォルダのパーミッション設定も旧サーバーから引き継がれてました。でも、後の2台はフォルダのコピーがされてなかったです・・・。とても不可解だけどそうでした。途中でHETEML社が仕様変更したのか著者の操作が違ったのか(ってもボタン押すだけですが)謎です。なので、もし旧サーバー側で手動で(ご自分で)フォルダのパーミッションを変更してて、なおかつフォルダがコピーされたないのなら、あとから手動でパーミッションの設定をする必要があります。
(6)hostsファイルを書き換えて自分のPCだけ新サーバーが見れるようにする
これはHETEMLブログを見てください。ネームサーバー変更前のデータチェック方法(Windows)(Mac)
新しいwebサーバーのIPアドレス(正確にはロードバランサーのアドレス)はコントロールパネルのアカウント情報に記載されてます。
(7)新サーバー側でちゃんと動いてるかチェックする
デフォルトがモジュール版PHP7なので何もしてないと盛大なエラーまみれ、もしくは500サーバーエラーで真っ白になると思います。そこは慌てずにhtaccessやphp.ini設定画面でお使いのPHPバージョンに合わせましょう。
(8)コントロールパネルで移設完了処理をする
動作確認がOKならサーバー移設ページで「移設を完了する」ボタンをクリック。
これで新サーバーに切り替わります。ただし全世界の閲覧者が一気に新サーバーに切り替わるわけではなく最長で半日くらいかかることがあるかもしれません(dns浸透問題)。
(8)hostsを戻す
hostsファイルを元に戻して自分のPCでも普通に新サーバーを見に行くようにします。場合によってはここでハマるかもです。ワタシは4台中2台でハマりました。作業したPCだけ旧サーバーを見に行くケース。Windowsやブラウザのdnsキャッシュが悪さをするようです。そんな場合はとりあえずWiFiを切って4G回線のスマホでチェックして(8)がうまく行ってるか確認して落ち着きましょう。ワタシはdnsキャッシュクリアしまくったりしたけど解決できず。最終的にPCの再起動でdnsキャッシュが完全クリアされました。
以上で新サーバーへの移転は完了です。サイトの作りやファイル数に依存しますが静的HTMLページのみでファイル数が3ケタくらいならあっという間に終わります。
無料SSL化する
無事サーバー移転が終わったらSSL化もしてみます。ドメイン一覧からドメインを選択、ドメイン詳細の「設定変更」をクリック。
独自SSLのところにチェック入れて「変更する」をクリック。あ、サーバー移転直後は「SSLを設定できません」ってなっています。10分ほど待てば設定可能になります。
https://ドメインでアクセスしてみて、アドレスの左が緑で「保護された通信」になってれば(Chromeの場合)完了です。もしそうなってないときはFireFoxを起動しF12押してhttps://で開いてください。https通信じゃないファイルを容易に探せます。
ソースのhttp://をhttps://に一発置換するなり、スクリプトで書き換えるなりして調整します。
httpsでの動作確認ができたらhtaccessに以下を追加しhttp://のアクセスを全てhttps://にリダイレクトします。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://ドメイン名/$1 [R=301,L]
以上です(-ω☆)
カテゴリ:PC・スマホ・WEBネタ