またMovable Type関連ですが、今回はバージョン4のディレクトリ移動についてです。
クライアントの依頼で、会員ページにMovable Typeを部署ごとに設置、新着をTOPページに表示するという依頼がありました。
まずはテストで設置するため、会員用のディレクトリに何かあるとまずいので、会員用をコピーして設置しました。
月日は流れ、ようやく話がまとまり来月はじめにはスタートすることになりましたが、ここでひとつ疑
問が生まれました。
MTを設置しているディレクトリがテスト用(仮に/test_kaiin)なので、会員用のディレクトリ(仮に/kaiin)にディレクトリ名を変更しただけで大丈夫なのか?
ご存知の通り、MTはデータベースを使用しているので、サイトのパスがFTP上で変更したとしても、うまくいくのかなと思い、設置のときにお世話になった方に相談しました。
通常であれば、テスト用のバックアップをとり、新たなディレクトリにインストールして、復元すれば何の問題も無いのですが、今回は、各部署ごとの掲示板(約20個ほど)を設置しているので、なるべくなら時間をかけず、今ある掲示板を活用できないかと検討した結果、とりあえず、全てのバックアップをとり、元となるMTを会員用(/kaiin)に設置して復元してみることにしました。
作業:
テスト用のバックアップを全て取り、FTPから関連するディレクトリを全てダウンロード。
次にインストール作業、といっても会員用(/kaiin)のディレクトリに、/mtをつくりファイルをアップロードするだけ。
そのとき、FTPからバックアップした、データを会員用に全部アップロードすれば何とかなるかなと思いアップしました。
ログインしてみると、テスト用と同じID、PASSでログインできました。
最初気が付かなかったのですが、ログインすると本来/kaiin/mt/mt.cgiのアドレスになるのですが、よく見ると、テスト用の/test_kaiin/mt/mt.cgiにジャンプしてるではありませんか!( ̄□ ̄;)!!
やはりどこかでサイトのパスを変更しないとだめなのかと思い、管理画面をくまなく調べたのですが、見当たらないので、いったん会員用を削除して、新規でインストールしなおしました。
しかしmt-check.cgiでチェックすると「ファイルがそろっていない。」のような表示がでていたので、テスト用と会員用のファイルを見比べたら、会員用には、mt-config.cgiというファイルが入っていませんでした。
それならばこのmt-config.cgiをエディタで開いてみると、ありましたよ、サイトパスの設定が記載されていました。
下記のmt-config.cgiの赤字のところを会員用ディレクトリ/kaiinに変更して、アップしてログイン。
うまくいきました。
ためしに、各部署からテスト投稿、TOPにも新着が反映したのひとまず成功!
なぜうまく言ったかはわかりませんが、各部署とTOPに反映されるデータがMTディレクトリよりも上の階層に設置されているため、元のMTディレクトリからのパスに影響が無かったのかな?
htdocs
│
├kaiin
│ │
│ └mt
│
├top(TOP新着表示用)
│
├mt01(各部署1)
│
├mt02(各部署2)
│
├mt03(各部署3)
なにはともあれ、正常に動いているようなので、ひと安心。
「ここでき!」
-------------mt-config.cgiのパス変更-----------------------
## Movable Type Configuration File
##
## This file defines system-wide
## settings for Movable Type. In
## total, there are over a hundred
## options, but only those
## critical for everyone are listed
## below.
##
## Information on all others can be
## found at:
## http://www.movabletype.jp/documentation/config
#======== REQUIRED SETTINGS ==========
CGIPath test_kaiin/mt/mt-static/ ←ここ
StaticWebPath test_kaiin/mt/mt-static/ ←ここ
StaticFilePath xxx/htdocs/test_kaiin/mt/mt-static ←ここ
#======== DATABASE SETTINGS ==========
ObjectDriver DBI::mysql
Database mysql
DBUser xxx
DBPassword xxxxxxx
DBHost localhost
TempDir xxx/xxx/xxx