タグ「ブログ」が付けられているもの

結論から言うと、.htaccessのRewriteRuleによるリダイレクトを設定しているとHTTPS接続でBASIC認証が効かない状態になるみたいです…
時代の流れに乗ってSSL化作業を済ませ、前の記事にて電車猫ブログのHTTPS化が完了したと書いたのに一件落着ではなかったですねorz

本題の前に、前提条件のお話を。

電車猫ブログのHTTPS化をしたのは良いのですが、HTTPでアクセスして来てもらっては常時SSL化とはならず、セキュリティ的なメリットが半減するわけですよ。
Google先生に聞いたところ、.htaccessのRewriteRuleでリダイレクトさせれば良いということが分かりました。
.htaccessでのリダイレクトの目的は2つあります。

  1. HTTPでアクセスした人をHTTPSの同じパスのページにリダイレクトさせる(常時SSL化の趣旨)
  2. www.traincat.netでアクセスしてもtraincat.netにアクセスさせる(SEO的な目的)

以下のページを参考に、.htaccessを書きました。

m630.net - httpからhttpsへのリダイレクトしてwwwありなしを統一する
デジ研 - 常時SSL導入の注意点とSSLページのインデックスまでにかかる時間 - HSTSを設定しましょう

.htaccessの内容は以下になります。

RewriteEngine on

# HTTPの場合のリダイレクト.
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# www.traincat.netの場合のリダイレクト
RewriteCond %{HTTP_HOST} ^(www\.traincat\.net)(:80)?
RewriteRule ^(.*) https://traincat.net/$1 [R=301,L]

# HSTSの設定
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS

これによって、例えば
 http://traincat.net/foo/bar/
 http://www.traincat.net/foo/bar/
 https://www.traincat.net/foo/bar/
は最終的に以下のURLへリダイレクトされます。
 https://traincat.net/foo/bar/

HSTSにも対応することで、SSLに対応していることをブラウザや検索エンジンのクローラーに通知させます。
上記.htaccessをルートディレクトリに配置することでリダイレクトに対応できました。

ここからが本題になります。
上記.htaccessをアップロードした後、BASIC認証ありのページにアクセスし、動作検証を試みたところ、問答無用で403エラーになりました。
SSL化する前はアクセスできていましたし、以前の.htaccessファイルに戻したらBASIC認証ができるので、確実に今回の設定に問題がある訳ですね。
この問題を解決する為に日本語のサイトだけでは見つからず、Stack Overflowなどの海外サイトまで調べましたが、なかなか正解にたどり着けず、手間取りました。
しかし、結局日本語のソースで役に立ちそうなページを発見しました!

blog20100901 - [memo] .htaccess の RewriteRule で Basic 認証が効かない問題 (0x21e)

BASIC認証をかけている.htaccess(先ほどの.htaccessとは別ファイル)を修正することで対応できるようです。
赤字が追記箇所になります。

ErrorDocument 401 "Unauthorized Access"
RewriteEngine off

SSLRequireSSL
AuthUserFile /home/users/lovecats/hoge/basic-area/.htpasswd
AuthGroupFile /dev/null
AuthName "Password Required"
AuthType Basic
require valid-user
order deny,allow

詳しい内容は前述のブログに記載されているので、ざっくりと解説を。
BASIC認証とリダイレクト(RewriteRule)の相性は悪いようなので、RewriteEngineをoffにします。
ErrorDocument 401 "Unauthorized Access"があることで、HTTPSでもBASIC認証が効くようになるようです。
その代わり、上記で記載したリダイレクトは無効になりますが、制限ページの役割を考えるとSEO的なリダイレクトは気にしなくても大丈夫でしょう。
ただ、HTTPアクセスでBASIC認証ページに訪問されてしまうと、リダイレクトが無効になってるので、HTTPS化した意味がなくなってしまいます。それに対応する為に、HTTPS接続に限定する「SSLRequireSSL」を記述しました。
※なお「ErrorDocument 401 "Unauthorized Access"」の部分については、401エラー用のHTMLを用意できるのであれば、例えば「ErrorDocument 401 /error-pages/401.html」のようにしても良いと思います。「ErrorDocument 401 "Unauthorized Access"」の設定だと、BASIC認証に失敗した場合は「Unauthorized Access」と1行テキストが出力させるだけになります。

常時SSL化によりBASIC認証が無効になってしまったら、HTTPSとHTTPの共存もやむなしかと思っていたので、この様な逃げ道があって良かったです。
常時SSL化の流れになっている今後は同じ問題が発生することが多くなるのではないかなと思っていますので、ご参考になりましたら幸いです。

電車猫ブログHTTPS化完了

最近の常時SSL化の流れもあり、電車猫ブログをSSL化したかったのですが、ついに実現できました。
それも、気付いたらロリポップがLet's Encryptの無料SSLに対応してくれたお陰です。

LOLIPOP!レンタルサーバー - 2017/07/11 無料の独自SSLがご利用いただけるようになりました!

ロリポップサイトに手順書がありますし、ロリポップの設定については記載を省きますが、5分足らずでHTTPSでのアクセスを可能にしてくれました。
ところが、HTTPS接続で電車猫ブログを確認するとスタイルシートや画像の読み込みに問題があることが発覚。
HTTPS接続のサイトなのにHTTPのURLが混在していることで発生していました。

