MOVABLE TYPE PLUGIN

MtSFTPSync

Movable Type の公開ファイルを、
SFTP で Web サーバーへ。

MT のサイトディレクトリを、
そのまま Web サーバーに同期。

MtSFTPSync は、Movable Type の管理画面に SFTP 同期機能を追加するプラグインです。

MT を動かすサーバーと、サイトを公開する Web サーバーが別になっている構成向けです。MT で再構築したファイルを、SFTP で公開用のサーバーへ転送できます。レンタルサーバーや自社サーバーへの反映を、MT の管理画面から直接、変更したファイルだけに絞って実行できます。

FTP ソフトや独自スクリプトを使わず、SSH 公開鍵認証によるセキュアな転送が可能です。秘密鍵は管理画面に貼り付けるだけで、サーバーへの鍵ファイルの配置やパーミッションの設定は不要です。

MT サーバー Movable Type 管理画面 再構築 サイトディレクトリ HTML / CSS / 画像 スキャン MtSFTPSync プラグイン SFTP 転送 Web サーバー レンタル / 自社 公開

機能

同期先ファイルリスト

同期先をツリー表示

SFTP サーバーのファイルをフォルダツリー形式で確認できます。同期先パスは自動的に展開表示。接続状態も管理画面上でひと目で確認できます。

差分同期

変更したファイルだけを転送

前回の同期から変わっていないファイル(サイズと更新日時が同期先と同じもの)は転送しません。毎回サイト全体をアップロードし直す必要がなく、2 回目以降の同期は短時間で終わります。

削除オプション

同期先の不要ファイルを削除

同期元に存在しないファイルを同期先から削除する --delete オプションに対応。実行前に確認モーダルを表示し、誤操作を防止します。

除外パス設定

同期対象を柔軟に管理

フォルダ・ファイル単位で同期除外パスを設定できます。除外されたアイテムはファイルツリーでグレーアウト表示されます。

サイトログ

MT のサイトログに記録

同期結果(転送・削除・変更なし・エラーの件数)を Movable Type のサイトログに記録。設定で有効にすると、転送したファイルの一覧などの詳しいログをテキストファイルにも書き出します。

かんたん設定

設定は管理画面だけで完結

秘密鍵は設定画面に貼り付けるだけ。接続先のホスト鍵も設定画面に表示され、ボタンひとつで登録できます。サーバーでのコマンド操作やファイルの配置は不要です。接続先は MT のサイトごとに設定できます。

管理画面

同期先ファイルリスト
スクリーンショット
SFTP同期
スクリーンショット
同期結果ログ
スクリーンショット
SFTP設定
スクリーンショット

動作要件

システム要件

  • Movable Type ソフトウェア版 8.8 以降
  • Perl 5.16 以降
  • OpenSSH クライアント(ssh コマンド)を MT の実行ユーザーが実行できるサーバー
  • MT のサーバーから、接続先の SSH ポート(通常は 22 番)へ外向きに接続できること

※ MT クラウド版での稼働は保証しかねます。

※ パスワード認証には非対応です。

SFTP 要件

  • SSH 公開鍵認証が設定済みの Web サーバー
  • パスフレーズなしの OpenSSH 形式の秘密鍵(ED25519・RSA・ECDSA)
  • 同期先ディレクトリへの書き込み権限

使用 Perl モジュール

外部インストール不要(プラグイン同梱 / Perl コア)

モジュール 種別 用途
Net::SFTP::Foreignプラグイン同梱(Pure Perl)SFTP 接続・ファイル転送
Digest::SHAPerl コア鍵のフィンガープリント計算
MIME::Base64Perl コア秘密鍵・ホスト鍵の読み取り
Digest::MD5Perl コアログファイル名の生成
JSON::PPPerl コアAJAX レスポンス JSON 生成
EncodePerl コア文字エンコーディング処理
POSIXPerl コアログファイル日付処理

