Under Construction Blogでタグ「Movable Type」が付けられているもの

Mac OS X Snow Leopard 10.6.1のローカル環境

(2009年10月24日 15:05) |

XAMPP + MacPortsでMovable Typeをインストール

かなり躓いたので、備忘録的な意味合いを込めて、今回はMac OS Xでのローカル環境設定に関してのエントリ。


実態はよくわからないが、Mac OS Xでのローカル環境構築はMAMPを活用されている方が大多数なのではないだろうか?ご多分に漏れず、嘗ては私もMAMPの愛用者だった。

しかしながら、Tigerを使用していたときにこのMAMPインストールを行ったため、互換性を確認をせずにLeopardへアップデートしてしまい使用出来ない状態となった。(これ以降Mac OS Xアップデート時にローカル環境の互換性は事前確認の必須事項となっている)

その後、今年前半あたりから諸事情によりXAMPP Mac OS X版使用開始する。使い始めて現在に至るまで、LeopardからSnow Leopardへのアップデートを行った後も問題なく動作している。また、WordPressに関しては比較的短時間で問題なくテスト環境を構築することが出来た。

そして、一連のテスト環境の構築の一環としてMovableTypeをインストールする必要があったため早速対応した次第だ。

そもそも、躓いた要因は専用サーバ上でのMovable Type設置を行った際にもそうだったように、perlの必要モジュールをどのように入手し、使用するべきかを理解していないところに問題はあった。

そして、今回失敗の中から学んだことはMacPortsを利用した必要なモジュールをMac OS Xローカル環境下でいかにインストールし、使用できるようにするかだった。

特にPerlからMySQLに接続する(DBD::mysql)をインストールすること、及び、画像を操作したり表示したりするためのソフトウェアスイートであるImageMagickに関しては、両者とも専用サーバにインストールするほどの苦労は無かったもののやはりかなり手こずったのでメモしておきたい。

1. XCodeとX11をインストール
PerlモジュールであるところのDBD::mysqlをインストールするためには、ソースコンパイルの必要があるが、Mac OS Xデフォルト状態ではコンパイルをする環境は存在しない。

そこで、ソースコンパイルを行うためにXCodeとX11をインストールする必要が有る。

XCodeのインストール方法は、Mac本体を購入した際に同梱されている「Mac OS X Install DVD」あるいは、最新版インストールを希望する場合はApple Developer Connection (ADC) の Download Xcodeからインストール可能。

参考URL → ちょっと便利かも / 開発環境(Xcode)をインストールする

2. MacPortsのインストール(2009年10月24日現在)
状況に応じたフォーマットを用意しているが、今回は

The MacPorts Project -- Download & Installation

から、Mac OS X Package (.pkg) Installer(MacPorts-1.8.1-10.6-SnowLeopard.dmg)を選択した。

3. Terminal
以下のコマンド入力はsuでrootになっている事を前提としている。

MacPorts設定及び初期化


# echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc  
# echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc  
# echo 'source ~/.bashrc' >> ~/.bash_profile  
# port -d selfupdate  
# port -d sync 

ImageMagickとPerlMagickインストール


# port install ImageMagick +perl  

DB関連モジュールのインストール


# port install p5-dbd-mysql

PerlのパスをMacPortsのインストールディレクトリへ変更
肝心要のパス変更


# cd /usr/bin/ 
# mv perl perl.bak
# ln -s /opt/local/bin/perl /usr/bin/perl 

このシンボリックリンクなくしてperlモジュールの動作はない点を十分に注意する。

以上が大まかな流れとなる。不足した部分に関しては必要に応じて後ほど補足したい。

Movable Type 5 Beta 3をインストール

(2009年10月 8日 19:39) |

「 Be prepared (そなえよつねに)」とは、ボーイスカウトのモットーだが、確かにその通りだと今日実感する。

結論から言うと、バタバタしている間に後れを取っていたMovable Type 5β版の検証をやっと、Movable Type 5 Beta 3がリリースされた昨日インストール及び検証を開始することが出来た。

それが出来たのは、先日のエントリ「Movable Type 5の準備を行う」にて下準備を行っていたからで、この下準備がなければMovable Type 5 Betaに着手できていなかった。

結局現時点では、新しくmysqlにデータベースを作成してインストール(アップデートではなく)を行った。