そこで、Movable Typeのダッシュボードにログインし、以下の手順でHTTPをHTTPSに書き換えました。
※以下の例では電車猫ブログのURLを提示していますが、自サイトのドメインに読み替えて作業をしてください。

・URLのHTTP→HTTPS化
[システム]→[ウェブサイト]→[設定]→[全般]より[全般設定]画面を開く。
[公開パス]より[ウェブサイトURL]を「http://traincat.net/」から「https://traincat.net/」に変更し、[変更を保存]ボタンを押下する。

・検索/置換機能によるHTTP→HTTPS化
[システム]→[ブログ]→[ツール]→[検索/置換]より[検索/置換]画面を開く。
[検索]テキストエリアに「http://traincat.net/」を入力し、[検索]ボタンを押下する。
[検索/置換]ラジオボタンをチェックし、[置換]テキストエリアに「https://traincat.net/」を入力する。
置換対象の記事のチェックボックス、または全て選択のチェックボックスをチェックした後、[選択したものを対象に置換]ボタンを押下する。
同様の対応を[検索/置換]画面上部にある、[記事]タブだけではなく、[コメント]、[トラックバック]、[ウェブページ]、[テンプレート]、[ユーザー]タブにも実施する。

・ブログの再構築
更新ボタンをクリックし、すべてのファイルを再構築する。

・ブラウザでの確認
HTTPSでブログにアクセスし、問題なく表示されるか確認する。
特にスタイルシート、画像のURLやリンクの遷移を確認し、HTTPに戻ってアクセスしていないか確認する。

いかがでしたでしょうか。(※最近流行りのキュレーションサイトの定型文を書いてみた)

上記手順を実施することで、ロリポップ+Movable Typeでは、1時間程度でHTTPS化が可能です。
いや~素晴らしい。

今後はSSL化した電車猫ブログをよろしくお願いしますm(_ _)m

前回の記事の続きです。
月別記事リスト、カテゴリ別記事リスト、および別途作成した全エントリーの各テンプレートにはOGPの設定がされていなかったので、設定を追加することにしました。

ダッシュボード→[ブログ]→[デザイン]→[テンプレート]→[アーカイブテンプレート]の[月別記事リスト]と[カテゴリ別リスト]のテンプレートを開き、「</head>」の前の行に以下の設定を加えました。
※赤字の部分が注意が必要の部分です。

<!-- Open Graph Protocol -->
<meta property="og:type" content="article">
<meta property="og:locale" content="<$mt:BlogLanguage setvar="blog_lang"$><mt:If name="blog_lang" eq="ja">ja_JP<mt:else><$mt:Var name="blog_lang"$></mt:If>">
<meta property="og:title" content="<$mt:ArchiveTitle encode_html="1"$>アーカイブ - <$mt:BlogName encode_html="1"$>">
<meta property="og:url" content="<$MTCanonicalURL$>">
<meta property="og:description" content="<$mt:ArchiveTitle encode_html="1"$>アーカイブ - <$mt:BlogName encode_html="1"$>">
<meta property="og:site_name" content="<$mt:BlogName encode_html="1"$>">
<meta property="og:image" content="<$mt:SupportDirectoryURL with_domain="1" encode_html="1"$>theme_static/rainier/img/siteicon-sample.png">
<!-- Metadata -->
<meta itemprop="description" content="<$mt:ArchiveTitle encode_html="1"$>アーカイブ - <$mt:BlogName encode_html="1"$>">
<link itemprop="url" href="<$MTCanonicalURL$>">
<link itemprop="image" href="<$mt:SupportDirectoryURL with_domain="1" encode_html="1"$>theme_static/rainier/img/siteicon-sample.png">

descriptionの部分はもうちょっと工夫できそうな気がしますが、一旦タイトルと同じにしてみました。
「<$mt:SupportDirectoryURL with_domain="1" encode_html="1"$>theme_static/rainier/img/siteicon-sample.png」の部分は利用するスタイルによって変わる可能性もあるので、流用される方はご注意ください。

続いて、ダッシュボード→[ブログ]→[デザイン]→[テンプレート]→[アーカイブテンプレート]の[全エントリー]のテンプレートを開き、「</head>」の前の行に以下の設定を加えました。

<!-- Open Graph Protocol -->
<meta property="og:type" content="article">
<meta property="og:locale" content="<$mt:BlogLanguage setvar="blog_lang"$><mt:If name="blog_lang" eq="ja">ja_JP<mt:else><$mt:Var name="blog_lang"$></mt:If>">
<meta property="og:title" content="全エントリー - <$mt:BlogName encode_html="1"$>">
<meta property="og:url" content="<$MTCanonicalURL$>">
<meta property="og:description" content="全エントリー - <$mt:BlogName encode_html="1"$>">
<meta property="og:site_name" content="<$mt:BlogName encode_html="1"$>">
<meta property="og:image" content="<$mt:SupportDirectoryURL with_domain="1" encode_html="1"$>theme_static/rainier/img/siteicon-sample.png">
<!-- Metadata -->
<meta itemprop="description" content="全エントリー - <$mt:BlogName encode_html="1"$>">
<link itemprop="url" href="<$MTCanonicalURL$>">
<link itemprop="image" href="<$mt:SupportDirectoryURL with_domain="1" encode_html="1"$>theme_static/rainier/img/siteicon-sample.png">