ラインナップ

プラグイン一覧へ

ダウンロード

MtSFTPSync は無料でご利用いただけます。
ご利用にあたっては下記の免責事項をご確認ください。

免責事項

無保証
本プラグインは現状有姿(as-is)で提供されます。動作の正確性・完全性・特定目的への適合性について、いかなる保証も行いません。
免責
本プラグインの使用または使用不能によって生じた損害(データの損失・業務上の損失等を含む)について、Ethan Technology Japan 株式会社は一切の責任を負いません。
自己責任
本プラグインのインストール・設定・運用はすべて利用者自身の責任で行ってください。本番環境への適用前に、必ず検証環境でのテストを実施してください。
サポート
本プラグインに対する技術サポート・バグ修正・アップデートの提供は保証しません。お問い合わせにはできる限り対応しますが、回答をお約束するものではありません。
変更・配布
自身の環境での改変は自由です。第三者への再配布・サブライセンスはご遠慮ください。

初期設定と使い方

1. インストール

  1. プラグインファイルを MT の plugins/ ディレクトリに配置
  2. MT 管理画面 システム → プラグイン を開く
  3. MtSFTPSync が一覧に表示されていれば完了

※ 同期ログを使用する場合は、plugins/MtSFTPSync/logs/ ディレクトリに MT の実行ユーザーが書き込めるようにしてください。

2. SSH 公開鍵認証の準備

  1. 手元の PC などで、この同期専用の SSH 鍵ペアを作成(例: ssh-keygen -t ed25519 -f mtsftp-sync)。パスフレーズを聞かれたら、何も入力せずに Enter を押します
  2. 公開鍵(.pub)を接続先サーバーの ~/.ssh/authorized_keys に登録
  3. 秘密鍵は、次の「4. SFTP 設定」で設定画面に貼り付けます(サーバーへの鍵ファイルの配置やパーミッションの設定は不要)

※ 使用できるのは OpenSSH 形式(-----BEGIN OPENSSH PRIVATE KEY----- で始まるもの)の鍵です。古い形式(-----BEGIN RSA PRIVATE KEY----- など)の鍵は、鍵ファイルのコピーに対して ssh-keygen -p -m RFC4716 -f 鍵ファイル を実行すると変換できます(新しいパスフレーズを聞かれたら、何も入力せずに Enter)。

※ 秘密鍵は MT のデータベースに保存されます。この同期専用の鍵を作成し、接続先の SFTP ユーザーの権限は同期先ディレクトリへの書き込みに限定することをおすすめします。

3. MT ロールと権限

システム管理者は自動的に両権限を持ちます。一般ユーザーには システム → ロール で付与してください。

権限 対象機能 備考
SFTPSyncの設定 SFTP設定・ファイルリスト 「サイト管理者」「設定の変更」と連動
SFTPSyncによる同期 SFTP同期実行 「サイト管理者」と連動

4. SFTP 設定

SFTPSync → SFTP設定 を開き、以下の項目を入力して保存します。

項目 説明
SFTP ホスト接続先サーバーのホスト名または IPv4 アドレス
ポート番号SFTP ポート番号(デフォルト: 22)
ユーザー名SFTP ユーザー名
秘密鍵秘密鍵ファイルの内容を貼り付け。保存後は表示されず、フィンガープリントと公開鍵のみ表示されます
同期先パス接続先サーバー上の同期先ディレクトリ(絶対パス)
同期元ディレクトリ省略するとサイトディレクトリを使用
同期対象除外パスファイル名またはディレクトリ名を指定(ディレクトリは末尾に / を付ける)。同期処理の対象から除外されます。同期先にだけ置いているファイル(.htaccess や .well-known/ など)は、ここに指定しておくと削除されません。
同期ログ有効にするとテキストログを出力

5. ホスト鍵の登録

