Movable Typeのテンプレートのテストや、仕様通りに動作するか事前の検証がしやすいように、VagrantとVirtualBoxを使って、ローカルPCでMovable Typeが動作するようにしました。
今回の検証環境は、Windows8.1、Vagrant1.7.4、VirtualBox5.0.10を使って検証しています。
検索するとVagrantの記事がいくつか出てくるので手順は難しくないのですが、その途中で、はまったところがあったので共有します。
今回やりたいこと
- VagrantでMTOS(オープンソース版)入りの仮想環境を用意する
- Movable Typeをインストールする(できれば最新版を使いたい)
VagrantのboxでMTOS入りの仮想環境を用意する
まずはVagrantとVirtualBoxをインストールします。
MTOSインストール済みVagrant環境のboxを作成してくれた方がいらっしゃるのでこちらの記事を参考に進めます。
MTOSインストール済みVagrant環境アップデート - The blog of H.Fujimoto
任意の作業用ディレクトリを作成して、コマンドプロンプトでそのディレクトリまで移動します。
$ cd 作業ディレクトリ
Vagrantファイルを設置します。
$ vagrant init mt http://bit.ly/1UIaxMu
起動します。(初回は少し時間がかかります)
$ vagrant up
はまりポイント
このときVagrant upの途中でエラーが出て止まることがあります。
VirtualBoxでUSBを認識させるには少し調整が必要なようで、その設定が足りていないと思われます。
今回は、USBは必要ないので無効にします。
VirtualBoxを起動し、GUIの画面からUSBの設定を変更します。
Windows
設定 → USB → 「USBコントローラーを有効化」のチェックをはずす
Mac
設定 → ポート → USB → 「USBコントローラーを有効化」のチェックをはずす
もう一度、起動するとうまくいきました。
$ vagrant up
仮想環境が無事に起動できたら、ブラウザでhttp://localhost:8080/を開くとApacheのテストページのような画面が出ます。
ルートディレクトリ直下のmt/配下にMTOS用のファイルが格納されています。
下記URLでMTのサインインの画面になります。
http://localhost:8080/mt/
Movable Typeをインストールする(できれば最新版を使いたい)
とくに最新版でなくてもかまわない場合はこのままインストールウィザードに従って設定を進めてください。
MTOSバージョン5.2.7がインストールされます。
※最新版を使いたい場合は、ここではまだインストールはしません。
はまりポイント
MTOS5.2.7をインストール後、ソフトウェア版6.2.2(2016年2月現在の最新版)にアップデートをした際うまくいきませんでした。
- 「が存在しません。」というエラー
- テーマファイルが反映されない
- バージョンアップの画面が何度も出る
- バージョンアップは完了したと表示されるのに、5.2.7のまま
などなど細かいエラーが出て対処に時間がかかるので、別の方法を検討しました。
対応策
上記のVagrant環境に別のディレクトリを作成し、そこにMovable Type6のファイルをアップロードして新規インストールします。
Vagrantで作成した仮想環境にアクセスしたいので、接続情報を確認します。
接続設定は、下記の記事が参考になります。
MTOSインストール済みVagrant環境の使い方(その2) - The blog of H.Fujimoto
仮想環境にファイルのアップロードができるようになったら、下記の手順で最新版のMovable Typeのインストールを進めます。
- ルートディレクトリ/var/www/html/に新規ディレクトリを作成(仮にmt-new/とします。)
- mt-new/ディレクトリにMovable Type最新版の構成ファイル一式をアップロード
- ブラウザで接続 http://localhost:8080/mt-new/
- インストールウィザードに従って設定する(通常のインストールと同様、パーミッションの変更などは適宜調整が必要です。)
DB設定は下記のようになっているので、合わせて入力します。
- データベースサーバ:localhost
- データベース名:mt
- ユーザー名:melody
- パスワード:nelson
無事にインストールできたら、Movable Typeをローカルで動かすことができるようになります。
ちょっとした検証がしたいときやプラグインの動作テストもやりやすいですね。
ちなみに、MAMPにMovable Typeを入れる方法も過去に紹介されています。
MAMPにMovable Typeを入れる方法
参考サイト