<$mt:ArchiveTitle encode_html="1"$>」だと「全エントリー」と出力できなかったので、修正しています。

前回と同様、TwitterとFacebookでのOGP表示を以下で確認しました。

Twitter Developers - Card Validator
開発者向けFacebook - デバッガー

これで更にOGP対応ぽいブログができましたということで∠( ̄∧ ̄)

Twitter、Facebook、mixi等でブログ記事のリンクを張られたときの為に、もっと早く設定を修正すべきだったとちょっと後悔してます。

Webアクセス解析を確認したところ、SNSから当ブログの記事が紹介されていることを見つけました。
確認してみると、単なるリンクではなく真っ白な画像と説明が微妙に表示されてるではありませんか。
色々調べてみると、OGPの設定が関係していることが分かりました。
OGPについては以下のサイトの説明をご参照くださいませ。

ferret [フェレット] - Facebook・TwitterのOGP設定方法まとめ

ダッシュボード→[ブログ]→[デザイン]→[テンプレート]からメインページ(index.html)と個別記事のテンプレートを確認したところ、「<meta property="og:○○" content="~" />」のタグが含まれてました。
月別アーカイブや別途追加した全アーカイブのテンプレートからリンクが張られるということは少ないので、デフォルトの状態でも基本的な対応はされていると。
では、何故画像が真っ白になるかと言いますと、og:imageに設定されているURLの画像ファイルがデフォルトのままなのであたり前田のクラッカーということで。
画像を以下の画像に差し替えました。

サイト画像

あまりに単純すぎるだろというツッコミはありまくりかもしれませんが、絵心はなかったので、フリー素材を使い電車猫ロゴを作成しました…
ただ、Twitterで記事をサマリ表示する為には設定が足りないのと、どうせならfaviconも設定したいと欲が出てしまいまして、テンプレートの修正箇所を探しました。
ダッシュボード→[ブログ]→[デザイン]→[テンプレート]→[テンプレートモジュール]→[HTMLヘッダー]に以下の設定を加えれば良いそうです。

<!-- favicon -->
<link rel="shortcut icon" href="(faviconのURL)" type="image/vnd.microsoft.icon" />
<link rel="icon" href="(faviconのURL)" type="image/vnd.microsoft.icon" />
<!-- Twitter card -->
<meta name="twitter:card" content="summary" />

「(faviconのURL)」の部分はICOファイルのURLを指定してください。
電車猫ブログのfaviconは、以下の記事を参考にし、オンラインでフリー素材の画像ファイルをICOファイルに変換しました。

Forgot the Milk. - Faviconをサクサク作ってくれる8つの Faviconジェネレータ サイト

TwitterとFacebookでのOGP表示を確認するには以下のデバッグサイトを利用すると便利です。

Twitter Developers - Card Validator
開発者向けFacebook - デバッガー

