BlogTop > MovableType > mt6 Archive
mt6 Archive
1 of 2
今月のいらんことしい(2022年 4月)
- 2022年4月21日 16:59
- Last update: Apr 21, 2022 17:04
- MTカスタマイズ | MovableType | mt6 | myown
今月(2022年 4月)、サイトでカスタマイズした点をまとめたページです。
- * テンプレートテーマ mt.Vicuna-HTML5 を lab に適用
- * lab の Google Analytics を GA4タグに移行
MovableType向けテーマは、 HashiM 運営の mt.Vicuna 専用サイトにて配布されています。
mt.Vicuna-HTML5 ですと、Googleアナリティクス向けモジュールの読み込みが、</head>
付近にあったと思いますが、
GA側で指定されていますように、HAED 開始タグの直下にインクルードモジュールされた方が良いかと思われます。
(おそらく後で修正してくださるかと)
GA4 は、Google アナリティクス ユニバーサル アナリティクス 終了するとのアナウンスがありましたので対応しています。
https://support.google.com/analytics/answer/11583528
今月のカスタマイズは以上です。バックナンバーは以下です。
今月のいらんことしい(2018年2月)
今月(2018年2月)、今年最初のサイト内にカスタマイズした点をまとめたページです
- グローバルナビゲーションの ActionStreams へのリンクを Tags(タグ一覧)へ変更
- Movable Type を 6.3.7 へバージョンアップ
Movable Type はセキュリティアップデートが提供されていました。
今月のカスタマイズは以上です。バックナンバーは以下です。
今月のいらんことしい(2017年10月)
今月(2017年10月)、サイトでカスタマイズした点をまとめたページです
- www.markdiary.com をSSL化
- サイトSSL化につき、Google Search Console に https://~ サイトを登録
- Google Analytics のビューで 使用するURLを http から httpsに
- FancyBox 動作不具合で調整
- 個別記事ページの「はてなスター」を削除
- MovableType 6.3.6 へアップデート
CoreServer.jpの無料SSL対応につき、本サイトもSSL化にしてみました。
簡潔にまとめると、サーバーの管理画面で無料SSLを利用する設定にする、ドメインウェブの調整をする(新しいコントロールパネルだと細かい調整がやりにくいので旧コントロールパネルを利用)。
Movable Typeの設定でサイトのURLをhttpsに直す。
混在コンテンツの問題を解消する(テンプレートで読み込むファイルを httpsから読むように直す)。CSSで画像に対して、直接URLで指定されている箇所を変更する。
といった感じです。
Google Analytics 設定も「https」に変えておきました(トラッキングコード自体は変更なし)。
Search Console の方は、www ありとなしとで両方 https:// で始まるURLに登録するようですので、これも登録しました。
はてなスターは反応状況からと、はてなスターのJSが、PageSpeed Insights に必ず引っ掛かるので削除することとしました。
MovableType は、セキュリティアップデートがありました。
今月のカスタマイズは以上です。バックナンバーは以下です。
今月のいらんことしい(2015年7月)
今月(2015年7月)、サイトでカスタマイズした箇所をまとめたエントリです。
- RSD (Really Simple Discovery)テンプレートへのリンクをHTMLヘッダから削除した
- labs.markdiary.com の管理をMTOSから、個人無償版のほうへ移動した
- スマートフォン向けページでページ上部のサイト内検索などをClose するボタンをつけた
- 記事ページのTrackback表示に overflow : hidden をつけた
rsd.xml は、外部ツールへAPIの場所を伝えるものなのですが、実質使用していないこと、Data APIを使用したツールを使うと必要がないという理由から、link要素によるオートディスカバリーを削除することにしました。
MTOS の 製品ライフサイクルが 2015年9月30日をもって終了となることから、 MTOSで運用していた maRk labをこっちのほうに移動するとしました。
リポジトリのほうは存在するようですが、今後セキュリティパッチが提供されなくなることから、移行を検討せざるを得なくなりました。
ライセンス上から、ブログのバックアップ復元のためのアップグレードインストールができないので、記事をエクスポートして取り込むという方法で移動させました。
幸いなことに、記事数が少なかったので確認にそれ程手間はかかりませんでした。
テーマは、これを期にレスポンシブにも対応している、mt.Vicuna の HTML5 版を使ってみました。
おおまかな移行手順を書きます。
- あらかじめ、 labs.markdiary.com/ 以下のバックアップをとる ( cp コマンドだとプロセスkillになるんで、サーバー提供のコピーツールを使いました )
- 記事のエクスポートからブログの記事のエクスポートファイルをダウンロード
- 先述のmt.Vicuna の HTML5 版のテーマを /themes/ にいれておく (ウェブサイトとして作成するときに、mt-static/以下に入れると選択ができないため)
- 「ウェブサイトの作成」で新規ウェブサイトを作る
- ウェブサイトURL(サブドメイン使用) http://labs.markdiary.com/
- ウェブサイトパス /var/www/html/labs.markdiary.com
- アーカイブをウェブサイトパスとは別のパスで公開する (以下上記のように任意のURLとパスを指定)
- 記事のインポートで先ほどのエクスポートファイルを取り込む
- 再構築前に、テンプレートをプレビューを使いながら編集
- 状態の良いテンプレートから随時再構築していく
といった感じです。/blog/ ディレクトリを持たないサブドメイン型ブログ(サイト)ですので、そのままウェブサイトにブログを作らないで、そのまま記事を取り込んでいます(ウェブサイト下でブログ作成したものを、ブログURLをサイトトップにあげて作ると ブログID(blog_id)の1つが余計になってしまうので)。
Close ボタンは、mt.js 内に mtHide() があるので、これを onclick 属性に仕込んでおけば、jQuery を使わなくても簡単に特定要素の非表示ができます。
<div id="hideElem">text</div> <div class="btn" onclick="mtHide('hideElem');">×</div>
今月のカスタマイズは以上です。以下に過去のカスタマイズ記録リストがあります
今月のいらんことしい(2015年6月)
今月(2015年6月)、サイトのカスタマイズした点をまとめたエントリです。
- AccessRankingGA プラグインを、Google OAuth 2.0に対応できるように修正した
- AccessRankingGA テンプレートタグの出力するページ(.json ファイル)の再構築方法を変更した
- カテゴリー mt4 をサイドバーで表示しない
- カテゴリー mt6 を新設
- Trackback のCGI へポストに関する.htaccessの設定みなおし
- 利用していないプラグインを plaginsディレクトリから削除
OAuth 対応は、以下に詳細ページを用意しました
特定カテゴリーのリストからの除外は、運用のしやすさから、カテゴリラベルでフィルターをかけるのが一般ですが、カテゴリーIDで指定すれば、あとからのラベル変更でも一意なものとして機能します。
mt4カテゴリーは、バージョン4は製品ライフサイクル終了からだいぶたっているので、カテゴリーリストから除外するとしました。
以下はカテゴリーID 1をリストから除外する例
<MTTopLevelCategories> <mt:Unless tag="CategoryID" eq="1"> ... </mt:Unless> </MTTopLevelCategories>
mt6のカテゴリーを追加しました。今のところ、タグにmt6を付けてあるものにカテゴリーを与えましたが、徐々に設定していく予定。
先日、以下の記事にて再構築ツールを紹介しましたが、
これにより、対象のファイルを MovableTypeのrun-periodic-task スクリプトから切り離してcron 実行できるようになりました。
AccessRankingGA(のテンプレートタグが生成するファイル) は www-rebuilder経由の再構築にするので、テンプレートの再構築オプションでは「手動」にしておきました。
具体的にプラグイン名は挙げませんが、不要となったプラグイン(長い間使ってなくかつ無効としていたもの・コア機能として統合されているものなど)を削除しました。
今月のカスタマイズは以上です。以下に過去のカスタマイズ記録リストがあります
メモ: www-rebuilder を使って、任意のテンプレートを再構築
スカイアーク様提供の Movable Type用の再構築ツール、www-rebuilder を使ってみたので、設定等の記録です。
用意するもの
- www-rebuilder 本体
- 必須モジュール:WWW::Mechanize
- ターミナルソフト
- 編集用エディタ
MT6で Data APIがでていて記事更新などは管理画面を介さなくてもできるようになっています。特定のテンプレートとなると、ちょっと Data APIではそれらしき、エンドポイントがないみたいです。というか、Data APIと再構築のツールとでは、目的がそもそも違うという。
で、本体のほうは、スカイアークの以下のエントリーにリンクがあります。
なお、GitHubにリポジトリがあるようです。
先に本題的なことをいいますと、そのまま使うと、ファイル mt.cgi に対して、BASIC認証をかけてある場合、基本認証が通らなくてプログラム終了となってしまいました。
... Authorization Required at ./www-rebuilder line 30
ベーシック認証突破するように、オプションコマンドを追加する必要があるようです。
GetOptions
(Array) に以下を追加します。
"bauth_name=s" => \my $bauth_name, "bauth_pwd=s" => \my $bauth_pwd,
(ターミナルで入力するのに手間がかかるので、略してます。basic_authorization_password というような意味です)
サブルーチン do_task()
の 一番始めの $mech->get($uri); の上の行に以下を追加します。
# Basic Authorization $mech->credentials( $bauth_name => $bauth_pwd ) if ( $bauth_name && $bauth_pwd );
あと、自分がおこなった環境だと、WWW::Mechanize の set_fields で checkbox の設定があると、
No such field 'checkbox' at /PATH/TO/WWW/Mechanize.pm
とかでてしまうので、 checkbox => undef,
はコメントにしておきました。
編集が終わったら、SSHでサーバーに入って、どこかの /tools/ ディレクトリとか任意の場所にアップロードしておきます。
そのディレクトリに移動します。
$ cd /var/www/html/cgi-bin/tools
サンプルとして必要項目が以下だったとします。
MovableTypeのURL : http://example.com/{MT_SysDir}/mt.cgi ログインユーザー名 : Melody ログインパスワード : Nelson ブログID :1 再構築したいテンプレートのタイプ : index 再構築したいテンプレートID : 1 ベーシック認証ユーザ名 : name ベーシック認証パスワード : XXXXXXXX
各オプション(-- のあと)の対応は (* は必須)
mt_uri : MovableTypeのURL * username : ログインユーザー名 * password : ログインパスワード * type : 再構築したいテンプレートのタイプ (archive|index) template_id : 再構築したいテンプレートID
※ template_idを指定している時は、type が必須となる、とあります。
ベーシック認証用に以下のオプション
bauth_name : ベーシック認証ユーザ名 bauth_pwd : ベーシック認証パスワード
これを反映させた www-rebuilder でのコマンドラインはこのようになります。
$ ./www-rebuilder --mt_uri=http://example.com/{MT_SysDir}/mt.cgi --username=Melody --password=Nelson --type=index --template_id=1 --blog_id=1 --bauth_name=name --bauth_pwd=XXXXXXXX
(注:サンプルなので、実際の使用ではオプションは環境にあわせた値をいれます)
これで、ターミナルから、curl で再構築したテンプレートのヘッダーをみるか、ブラウザでアクセスするなどして、Last-Modified: を見てみます(GMTの場合は日本時間で+9:00 、計算の面倒ならばブラウザからアクセスしてページ情報みるほうが楽かも)。
$ curl -s --head http://example.com/再構築したテンプレートが生成するファイル
Last-Modifiedが直前の時刻になっていれば成功しているとおもわれます。
以上、 MovableType 6.1.1にて動作確認しました。
元記事にもありますが、十分な検証をおこなったうえで利用しましょう。
参考
Perl Istack sp ptr 関係のエラー
ローカル環境の Perl にエラーが出て困っていたのでメモしておきます。
perl のエラーで Movable Type 管理画面が表示されないため、ログをみたところ、以下のようなものが記録されていた。
dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr, referer: http://localhost/MT6X/
Referenced from: $HOME/perl5/lib/perl5/darwin-thread-multi-2level/auto/Imager/Imager.bundle, referer: http://localhost/MT606/ [Fri Apr 17 23:52:21 2015] [error] [client ::1] Expected in: flat namespace, referer: http://localhost/MT6X/
(ユーザーのフォルダは $HOMEで置き換えてます。MTのフォルダ実際ははバージョンごとの任意の名称。どのバージョンの管理画面でもエラーで止まります)
macports を selfupdate した後、perl5 を upgrade このときに $ which perl でパスがなくなったので、インストールしなおし。 というところまでが、現象前での作業。
この Imager は、ユーザーのフォルダのほうに入れているものです。
いろいろ試したのですが効果のあったものだけ記しておきます。検索すると、環境変数を設定してあげる、というものなどあるのですが、環境変数の設定では改善されませんでした。
.bundle のつくバンドルがこの問題に該当するようで、これらを@INCの外に退避させると、管理画面が表示されるようになりました。
根本的な原因と正確な対処法は今のところ不明です。
なお Imager は、cpanm で入れた Imager を一旦削除 (App-pmuninstall 使用) してから、cpan のほうでインストールしなおしで使えるようになりました。
今月のいらんことしい(2014年5月)
今月(2014年5月)、サイトのカスタマイズした箇所をまとめたエントリです。
- Google Analytics スニペットをglobalのほうに変更した
- run-periodic-tasks の warning 問題
このブログのほうもグローバルのトラッキングコードに差し替えしました。特に問題となる部分はありません。
クリックイベントトラッキングを analytics へ送る方法がanalytics.js 用に用意されているので、これも差し替えるようにしました。
具体的には、
_gaq.push() メソッドを使用していたのは、ga('send', 'event' ,,, といった形になります。
詳しくは、公式の イベント トラッキング - ウェブ トラッキング(analytics.js) に記載されています。
Movable Type 6 のアップデートしたあとに、cron による処理で Unrecognized escape K passed through の警告がでるようになってきたので、ちょっとツールのほうに手を入れることにしました。
\シーケンスなんですが、以下のドキュメントを参照したところ、Perlバージョン 5.10からの機能とあります。
また、6.0.3 〜 で run-periodic-tasks に修正が加えられた件については以下にて確認できました。
借りているサーバーのバージョンが5.8系のために、これ(\Kによる置換)を使わないようにするか、以前のバージョンに差し戻すかなのですが、ここはとりあえず \K を使わないようにするようにしました。(今の時点で動作検証まではしていません)
追記 2014/05/27:Cron Daemon のエラーメッセージはかえってこなくなったみたい。MITに変わったからコード示さなくてよくなったとおもうんで掲載はしません。推奨環境で運用するのがたぶん正解だと思います。今月のカスタマイズは以上です。以下に過去のカスタマイズ記録リストがあります
今月のいらんことしい(2014年4月)
今月(2014年4月)、サイトでカスタマイズした点をまとめたエントリです。
本文中の「ウェブマスターツール」ですが、名称変更があり(http://goo.gl/tjQxT4)、Google Search Console となりました。
- sitemap.xml でフォルダの出力にフィルタ
- MTOS 5.2.10 、Movable Type 6.0.3 へアップデート
sitemap.xml はGoogle 等に送信するものとして作成していますが、ウェブマスターツールで警告がでるので、問題となるフォルダを出力しないようにしてみました。
対象フォルダが、フォルダメニューの一覧にあることを確認します。
次に、サイトマップテンプレートのMTPagesタグの folder モディファイアに NOT をつけることで、指定フォルダ以外の出力となります。
<MTPages folder="NOT exceptfolder">
前掲ページにおいて、アップデート後の必要な作業として、テンプレートのリフレッシュを行なう、とあります。
当方は同梱テーマではないので、手動による変更をおこないました。その他いくつかの問題が修正されているようです。
メモ書きですが、更新作業の際に、CGIエラーがでてしまいました。
これはCGIへのリソース制限にかかってしまったみたいです。FTPクライアントとターミナルと同時でおこなってたからなのかも。
特にサーバー管理画面からの負荷とかプロセスとかはこちらでは確認ができませんでした。
制限解除までに時間がかかってしまったので、次回気をつけようと思います。
参考:
- 記事閲覧 (ユーザーフォーラム:CGI/PHP/DB関連 - VALUE-DOMAIN.com)
今月のカスタマイズは以上です。以下に過去のカスタマイズ記録リストがあります
- 当ブログのカスタマイズ記録
BlogTop > MovableType > mt6 Archive
- Feeds
- Elsewhere
- logo