ExpressWebが廃止されるということで契約が切れる3月末で追い出されることになりました。
なのでギリギリまで粘ってWinserverに引っ越しました。
Winserverにした理由は以下の通り。
- ASP.NET+MySQL+SQLServer使用可
- 安い
- 運用実績
- WindowsServer2012
当たり前だよね。
たかだか個人のホムペだし・・。なのでAzureは論外ですわ。
ExpressWebみたいに勝手に値下げして短期間で勝手に撤退する自爆テロをやられると迷惑なので
Win2008Srvベースよりは長くサポートされるので
とにかく年齢を経ると面倒なことは極力したくなるわけですよ。
ただでさえ面倒くさがりなのに金にならないことで面倒は御免なのです。
ということで横移動で安く済み、それなりに運用実績があるところを選んだわけです。
それでも年払いで月々1000円近い金額はそこそこ抵抗があったので、安価なLinux VPSにしてみることも考えましたが、データ移行に苦戦している内に終戦になる恐れがあったので検討除外しました。
ひょっとして思いの外、簡単に移行できたかも知れませんが、元々ASP.NETが好きで選んだことなので心中することにしました。
とまあこうして移転してきたわけですが、私は契約時期として難民化が早い方でしたので、これから私のようなExpressweb難民が続々と出てくることでしょう。
ということで以下に私がたどってきた苦難の道をを紹介します。
1.Expresswebのデータをエクスポート
- 準備
- ファイルの取得
- DBデータの取得(Blogデータ)
- DBデータの取得(SQLServer)
ExpressWebのコントロールパネルにログインする。
[ファイルマネージャ]から”wwwroot”を選択して[Zip形式]ボタンをクリック⇒出力ファイル名(wwwroot.zipみたいなの)を入力する。
そうするとZIPアーカイブが作成されるのでクリックしてダウンロード。
[データベース]から”MySQL5.1″をクリック⇒[データベースを参照]をクリックしてphpMyAdminを開く。
phpMyAdmin-[エクスポート]タブをクリック⇒blogのDB名を選択して[実行する]をクリックするとDBデータのダウンロードが始まる。
デフォルト設定に対して「作成するクエリの最大長」だけ増やしましたが、半端にインポートしても意味がないので「エクスポートをトランザクションで囲む」にチェックしても良いかも。
この作業はSQLServerにDBを作成した人のみがやればいいです。
[データベース]から”SQL Server 2008″をクリック⇒データベース名をクリックして”SQL データベースプロパティ”を開く。
[メンテナンスツール]⇒[バックアップ]をクリック⇒ファイル名を指定して”ZIP形式バックアップ”にして[バックアップ]をクリックするとDBデータのダウンロードが始まる。
2.データをインポート(MySQL)
- sqlファイルを開いてCREATE DATABASEから始まるクエリを削除
- sqlファイルの”expressweb.jp”を新サイトほホスト名に置換
- sqlをZIPに固める
- WinserverのphpMyAdminにログインしてインポートタブをクリック
- ブログデータをインポートする
ちなみにphpMyAdminへのアップロード制限は2MBだって・・・。かなりここヤバい気がしてきた。
3.データをインポート(SQLServer)
- SQLServer Management Studio 2012 Express の導入。
- SQLServerのデータベースリストア
- [回避策]
- bakファイルをローカルリストア
- DBをスクリプトファイル化
- SSMSE上でスクリプト実行
Expresswebから取得したbakファイルをローカルリストアするためにSQLServerを導入します。
ただ一時作業のために余分なリソースを常駐させたくないので、常時インスタンス起動せずオンディマンドらしいSQL Server 2012 Express LocalDBを使うことにしました。
マシン環境が潤沢な人は通常版SQLServerを使えば良いだけなので読み飛ばして良いです。
インストールしたらSSMSEからbakファイルをリストアします。SSMSEの使い方は下記サイトを参考にしました。
http://sqlazure.jp/r/sql-server/233/
参照先のおかげで助かりました。ありがとうございます。だってアクセス指定子が「(localdb)\LocalDB Instance」なんて分からんって!データベースを右クリックして[タスク]→[スクリプトの生成]を選択してDBデータをファイル化する
SSMSEの接続先をWinserverにしてから出力したスクリプトファイルを流します。
これでやっと完了・・・。
逆にWinserverから引っ越す場合は、やはりSSMSEにてDBをスクリプトファイル化する流れで行けるかと思います。
WinserverのSQLServerはクライアントPCから直接SQLServer認証で接続する必要があるため、下記からSSMSEをダウンロードしてインストールする。
https://www.microsoft.com/ja-JP/download/details.aspx?id=50003
通常は以下のメニューからbakファイルを選べばスイスイ行くはずが、何故かローカルファイルが選択できない。
どうやらWinserver側でローカルからのリストアが制限されている様子。
というかSQL打つしかできない。
やっぱり、ここヤバかった・・・。
だって自分のデータを持ち込むのに金を取るんだってさ↓。しかも5400円という高額。
SQLServer 移転 [Winserver]
ちょっとこれマジでありえねえだろ・・・。
FAQにも一切書いてないから事前に調べようがないじゃん。酷いよ。
と呪詛を吐いても詮無きことなので回避策を講じました。
4.ファイルの復元
- FTPによるファイルアップロード
バックアップしたファイルを解凍してFTPで”web”ディレクトリ配下に展開すれば完了です。
時間がかかるので始まったら放置して別作業をするのが吉。
ちなみにMySQLのDB名などを変えたらWordpress側のwp-config.phpもいじらないと駄目ですよ。
で、WinServerの使い勝手ですがExpresswebの3倍の価格ながら残念ながらパフォーマンスも3倍とは行かないようです。
あとやたら手作り感が半端ないです。SQLServerを使いたい場合はメールに必要事項を書いて送ってくれってノリです。
しかも前述したようにDBのリストアみたいな簡単な作業すらユーザー側には開放されておらず、金くれれば代行するぞとか平気で書いてある有様。
調べたら10人ぐらいしかいない会社みたいなので、まあむべなるかなって感じなのですが、正直Expresswebから比べるとかなり落ちると言わざるを得ません。
1年払いしてしまったので仕方なく使いますが、正直オススメはしません。