og:imageとTwitterカードを設定すると、それっぽいサイトに見えますね(´∀`)(笑)
色々なSNSからリンクされるくらい重要と思われる記事を書かないと無用の長物となってしまいますので頑張ります∠( ̄∧ ̄)

Movable Type 6.2.2からMovable Type 6.3にアップグレード(アップデート?)しました。
定期的にスクリプトの更新をしないと更新手順を忘れてしまう&ますます面倒くさいと思って更新しなくなるので(^_^;)

前回更新時のMTOS5.2.9から5.2.13アップデート→6.2.2アップグレードのときのようなトラブルに巻き込まれることなく、上書き更新で対応できました。
…っと書きたかったのですが、ロリポップFTPの問題によりファイルの大量アップロード・ダウンロードに失敗する事象に悩まされ、Movable Typeの大量ファイルのバックアップに苦戦してましたorz
流石におかしいだろうと思って調べてみたら、ありましたよ解決方法が…

谷 元博のブログ - FFFTPのファイル転送が途中でエラーになってしまう現象

最近のFFFTPは明示的にFTPSを使用するように設定できますが、それが原因でロリポップのファイル大量転送時にエラーとなっていたとは…
ネットワークスペシャリストを学習していて思う原因の推定は以下の様なものでしょうか?

・平文で処理できるFTPに比べ、暗号化と復号があるFTPSは処理負荷が高くなる。
・大量にファイル転送されるとサーバリソースを大量に使用する。
・他のユーザの転送に影響を及ぼさない為、特定時間に一定のファイル数以上の転送が発生した場合にアクセス制限している。

解決方法としては、ロリポップFTPサーバとクライアントとの間にSSLアクセラレータを導入し、SSL(FTPS)の暗号化と復号負荷を減らす構成にするのは如何でしょうか?>ロリポップの中の人
そのような構成になっていた上で、大量ファイルの転送を弾く設定にしている可能性は否定できませんね(^_^;)

2016年11月06日追記:
Movable Type 6.3からMovable Type 6.3.2へのアップデートも上書き保存で対応できました。

謹賀新年

あけましておめでとうございます。
鉄道、猫、そしてIT関連の話題を載せていきたいと思いますので本年の電車猫ブログを宜しくお願い致します。

そんなわけで、早速猫の画像を( ̄∇ ̄)ノ♪

150489654_large.v1451382086.jpg

本年も365日となりましたが、皆様も良いお年をお過ごし下さいm(_ _)m

Movable Typeでsitemap.xmlを出力する

ブログ移行完了記念としてMovable Typeに対するカスタマイズはまだまだ続きます(≧∇≦)

Movable Typeでsitemap.xmlを出力することができないのかなぁとググッてみたら、Movable Typeの公式サイトで普通に紹介されてましたΣ
検索エンジン用サイトマップの作成 - Movable Typesitemap作成 - MovableTypeリアルゲットを参考にし、以下のように作成しました。

ダッシュボード→[ブログ]→[デザイン]→[テンプレート]から[インデックステンプレートの作成]をクリックします。
[出力ファイル名]を"sitemap.xml"とし、以下の通りテンプレートを作成します。

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<MTIgnore>メインインデックス</MTIgnore>
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>


<MTIgnore>ブログ記事</MTIgnore>
<MTEntries lastn="0" sort_by="modified_on">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
</MTEntries>

<MTIgnore>カテゴリ</MTIgnore>
<MTArchiveList archive_type="Category" sort_by="modified_on">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<changefreq>daily</changefreq>
<priority>0.7</priority>
</url>
</MTArchiveList>

<MTIgnore>月次アーカイブ</MTIgnore>
<MTArchiveList archive_type="Monthly" sort_by="modified_on">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
</MTArchiveList>

<MTIgnore>全エントリー</MTIgnore>
<url>
<loc><$MTBlogArchiveURL$>index.html</loc>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>

<MTIgnore>ページ</MTIgnore>
<MTPages lastn="0" sort_by="modified_on">
<url>
<loc><$MTPagePermalink encode_xml="1"$></loc>
<lastmod><$MTPageModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
</MTPages>
</urlset>

折角なので全エントリーもsitemap.xml含めるようにしました。
テンプレートを再構築するとsitemap.xmlが実際に出力されます。

作成したsitemap.xmlをGoogle等の検索エンジンに食わせることで、効率的にクロールしてもらえます(´∀`)

Movable Typeのテンプレートを色々変更

ブログアップグレード時の備忘録として書き残しておきます。

・メタタグへのキーワード出力の追加
記事の書き込み画面に[キーワード]があります。これを<meta>タグへ出力することでSEO対策します。
詳しい解説はMovable TypeでメタキーワードのSEO - アレグロマーケティングに譲ります。
ダッシュボード→[ブログ]→[デザイン]→[テンプレート]から[アーカイブテンプレート]→[記事]をクリックします。
<meta>タグがある箇所に「<meta name="keywords" content="<$mt:EntryKeywords$>">」を入れて、[変更を保存]ボタンをクリックします。
その後、記事テンプレートを再構築します。

・タイトル画像の追加
Rainierテンプレートを使用している場合の画面トップ部分の画像を追加する方法がMovable Typeの公式サイトに書かれていました。
Rainierのカバー画像を自分の好きな写真に変えてみよう - Movable Type
ダッシュボード→[ブログ]→[アイテム]→[新規]からファイルをアップロードした後、[タグ]に"@SITE_COVER_IMAGE"のシークレットタグを指定することで背景画像が設定されるのですね。
今回使用した猫画像はGoogle画像検索で再利用が許可されたものを利用させて頂きました。
電車と猫の画像で再利用可能なものを見つけたら、差し替えようと思います。

・余計な文字置換機能の停止
Movable Typeのデフォルト設定では「…」(三点リーダ)を「...」(半角ピリオド3つ)に勝手に変更する機能が有効のようです。
三点リーダーをそのまま表示させる設定方法 - hostingjediを参考にし、余計な文字置換機能を停止させました。
ダッシュボード→[ブログ]→[設定]→[投稿]から[Word特有の文字を置き換える]→[句読点置き換え]を[置き換えない]をクリックします。
その後、[変更を保存]すれば、その後は余計な文字置換機能が無効になります。

・全エントリーアーカイブへのリンク追加
せっかく、前回の記事で全エントリーを出力アーカイブテンプレートを作成しているのにどこからもリンクしないのはもったいないので、全エントリーアーカイブへのリンクを追加しました。
ダッシュボード→[ブログ]→[デザイン]→[ウィジェット]から[ウィジェットテンプレート]→[月別アーカイブ(ドロップダウン)]をクリックします。
テンプレートを以下のように修正します。
※赤字が追記箇所です。

<mt:IfArchiveTypeEnabled archive_type="Monthly">
<mt:ArchiveList archive_type="Monthly">
<mt:ArchiveListHeader>
<nav class="widget-archive-dropdown widget">
<h3 class="widget-header">アーカイブ</h3>
<div class="widget-content">
<select>
<option>月を選択...</option>
</mt:ArchiveListHeader>
<option value="<$mt:ArchiveLink encode_html="1"$>"><$mt:ArchiveTitle$></option>
<mt:ArchiveListFooter>
</select>
</div>
<div class="widget-content">
<ol><li><a href="<$MTBlogArchiveURL$>index.html">全エントリー</a></li></ol>
</div>
</nav>
</mt:ArchiveListFooter>
</mt:ArchiveList>
</mt:IfArchiveTypeEnabled>

