📃

MacのDocker環境でmt-devを構築する

に公開

概要

Dockerを利用し、mt-devでMovable Type(以下MT)のローカル環境を構築する手順について解説しています。
筆者の環境はM3チップのMacですが、Dockerを利用するのでIntelチップのMacや多少古いOS、Windowsでも同じように構築できるかと思います。

mt-devの詳細については、以下リポジトリのReadMeもご参考ください(リンクは日本語のReadMe)

構築環境について

  • MacBook Air(M3チップ)
  • macOS Sequoia 15.5
  • Git 2.48.1(Homebrewで入れているけど、Macに標準でインストールされているものでもOK)
  • make 3.81(Macに標準でインストールされているもの)
  • Perl v5.34.1(同上)
  • Docker Desktop 4.43.1 (198352)

MT本体ファイルは、公式サイトの規約に則ってあらかじめzipファイルを取得しておきます。

インストール手順

①リポジトリからmt-devをクローンして/mt-devに移動

git clone git@github.com:movabletype/mt-dev.git mt-dev
cd mt-dev

/mt-dev/archiveに取得したzipファイルを格納。本記事ではMT-8.4.2.zipを格納。

③以下コマンドを実行(途中エラーが出たので、sudoをつけてやり直した)

make up ARCHIVE=MT-8.4.2.zip
(あるいは)sudo make up ARCHIVE=MT-8.4.2.zip

処理にすこし時間がかかります。細かい部分は割愛しますが、最終的に以下が起動できていたらOKです。

✔ Container mt-memcached-1 Started
✔ Container mt-mt-watcher-1 Started
✔ Container mt-mt-1 Started
✔ Container mt-db-1 Running
✔ Container mt-httpd-1 Started

④DBを作成する

make exec-mysql SQL='CREATE DATABASE mt /*!40100 DEFAULT CHARACTER SET utf8mb4 */'
(あるいは)sudo make exec-mysql SQL='CREATE DATABASE mt /*!40100 DEFAULT CHARACTER SET utf8mb4 */'

⑤環境構築完了
 http://localhost/cgi-bin/mt/mt.cgi にアクセスして、ユーザー作成など行う

構築手順は以上です。

起動/終了コマンド

#終了コマンド
make down

#次回起動時
make up ARCHIVE=MT-8.4.2.zip
(あるいは)sudo make up ARCHIVE=MT-8.4.2.zip

プラグインやテーマを追加する

プラグインやテーマは/mt-dev/repoに格納します。ただしそのまま格納するのではなく、以下のディレクトリ構成にして格納します。

# プラグインの場合
/mt-dev
└/repo
 └[プラグイン名] ←`make up`コマンド入力時にオプションで指定する名称(以下起動コマンド参照)
  ├/mt-static
  │└/plugins
  │ └[プラグインフォルダ]
  └/plugins
   └[プラグインフォルダ]

# テーマの場合
/mt-dev
└/repo
 └[テーマ名] ←`make up`コマンド入力時にオプションで指定する名称(以下起動コマンド参照)
  └/themes
   └[テーマフォルダ]

具体的に以下のイメージです。/mt-dev/repo直下に作成するディレクトリは任意の名称で問題ないと思いますが、プラグインやテーマの名称に合わせておく方が無難かと思います。

# MTAppjQueryの場合
/mt-dev
└/repo
 └/MTAppjQuery
  ├/mt-static
  │└/plugins
  │ └/MTAppjQuery ← ←mt-staticに置くプラグインリソース
  └/plugins
   ├/ScheduleField ←各種プラグイン本体ディレクトリ(以下同)
   ├/PlainTextField
   ├/MTAppjQuery
   └/DataAPIProxy

# PageButeの場合
/mt-dev
└/repo
 └/PageBute ←ディレクトリを作成
  └/plugins
   └/PageBute ←プラグイン本体ディレクトリ

起動はmake upコマンド入力時にREPO=[プラグイン名(テーマ名)]をオプションとして指定します。指定するのは/mt-dev/repo直下のディレクトリ名。
複数指定の場合は、REPO=[プラグイン名(テーマ名)1],[プラグイン名(テーマ名)2],...のようにカンマ区切りで指定します。

# コマンド指定例
make up ARCHIVE=MT-8.4.2.zip REPO=PageBute,MTAppjQuery,sample_theme
(あるいは)sudo make up ARCHIVE=MT-8.4.2.zip REPO=PageBute,MTAppjQuery,sample_theme

管理画面のプラグイン一覧やテーマ一覧を確認し、一覧に表示されていればOKです。

.envファイルで起動コマンドを簡略化する

/mt-dev内に.envファイルを作成し以下を記述しておくと、make upコマンド入力時のARCHIVEREPOオプションを省くことができます。

ARCHIVE=MT-8.4.2.zip
REPO=PageBute,MTAppjQuery,sample_theme
#起動コマンドはこれだけ
make up

MTのアップデートについて

mt-devでMTをアップデートするときは、/mt-dev/archiveフォルダに最新のzipファイルを入れ、make upコマンドのARCHIVEオプションで新しいファイル名を指定します。
.envファイルを作成している場合は記述されているファイル名を修正し、make upコマンドを実行します。
管理画面内のバージョン表記が新しいものに変わっていたらOKです。


本記事の内容は以上です。

Discussion