Info kplace.plala.jpから移設しました

■目的
自前Webサイト&Movable Typeを移設します。
同時に独自ドメインを取得し全https化を実施します。

■前提条件
移設先はさくらのレンタルサーバーです。

移設元
移設先
Server
自前;DBを含む
さくらレンタルサーバ;DBを含む
CMS
Movable Type 7
移設元に同じ
URL
http:// example.jp/
(ddns)
https;// www.example.info
(独自ドメイン)
■独自ドメイン
さくらインターネットのサイトで独自ドメインを取得します。
移設先のサーバーコントロールパネルでレンタルしたサーバーにドメインを追加します。
[ドメイン/SSL設定][新しいドメインの追加][ドメイン名を指定][送信する]
■SSL設定
移設先のサーバーコントロールパネルで無料SSLを設定します。
これで移設先サーバーにはhttp、https両方でアクセスが可能になります。
実施例は関連情報を参照;「 さくらRS常時SSL化メモ

■mySQL移設
(1)移設先DB作成
移設先のサーバーコントロールパネルでmySQLのDBを作成します。
[データベースの設定][データベースの新規作成]
db
creation
DB名 user_xxxx (任意)
DBユーザ名 user (デフォルト)
DBパスワード
xxxxxxxx (任意)
DB文字コード
UTF-8(utf8mb4)
(2)移設元DBバックアップ
事前に移設元DBをダンプしDBファイルとして生成します。
実施例は関連情報を参照;「 MovableTypeのバックアップ

(3)DBの編集
移設元DBファイルを編集し、ドメインとhttps化の変更を反映させます。
具体的にはテキストエディタでファイルを開き以下の内容の置換えを行います。
公開パスやサイトパスなどの変更は後でMovableTypeの再設定で対応します。
なお今回利用のエディタは文字コードUTF-8を扱えるnotepad++です。
・http://example.jp -> https://www.example.info
example.jp -> www.example.info
(4)インポート
編集済の移設元DBファイルからデータを移設先DBにインポートします。
[データベースの設定][管理ツールログイン] でphpMyAdmin画面にします。
[データベース/データベース名選択][インポート]でインポート画面を開きます。
[ファイルを選択=ファイル名][文字コード=utf-8][実行]でインポートを実行します。
db import
■Movable Typeの移設
(1)ディレクトリ
FTPで移設元のMovable Typeのディレクトリをダウンロードします。
ダウンロードしたディレクトリは移設先にアップロードします。
今回利用したFTPアプリはFilezillaで、転送モードはパッシブ、文字コードは自動検出です。

移設元
移設先
mt
/home/user/cgi-bin /mt
/home/user/www /mt
mt-static
/home/user/html /mt-static
/home/user/www /mt/mt-static
(2)初期化
移設先のcgiファイルのパーミッション設定と構成ファイルの初期化を行います。
・mt内の全.cgiファイルのパーミッションを755に設定
・mt/mt-config.cgiファイルの削除
(3)初期設定
Webブラウザで//www.example.info/mt/mt.cgiにアクセスして初期設定を行います。
設定では、移設先での通知メール発信のためのSMTPサーバ情報を準備の必要があります。
初期設定を終了したらMovableTypeにサインインします。
サインインのID/パスワードはDBにより移設元の値が引き継がれます。
*サインイン後に変更が可能です。
mt
initialization
言語 日本語
チェック システムチェック
設定 データベース
通知メール
処理
データベースアップグレード
■MovableTypeの再設定
MovableTypeへサインインしたら設定情報を見直し、必要があれば修正します。
今回は利用している3つのサイトのサイトパスなどの情報を修正しました。
公開パス=https://example.info/
サイトパス=/home/user/www
サイトパス=/home/user/www/blog
■混在コンテント
https化しても、画像を"http"でアクセスしたりすると保護されません。
サーバ内のファイルへのアクセスなら絶対あるいは相対アドレスの記述に変更します。
また外部ファイルへのアクセスならhttpsに変更が必要です。
今回特にMovableType/PermaLinkなどが生成のURLは絶対アドレスに置換えました。
<MTFor replace="https://www.example.info/","/">
  :
</MTFor>
■移設先リダイレクト
移設先にはhttpでもアクセス可なので「.htaccess」ファイルでhttpsにリダイレクトします。
以下はSSL種別がSNIのサンプルで、DocmentRootにアップロードし権限を604にします。
*最後の行には改行が必要です。
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

■移設元リダイレクト
移設元のhttpd.conf ファイルを編集しアクセス要求を転送先に301リダイレクトします。
permanentの指定で検索インデックス情報は移設先に引き継がれます。
なお編集結果を反映のためにhttpdサービスの再起動が必須です。
Redirect permanent / https://www.example.info/    ..追加
■関連情報
cbreeze 「さくらRS常時SSL化メモ」
cbreeze 「MovableTypeのバックアップ」
MovableType6マニュアル「さくらレンタルサーバに MovableTypeを設置する」
Qiita 「MovableTypeのサーバ移行手順」

■結果
無事自前サイト&MovableTypeをさくらのレンタルサーバーへ移設しました。
独自ドメイン取得と全https化とも完了し現時点保護されないページは見つかっていません。
移設事項の変更はDBの編集で対応し1200件超の記事を含めて所要時間は数分でした。
ただし全事項反映のためには移設先でMovableTypeの設定事項見直し&再設定が必須です。
移設元へのアクセスは、全て自動で移設先サーバーへの転送としました。

  blog    MovableType