皆様のご参考にもなれば幸いですm(_ _)m

Movable Typeで全エントリー一覧を出力したいと考えました。
調査の結果、以下の方法で可能でした。

ダッシュボード→[ブログ]→[デザイン]→[テンプレート]から[アーカイブテンプレート]→[アーカイブテンプレートの作成]→[記事リスト]を選択します。
以下の通り、テンプレート名(例えば、「全エントリー」等)を入力した後、以下のテンプレートで作成します。

<$mt:Var name="entries_per_page" value="10"$>

<$mt:Var name="search_link" strip="" trim="1" encode_html="1" setvar="search_link"$>

<!DOCTYPE html>
<html lang="<$mt:BlogLanguage$>">
<head>
<meta charset="<$mt:PublishCharset$>">
<title>全エントリー - <$mt:BlogName encode_html="1"$></title>
<$mt:Include module="HTMLヘッダー"$>
</head>
<body>
<div id="container">
<div id="container-inner">
<header id="header" role="banner">
<div id="header-inner">
<$mt:Include module="バナーヘッダー"$>
<$mt:Include module="Navigation"$>
</div>
</header>
<div id="content">
<div id="content-inner">
<ul class="breadcrumb breadcrumb-list">
<li class="breadcrumb-list-item"><a href="<$mt:BlogURL template="main_index" encode_html="1"$>">Home</a></li>
<li class="breadcrumb-list-item">全エントリー</li>
</ul>
<div id="category-main" class="main" role="main">
<section id="posts">
<h2>全エントリー</h2>
 <ul>
  <MTEntries lastn="0">
  <li>
<time datetime="<$mt:EntryDate format_name="iso8601"$>"><$mt:EntryDate format="%x"$></time>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</li>
  </MTEntries>
 </ul>
</section>
</div>
<aside class="widgets related" role="complementary">
<$mt:WidgetSet name="関連コンテンツ"$>
</aside>
</div>
</div>
<footer id="footer" role="contentinfo">
<div id="footer-inner">
<$mt:Include module="バナーフッター"$>
</div>
</footer>
</div>
</div>
<script src="<$mt:StaticWebPath encode_html="1"$>jquery/jquery.min.js"></script>
<script src="<$mt:Link template="javascript_theme" encode_html="1">"></script>
</body>
</html>

[保存]ボタンをクリックし、一旦保存します。
[▶テンプレートの設定]をクリックした後、[新しいアーカイブマッピングを作成]をクリックします。
[種類]から[ユーザー]プルダウンメニューを選択し、[追加]ボタンをクリックします。
[パス]に"index.html"を指定すると、アーカイブディレクトリの直下に"index.html"で全エントリーを出力するファイルを作成します。
※電車猫ブログの場合、「https://traincat.net/blog/neko/archives/index.html」になります。

前提条件として「Rainier」スタイルを利用しています。他のスタイルでは編集が必要かもしれません。
でもRainierスタイルってレスポンシブデザインなのでPCでもスマホでも最適な画面に切り替わるので便利ですね。

以上、Movable Type 6で全エントリー一覧のリンクを出力する方法でした。

ブログ移転作業をしている当初、このブログはMTOS (Movable Type Open Source) 5.2.9で構築しました。
ロリポップ簡単インストール機能により比較的簡単に設置できたのですが、MTOSがVer5.2.13で開発終了となり、2015年9月を以ってEOL(End of Lifecycle)となってしまいました。
MTOS を使い続けると、脆弱性があっても対策できないことを意味し、自宅サーバから移転した理由がなくなってしまうので、更新することにしました。

・MTOS 5.2.9→5.2.13
Movable Type 5.2.x系の最終バージョンには変更し、脆弱性に対して強固にすべきと考え、取り急ぎ5.2.13にアップデートすることにしました。
ロリポップでのMovable Type簡単インストール機能での提供は2015年6月で終了しているので、Movable TypeのMTOSのダウンロードからダウンロードしました。
5.2.9のMTOSのファイルをバックアップした後、解凍した5.2.13のスクリプトを上書き更新します。
その後、mt.cgiにアクセスするとアップデート処理が掛かり、更新できました。
同じ系統のスクリプトだったので、大きなトラブルはなく対応できました。

・MTOS 5.2.13→MT 6.2.2
こちらはちと面倒でした。
まず、Movable Type 5.2.13で作成したファイルをバックアップすべく、静的コンテンツ(HTMLファイル)とSQLiteのDBファイル(mt.db)をダウンロードし、ダッシュボードの[移行対象のブログ]→[ツール]→[記事のエクスポート]から記事を出力します。
その後、Movable Type 6.xの最新版を入手します。
Movable Type 6.x系はMovable Typeのサイトからのみダウンロード可能です。個人利用ですのでMovable Type 個人無償版ダウンロードから現時点の最新版であった6.2.2のスクリプトをダウンロードします。