それならば、先日のエントリとの関連性はなんだという話だが、先日Movable Type 4.123から、Movable Type 4.261へアップデートして色々な不具合と遭遇して、例えば今回のようなメジャーアップデート(Movable Type 4から5へと言う意味)を行う際にどのような問題があるか(特に今までのテンプレートやプラグインなどが資産として活用できるか否か)それを検証せずして、勇み足でアップデートなどをしてしまうと解決不能な不具合が生じて修復不可能となる可能性は極めて高い。このように、事前に想定できる問題点を徹底的に検証していくのは、とても重要なことであると認識している。

正に、備えあれば憂い無しである。

さあ、Movable Type 4を活用したCMSの納品が近くなった今、将来的な拡張性を視野に入れてMovable Type 5を最大限に活用すべく日々検証の実施を行っていきたい。

先日Movable Type 4.123からMovable Type 4.261へアップデートを行った際、アップデート後一番焦ったのが「MTEntriesコンテナタグの外部で使っていませんか?」

Movable Type 4.123を使用していた際には、この様なエラーが出た試しはなかったので最初は何が原因かわからず慌てましたが、Google先生に聞いてみると、まずは本家本元のmovabletype.jpのQ&Aに問題解決方法が掲載されています。

しかし、そもそもコンテキストとは、何なのかという問題が解決されないなと更に問題解決方法を探していると

Movable Type の再構築エラー(コンテキスト外での利用)を解析方法

と、言ういつも色々教えていただいている小粋空間さんのサイトへ行き着くこととなる。

具体的なエラーメッセージは下記のようなものだったが...

Movable Type 5の準備を行う

(2009年10月 2日 11:43) |

Movable Type 5の登場が間近に迫っている。
と、言う事でMovable Type 4.123から前に進めていない体たらくを反省し、現行安定バージョンMovable Type 4.261へアップデートする事にした。

以下はその過程、問題点と、その解決方法についての備忘録。
定石的には、次の各オフィシャルページのマニュアルを参照
Movable Type 4.2 へのアップグレード
Movable Type アップグレードガイド
ブログの完全バックアップと、データベースのバックアップ

基本的には、アップデートの方法として大きな変化があったわけではないが、データベースのバックアップに関しては、phpMyAdminを使用して行った。もちろん、mysqldumpのコマンドを使ってCUIでバックアップもありだが、今回は日頃使用しないphpMyAdminでのバックアップ方法にてバックアップを行った。

その手順としては、
1. 左端プルダウンメニュー(データベース...)からバックアップを行うデータベースを選択する
2. 最上部表記のサーバ名とデータベース名を確認
3. そのすぐ下の部分構造から始まるタブメニュー群よりエクスポートを選択
4. DB のダンプ(スキーマ)表示の中から、まず左部分エキスポートで全選択 / 全解放から全選択を選択し、ラジオボタンでSQLが選択されていることを確認する
5. 次に右部分SQL オプションでは必要に応じて「ヘッダーへカスタムコメントを追加 (\n で改行): 」部分へ注釈或いは備考を記入、その他の部分に関してはデフォルト値を使用した
6. 最後に、下部分のファイルでチェックボックス → 保存するにチェックを入れ、「 ファイル名のテンプレート: 」へ任意の文字列を入れ最下部の実行をクリックする(今回は圧縮はしないこととした)

このUnder Construction Blogは、当初のアドレス
http://kingharvest.info/log
から
http://kingharvest.info/
へ、本日より変更。

某クライアントより、「サイト全体をMovable Typeで運用できます? 」との要望を受け、以前から試作的にやってみようと思っていたドメイン直下でのMovable Type運用にようやく着手。

このことは、ずっと以前からの懸案課題だったが、実際に管理画面より
設定→ブログの設定→公開
公開設定→公開パスのサイトURLの右側にある鍵のアイコンをクリックし公開URLを入力し、且つサイトパスを変更するだけなのだが、この鍵をクリックすると「警告: サイトURLを変更するとブログ内の全てのリンクがリンク切れとなることがあります。」とのメッセージが表示され、これを読んだ時点で設定変更を躊躇していたというのが正直なところではあったが、そうも言ってられないので、まずは、環境を元の状態へ戻せるようにバックアップを行いチャレンジした。

案の定、問題が発生しそれらの原因を確認。
問題を切り分けると
1.スタイルシートを読み込んでいない
2.画像がリンク切れとなる

その問題解決としては、
1.スタイルシートを読み込んでいない
の解決は、サイトURLとサイトパスを対応させること。
(問題発生はサイトパスの設定を元の設定より変更していないことに起因していた)
2.画像のリンク切れ
パスの変更は適切の行われても、画像がリンク切れとなる。これは当然と言えば当然なのだが、画像設定は、各エントリーを行う際にアップロードを行っているわけで、そのアップロードを行った先のパスはそのまま残っている訳である。
幸い、このブログのエントリー数は知れているので、手動にてパスの変更を行い問題を解決。