ホスト鍵は、接続先が本物のサーバーであることを確かめるための鍵です。登録したホスト鍵と一致しないサーバーには接続しません。

  1. SFTP ホストとポート番号を保存すると、設定画面の上部に このサーバーのホスト鍵(SHA256:...)が表示されます
  2. 接続先のサーバー管理者やレンタルサーバーのマニュアルでフィンガープリントが公開されている場合は、一致することを確認します
  3. この鍵を信頼して登録する をクリックすると登録完了

※ ホスト名かポート番号を変更すると、登録済みのホスト鍵は消えます。改めて登録してください。

6. SFTP 同期の実行

  1. 左メニューの SFTPSync → SFTP同期 を開く
  2. 内容を確認して 同期実行 をクリック
  3. 確認モーダルで 実行する をクリックすると同期開始
  4. 同期先にあって同期元にないファイルを削除する を有効にすると不要ファイルを削除(警告ダイアログあり)

7. 同期結果の確認

  • 左メニューの SFTPSync → 同期先ファイルリスト で同期先のファイルをツリー確認
  • 同期結果(upload / delete / unchanged / error 件数)は MT サイトログ に記録
  • ログ出力が有効な場合は logs/logfile_blog{ID}_YYYYMM_***.txt にも書き出し

よくある質問

再構築のたびに自動で SFTP 同期されますか?
自動同期には対応していません。再構築後、管理画面の SFTP 同期から手動で実行してください。
削除オプションを使うと、意図しないファイルまで削除される心配はありますか?
同期元ディレクトリに存在しないファイルのみが削除対象になります。実行前に確認ダイアログが表示されますので、内容をご確認の上で実行してください。別途、同期の対象からはずして触らないようにする、除外パスも設定できます。また、同期先や同期元のファイル一覧を正しく取得できなかった場合は、削除を行いません。なお、.htaccess などの隠しファイルも同期・削除の対象です。同期先にだけ置いている隠しファイルは、除外パスに指定してください。
接続できない場合、どこを確認すればよいですか?
設定(ホスト名・ポート・ユーザー名・秘密鍵)と、ホスト鍵が登録されているかをご確認ください。ホスト鍵を取得できない場合は、MT のサーバーから接続先への外向きの通信が許可されているかもご確認ください。公開鍵認証が失敗している場合は、サーバー側のログを確認する必要があることもございます。
「ホスト鍵が登録済みのホスト鍵と一致しない」と表示されました。
接続先のホスト鍵が変わったため、安全のため同期を中止しています。サーバーの移転・再構築などに心当たりがある場合は、SFTP設定画面で新しい鍵を確認し、新しい鍵を信頼して登録する をクリックしてください。心当たりがない場合は、なりすましの可能性があるため登録せず、サーバーの管理者にご確認ください。
秘密鍵を貼り付けると「OpenSSH 形式の秘密鍵のみ使用できます」と表示されます。
古い形式(-----BEGIN RSA PRIVATE KEY----- などで始まるもの)の鍵です。鍵ファイルのコピーに対して ssh-keygen -p -m RFC4716 -f 鍵ファイル を実行すると OpenSSH 形式に変換できます(新しいパスフレーズを聞かれたら、何も入力せずに Enter)。パスフレーズ付きの鍵は使用できません。
MT の各サイトで、それぞれ別の接続先を設定できますか?
はい。MT のサイトごとに設定が可能です。
レンタルサーバー(さくら、エックスサーバーなど)でも使えますか?
SSH 接続が許可されていれば使えます。ご利用のサーバーで SSH 公開鍵認証が利用可能かどうかは、各サービスの仕様をご確認ください。
ポート番号は 22 番以外でも使えますか?
はい。SFTP設定でポート番号を指定できます。
不具合を見つけた場合はどうすればいいですか?
お問い合わせフォームよりご連絡ください。対応をお約束するものではありませんが、内容を確認しできる限り対応いたします。
ページの先頭へ戻る