Movable Type 6 へのアップグレードのドキュメントを見る限り、SQLiteのDBが使えなくなり、MySQLへの移行が必要に見えましたが、そんなことはなかったです。
SQLiteを使用したMovable Type 6の移行方法はさくらインターネットのライトプランでMovable Type 6を導入 - らっぱ王子を参考に作業を進めました。
バージョンが異なるMovable Typeだったので、上書き更新は避け、MTOSをインストールしている同階層に新しいディレクトリを作成し、スクリプトをアップロードしました。その後、旧ディレクトリを「mt」から「mt-backup」にし、新しいディレクトリを「mt」にリネームします。最後に、旧ディレクトリにあった「db」という名前のフォルダ一式を新しいディレクトリにコピーします。
その後、mt.cgiにアクセスし、DBの設定でSQLiteのパスを設定し、メールの設定を確認すると、ダッシュボードを無事表示することができました。

これでめでたしめでたしと言いたかったのですが、そうは問屋がおろしてくれませんでしたorz
ブログを再構築したところ、CSSが適用されず、真っ白の画面が表示されました。
ダッシュボード→[ブログ]→[デザイン]→[スタイル]から[Rainierスタイル]を選択したところ、以下のエラーが発生しました。

テーマの読み込みでエラーが発生しました!
スタイルライブラリを読み込めませんでした。

スクリプトファイルの転送漏れもなく、ファイルもパーミッションも問題ありませんでした。
エラーメッセージの日本語と英語(「Error loading themes!」、「Failed to load StyleCatcher Library」)をキーワードとして検索しましたが、対処方法が書かれたサイトを見つけられませんでした。
何時間掛かりましたが、思わぬ場所に原因がありました。
ダッシュボード→[ブログ]→[デザイン]→[テーマ]から[Rainier 1.2.1]の[再適用]ボタンをクリックし、その後再構築することで、CSSの適用がされるようになりました。
アップグレードしたときには、[再適用]しないとダメなんですね…

ただ、テーマを再適用してしまった為、テンプレートのカスタム内容が消失してしまいました。
※[テーマ]の再適用が原因なのか、その後[スタイル]の[Rainierスタイル]の適用が原因なのかは分かりませんが、どちらにしてもテンプレートのカスタム内容が消失したのは事実です。
独自テンプレートを追加したり、既存のテンプレートをカスタマイズされている方は、その箇所のバックアップも別途記録して置いたほうが安全かと思われます。

テンプレートのカスタマイズ作業をし直して、現在に至ります。
この作業をしてから電車猫ブログを公開すれば良かったですね…
せっかくなので、カスタマイズしたテンプレートについては別途記事にしたいと思います。

ブログ移転

今年2回目の記事が12月下旬になるとは...
そんなことは言いつつ、これがブログ移転後の初めての記事になります。

以前のブログは、玄箱にLinuxをインストールし自宅サーバで運営していましたが、自宅サーバマシンのスペックに限界がある中、最近のサーバセキュリティ対策に限界を感じるようになりました。
また、サイト内の記事がGoogleやYahoo!から頻繁に参考にされているものがある中、情報が古くて役に立たず、いわゆる雑音になってしまっている記事も多くありました。

そこで、独自ドメインを取得し、レンタルサーバを契約し、ブログを移転することにしました。
移転作業自体は2015年1月~2月から進めていたのですが、ブログの記事の整理に時間が取れず、新サーバへのブログ移転を待たずに旧ブログとサーバを閉鎖した次第です。
やっと時間を取れた(取った?)のが12月ということで、半年以上放置してましたm(_ _)m

今回の公開に伴い、ブログ名称を変更しました。
また、前述の通り、現在は通用しない雑音となっている記事を削除し、すっきりさせてます。

そんなわけで、心機一転電車猫ブログをよろしくおねがいします。

Appleカテゴリ追加しました

急に記事が大量に書き込まれたと思ったら、急に沈静化するので有名な当ブログですが、皆様如何お過ごしでしょうか?

さて、お気づきの方は殆どいないと思いますが(訪問者的な意味で)、Appleカテゴリを追加しました。
昨年からApple製品が着実に増えつつありまして、備忘録的に記事を残しておかないと後で自分が困るんですよね(笑)
MacBookにiPad2にiPod touchに色々あるので、少しずつ記事を書いていこうと思います。