以上の問題解決方法を講じることにより、無事アドレス変更は完了した。
考察としては、厄介なのは画像のリンク切れである。たまたま、エントリー数が少なかったので、数えるほどの修正で終えることが出来たが、エントリー数が多い場合はテキストエディタなどを利用した一括置き換えなどの方法はあり得るとは思うが、基本的には、途中で変更をするのではなく、最初の基本設計の段階で拡張・改善しつづけらられるWebサイトにしておくことが肝要であると言える。

リッチテキストによる文字の直接編集

(2008年6月 9日 14:34) |
W3C Markup Validation Service Errors 6月6日のエントリーで「リッチテキストで文字を直接編集できるのはありがたいことです。」と述べるも、その次6月7日に投稿したエントリ「アイテムにサムネールが表示されない」を投稿後にW3C Markup Validation Serviceにてその正当性を確認したところ写真にあるとおり80のエラーが出た。 しかしながら、約1時間修正を試み下記の如く、W3C Markup Validation Serviceにてその正当性を確認。しかし、時間掛かりすぎ。リッチテキストの効率的な利用方法は今後の課題。 20080609_W3C Markup Validation Passed validation

アイテムにサムネールが表示されない

(2008年6月 7日 16:21) |
20080607_trouble_00.png

早速トラブル発生。本来エントリーを画像入りで投稿した場合表示されるはずのアイテムの箇所にサムネールが表示されない。(写真左は表示されなかった投稿写真のサムネール)

MTタグをチェックしてもデフォルトで問題ない様子。MTといえばperl。perlでサムネール表示といえばImage::Magick。以前フォームメールで画像を送付する仕組みを作ったときもこのImage::Magickがインストールされていなかったことが原因でうまく動作しなかったことを思い出し、早速「システム情報」をチェック。

案の定「サーバーに Image::Magickか、Image::Magickの動作に必要な他のモジュールがインストールされていません。 アップロードした画像のサムネイルを作成する場合に必要となります。 Image::Magickのインストールはインストールマニュアルに沿って行ってください。」との事。

早速FreeBSDのインストールというサイトを参照して以下を実行


 # cd /usr/ports/graphics/ImageMagick
 # make clean
 # make install clean


しかしながら、portsのアップデートが必要との下記メッセージが表示される。


 => Please update your ports tree and try again.


というわけで、portsのアップデートを試みる。辿り着いたのは「FreeBSD - portsのアップデート」以前からブックマークしている「Linuxで自宅サーバ構築・管理: KSKNET」というサイトの中にその方法は記載されていた。portsのアップデートにはcvsupが必要とのことなので、まずcvsupをインストール。これが又時間がかかる作業である。実に。約小一時間は優に掛かっただろうか!?


 # cd /usr/ports/net/cvsup-without-gui
 # make install clean


やっとの事で、以下のメッセージが125000行を超えた辺りで表示される。


 Shutting down connection to server 
 Finished successfully


ここで、振り出しに戻り以下のコマンドを再度実行


 # cd /usr/ports/graphics/ImageMagick
 # make clean
 # make install clean


何だ、意外と簡単に出来るではないか!?」と、ほくそ笑んだのも束の間。


 # cd /usr/ports/graphics/ImageMagick
 # make clean
 # make install clean
On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting  X11BASE=${LOCALBASE} in make.conf. On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE.
*** Error code 1
Stop.


上記の様なエラーが出る。ここから暫くの間迷走する事となる。

ここで、救済の手を差し伸べてくれたのは何と南インドのPalakkad在住と思われる
Mr. Mohammed Abdurahiman. N.V

流石二桁九九をこなす国。

この問題に関しての解決方法は、エラーメッセージにあるように

X11BASE=${LOCALBASE}

という行を

/etc/make.conf

vi等のエディタで編集追加するだけであった。

そして、三度目の正直で再度以下のコマンドを実行


# cd /usr/ports/graphics/ImageMagick
# make clean
# make install clean


やっとの事でインストールが完了する。

そして、アイテムの箇所に表示されていなかったサムネールも下記のように無事表示されるようになった。

20080608_trouble_00.png

やっと出来ました!!

(2008年6月 5日 21:12) |
後れをとっていたMovable Type4の設定を専用サーバでついに実現できました。