しかし、また急に記事の投稿頻度が沈静化する可能性は否定できません(ぇ?

ニュース記事に意見をする機能に思う

最近、Yahoo!ニュースに特定の配信会社ではコメント欄を設け、そのニュースへのコメントを書き込めるようになりましたよね。mixiでもニュースに対して日記を書くことが可能ですし、先日紹介した神奈川新聞ブログ"カナロコ"でもコメントが可能です。しかし、そのコメントに的外れな意見を書く人が多いかなと思います。
昔から、2ちゃんねるでもニュースに対して意見を書き込めるようなカテゴリが存在していたので、同様の文化が今に始まったことではないと思いますが、最近になってからニュースに意見を付けられる機能を始めたサイトではどうも的外れなコメントが多いかなと感じています。
その原因として、おそらく、コメント欄を設けているサイトの多くが一般人が多くアクセスするサイトであり、専門知識を兼ね備えている人が少ないからでしょうか。

身近で経験した例でも挙げてみましょう。

神奈川新聞のブログ「カナロコ」で、京浜急行線下り横浜駅専用ホームに関する記事がございました。そこのコメント欄にある方(A氏とします)が「横浜駅の下り専用ホームの建設が遅すぎる。」という書き込みをしました、その後別の方(B氏とします)が「あのくらいの建設スピードが当然だ。」という反論をしました。その後もA氏とB氏は言い合いをしていましたが、最終的にはこれ以上話しても無駄だから書き込まないで終わっていました。
A氏とB氏の言い合いが無意味かつ無駄に終わった理由の一つは、A氏は横浜駅の工事が遅いという前提でコメントしているのに対し、B氏は横浜駅の工事の進捗は普通だという前提でコメントしていました。そして、A氏が遅いと言っている工事に対する技術的反論をB氏はしていませんでした。
そこで、私は以下のような感じの説明をコメントしました。

この件に関してキーポイントとなるのは、駅を工事するということです。
駅の工事は列車が通らない時間帯に行います。何故なら、そりゃ合計で何十トンもする鉄道が高速で通過しているときに穴を掘ったり、重要な柱を組み立てたりすることができないからです。
しかし、大きい駅になればなるほど24時間に近い稼働となります。終電と始発の間で4時間半位取れたとしても貨物列車が通過する時間帯があるため、その時間が省かれることになります。工事前の準備と片付けをする必要がある為、1日で工事できる時間は3時間程度しか取れません。
1日9時間工事可能な普通の現場に比べ、3時間程度しか取れない駅は1/3しか工事ができないことになります。即ち、工期が3倍掛かるという意味です。普通だと1年掛かる工事は3年、3年掛かる工事は9年掛かる計算になります。
その証拠として、上野駅の上に建設された遊歩道は10年掛かりで完成致しました。横浜駅のホームも1年以上掛かるのはそれを当てはめると全然おかしいことではありません。

このことをコメント欄に投稿したところ、反論は一切ございませんでした。
おそらく2ちゃんねる等の専門の人が多くいるサイトなら、別にこれだけのことを書かずに済んだことでしょう。それだけの知識が過去ログに蓄積されていますし、ある人が投稿した書き込みがさらに別の人の知識となって蓄積されていくからです。


別の話題で、新潟県中越沖地震で柏崎刈羽原発が停止したときの話を。

新潟県中越沖地震の後、IAEAの査察があったと思います。
mixiニュースでその記事が載った際に多くの方がニュース日記を書いておりましたが、その日記のほとんどが東電の悪事を暴けみたいなことしか書いていませんでした。しかし、自分はそう書けなかったのですね。

これに関してはログが残っていたのでそのまま転記します。

IAEAの調査団が来日し、柏崎の調査を行うようです。 彼らは一体何を調査しに来るのでしょうか。

私は、原発反対派ではありません。できれば推進して欲しくありませんが、原発の存在は今の生活に必要不可欠だと思っています。
だって、今ですら3割の電力を賄っている状態で、最近のような猛暑が来たときに、原子力発電が動かなかったら、生活がどうなるかお分かりでしょう。

電力量を3割下げるために、今までの電気代より何倍も高くし、大量の電力を消費する、エアコン、プラズマテレビ、ブラウン管テレビ、電子レンジなどの家電製品を購入するときには購入価格の何倍もの税金が取られ、もちろんエレベータは高層も含めて使用停止
そんな生活を強いるようになったら、ほとんどの人が原発反対しなくなるでしょう。

もちろん、原発の安全性をよく考えた上でのことですが。
だからこそ、原発を存続させるために、地震が多い日本で原発を動かすためにはどのような対策が必要なのか、それをIAEAの調査団の人に調べて貰いたいです。

調査内容が全く分かりませんが、原発の安全利用のために、IAEAの皆様には頑張って貰いたいところ。

ちょっと感情的に書いていますが、これに関しても原発反対と書いている人の反論や原発反対派の人間から反論はございませんでした。しかし、残念なことに、自分が書き込んだ後も、東電の悪事を暴けみたいなニュース日記を挙げている人は多くございました。

繰り返しますが、これが専門知識を持つような場所であればこのようなことにはならなかったと思います。
Yahoo!ニュースやmixiニュース、カナロコなどは必ずしも専門知識を兼ね備えていない一般の方がコメントをします。的外れな似たようなコメントを垂れ流すだけで終わってしまう場合が多いです。
結局そのようなサイトでニュースに意見を書き込める機能を設けることは、炎上したり荒れたりする場所を無償提供するだけで終わってしまっているんだと思います。

決して意見をするということが悪いわけではないと思うんですけどね。
そこに書き込まれた内容から新しい意見や知識を得ることがあるので。

最近話題になっている、インドで代理出産した赤ちゃんが両親の離婚により無国籍児になりかけている件は、通信社から配信された内容を日本の新聞社が恣意的、または単純に無能だから重要な理由を切り取り記事にしたので離婚した妻が必要のない大批判を浴びていましたよね。
問題の夫と妻は不妊治療をしており妻は自分の卵子を用いて夫の子を産むことを希望していた。しかし、夫は妻の反対を押し切りインド人かネパール人から提供された卵子に自分の精子を受精させ、インド人に代理出産させたということらしいです。それがショックだった妻は考えに考えの末、代理出産される前に離婚したということらしいです、代理出産は夫の独断だということを一筆書かせた上で。

これは日本の新聞社の記事を見るだけでは理解できなかったと思います。離婚する意味も分かりませんでしたしね。
そして、この件はこれだからマスゴミは...とも思ってしまいました。

ニュース記事に意見をする機能には良い点と悪い点がございますが、悪い点を克服できれば、マスコミや政府の世論操作すら対抗する強い力になると思います。
今後うまく進化してくれたら良いなと思います。

この投稿は指定日になったら自動的に投稿できるように設定されております。

Movable Typeでは「公開の状態」を「指定日」にすることができるんですね。公開する日時を設定することでその日時に投稿する事が可能です。
が、この機能を使用するには事前に設定が必要です。

アロマネット株式会社 - Movable Type で、指定日投稿機能を利用するためには
NEC 8番街 - cron の設定ガイド

cronを定期的に呼び出し、その時間以前の公開日時になっているエントリーを公開するという仕組みのようです。ですので、数分ごとにcronを呼び出すように設定しない限り、指定された公開日時にすぐに反映されるというわけではないようです。ただ、cronのジョブでは起動時間を設定できるので、Movable Typeの公開日指定機能に必要なrun-periodic-tasksを起動させる時間の直前を公開日時にしておけば大幅なズレはなくなります。
数分ごとに起動するように設定すると、サーバの負荷が大きくなりますし、だからと行って1日数回じゃあまり意味がないとのことで、現在、私は30分ごとに設定いたしました。(自宅サーバなので数分ごとでも問題ないっちゃ問題ありませんがw)

そんなわけで、投稿できるネタがあるときは1日1エントリを目標にしている私にとって非常に重宝しそうです。
cronを実行できる環境でMovable Typeを稼働している皆さん、是非活用してください( ̄∇ ̄)ノ♪

鉄道の話題に関するブログ

鉄道関係は以前より情報を収集・公開しているサイトが少ない数存在しております。
最近見つけた鉄道関係のブログについてここで公開致します。

鉄道ログ
基本的に路線別や鉄道用語別に分類されて、新聞記事等からの情報が公開されております。
写真入りで紹介されていることが多いので、鉄道関係のブログとしては頑張っている方だと思います。
残念なのが、十分な記事数がなく、スクロールバーによる移動がほとんどないカテゴリの場合、ページのヘッダが左側のメニューバーと重なってしまうことでしょうか。HTMLとCSSの順序をもう少し検討するとそのような事がなくなるとは思いますが。
また、情報量も現状では多くありません。Google アラート等を用いて情報収集すれば、かなり便利なサイトになると思います。
今後にご期待ってことで。


鉄道ブログ : カナロコ -- 神奈川新聞
神奈川新聞の鉄道の話題専用カテゴリみたいな感じです。記者が書くコラムなので、それっぽく見えますよ(何)
Yahoo!も最近になって似たようなことをやっておりますが、ブログなので記事に対して意見を述べることができます。
たまに荒れ気味のときもございます。しかし、2ちゃんねるのその話題のスレッドでは知られていることが知られていなくて、不毛な争いをしているということを何度か見かけたことがあるので、まだコメントレベルとしては参考にならない場合が多いかも知れません。


また良さそうなサイトを見つけましたら公開したいと思います(-o-)/

 あるブログで公開されてたRDFファイルの存在が何か気になりまして色々調べてみたところ、RSSというかなり便利なものであることが判明しました。
 
 RSSとは、RDF Site Summaryの略で、サイトの概要などの情報を記述できふフォーマットのことでXMLをベースにしています。普通のウェブサイトではまず使わないと思いますが、blogはRSSに対応している場合が多いようです。しかし、RSSの存在を知らない、または知っていても活用してない人は多いと思います。RSSを活用できれば、複数のblogやRSS対応のウェブサイトを巡回するときに便利になるのにこの機能を知らないのは非常にもったいないかもしれませんね。
 
 まず、RSSファイルですが、XMLで記述され、一般のブラウザで表示してもHTMLの様に表示されません。
 
 そこでInternet Explorerをお使いの方は、ソフトウェア:RSSバー for Internet Explorerをインストールしてみましょう。
 
 RSSバーをインストールすると、Internet ExplorerにRSSバーが追加されます。そこに、RSSファイルを公開しているウェブサイトのRSSファイル(多くの場合RDFやXMLという拡張子になってるようです)を登録すると、そのサイトに登録された最近の記事の概要が見られるようになります。
 
 DigitalStyleRSSとは何か?にて、ここの記事より更に掘り下げてRSSファイルについて、さらにRSS対応のウェブサイトの探し方について紹介しています。
 
 この記事を書くにあたり当blogも、システム上存在はしていましたが、トップページのリンクとして公開していなかったRSSファイルを公開いたしました。RSSバー for Internet Explorerを導入した際には、当blogのRSSファイルの登録を是非ともお願いします。
 
 RSSを活用してより良いblogライフを!

祝Weblog開設

 先日から色々調べまして、やっとWeblogなるものを開設することが出来ました。
 
古典風に言えば「皆がすなるWeblogというものを開設してみた」(謎)
ちなみに古典の成績は限りなく0に収束していたような気がする(ぇ?