XAMPPとperlパスを調整してCGI(MT)を動かす+Windows ジャンクション
[Tags]: CGI, Movabletype, server, windows, XAMPP
ロ ーカルサーバーとしてずいぶん名前が広がってきた感がするXAMPPですが、これでperlまでのパスを書き換えずにCGIを動作させる時にちょっと引っかかってしまったので、そのひとつの対処策になります。
広範なものではなくって、局所的対処法です。
- WindowsでXAMPPのとき
- CGIファイルの関連付けがうまくいかないとき
- CGIファイルに書かれてるperlパスを修正したくないとき
- 題材のCGIとして「Movabletype」
- HDDのファイルシステムがNTFSであるとき
XAMPP利用の流れ
- XAMPPをDLしてインストールする
- perlのアドオンを加える
- .htaccessでセキュリティ設定
- PHPのini設定(mbstring)
- perlの関連付け
この辺りまではいろんな方々が解説して下さってます。勉強になるし助かりますよね。
ここで特に取り上げるのは「5」です。
CGIファイルが何らかのトラブルによって、ファイルの関連付けする事が出来ないとき。
ファイルの関連付けが出来ないと具体的にどんなになるかというと、先ず、CGIファイルのperlパスをひとつひとつ全て書き換えないといけない事になります。
例えばMTのCGIファイルには
「#!/usr/bin/perl -w」のが書かれてるのですが、これを
「#!/xampp/perl/bin/perl -w」と書き直して、perlまでのパスを指定してあげないといけないわけです。
(※上記はドライブのトップレベルにXAMPP入れた場合)
mt-check.cgiを試しに書き換えてみて、これが動けばつまりその状態です。
なので、これ(ファイルを書き換えなくて済むようにする)を解消する為に「ファイルの関連付け」を行います。
- CGIファイルのプロパティを開く
- 「変更」ボタンを押して「参照」に入る
- XAMPPに入ってるperlまでを指定する
- 「xampp\perl\bin\perl.exe」こんな記述までを指定
たいていは上記までで完結するかと思います。
ファイルの関連付け出来ない
。。。困りました。関連付けをやってみてもうまくいかない。
クリアにやり直そうと思ってCGIの関連付けそのものを消して新にやろうとしたら設定が残らない。
perlそのものをXAMPPとは別に入れてみて関連付け復活を期待してみるもののやはりダメ。
そんな状況に陥ってしまった時です。
Windowsのシンボリックリンクとはジャンクションの事です。NTFSには本来、シンボリックリンクと同等なジャンクションの機能がありますが、ジャンクションを作るには特別なツールを使う必要があります。Windowsでフォルダのジャンクションを作成すると、リンク先フォルダ(ジャンクション)のプロパティ表示に、[シンボリックリンク]タブが現れます。
すいませんが詳しい解説は上記引用先を。
もとにあるディレクトリ構造やファイルの性質を保持したものを、別の箇所に持って来る事が出来るって感じに思って貰えたら良いのかな・・・。そんな風にとりあえず思って下さい。
そして、それを簡単に実現してくれるソフトをひとつ導入。
■リンク作成シェル拡張for Windows 2000/XP(WindowsNT/2000/XP / ユーティリティ)
インストール後の使い方は、ファイルやディレクトリを右クリックしたままどっかの別の箇所に持って行きます(同一ドライブ内)。
そこでドラッグ解除すると「リンクを作る」って項目が出て来るので、それを選択する事でジャンクションが作成されます。
ここで改めて注意。
- ファイルシステムがNTFSである
- ジャンクション作成は同一ドライブ(HDD)内で
追記:2007/06/28 00:18:49
■NTFS Utils 詳細情報
では話をXAMPPに戻して一気に例です。
XAMPPをDドライブ直下に入れてる場合の事例。
- D:/xampp/perl/ (XAMPPに入ってるperlディレクトリ)を右クリックしたままD直下に持って行く
- 「リンクを作成」する・・・ジャンクション作成
- D:/perl が出来たら、それを D:/usr/ にリネームする
ここまで出来たら、XAMPPを起動させて試しにmt-check.cgiを動かしてみましょう。稼動すれば解決です。
CGIファイルのperlパスを書き換える事無く、思う存分にMTを楽しむ事が出来ます。
あとがき
XSASの場合にはなぜジャンクション不要なのか?というのには仮想ドライブ・仮想ディレクトリって言葉がヒントかもです。
やってる事が似てるからかもしれません。なので、ジャンクションでなくとも仮想ドライブ辺りでも同様に解決可能な気がします。
それで、XSASの2パターン(perl5.6と5.8)共にダメだったMT4の稼動成功です。こっちではEC-CUBE等、XSASで(私の技量では)動かせないプログラムも動いてくれるので非常に良いのです。
[参考資料]
■XAMPP/5.Perlのインストール - Ground-SunLight
■Apache2/5.httpd.confの編集 - Ground-SunLight
■XAMPP - 青海波@Tokyoblog PukiWiki Plus!
追記:2007/06/27 01:11:12
- xamppもperlアドオンもzip版で入れる
- ジャンクション作成するusrディレクトリをxampp内に作成
- 仮想ドライブでxamppディレクトリを仮想化する
こんな風にするとサーバー環境を単一のディレクトリ内に収める事が出来ますね。
■OrnitySoftware
関連性の高いエントリー(タグ抽出)
- 2007/06/30:XAMPPで動かしてるPerlの不足モジュールをインストールする
- 2006/12/17:サーバー環境を作る XAMPP 1.5.4-修正内容版
- 2007/03/25:VALUE-DOMAIN の無料サーバーを利用してみる(in MT)
- 2007/01/26:XSAS+MovabletypeでFastCGIしてみた件
- 2006/11/10:サーバー環境を作る XAMPP 1.5.4
Trackback (1)
» MTをローカルで動かす by XAMPP from うかブログ
カズヲさんがMTをローカルで動かすようにした記事を読んでウチでもやってみよっかなーと漠然と思ってたんですが、昨日深夜、突如思い立って実装してみました。... [記事の続きへ]
Comments List (0)
コメント記入欄
「管理者にだけコメントを公開する」にチェックマークを入れた場合、
投稿後の画面は「コメント保留画面」になります。
HTMLは使えません。
このサイトのブックマークされた人気エントリー
- (14):サーバー環境を作る XAMPP 1.5.4-修正内容版
- (6):USBメモリから起動出来るポータブル環境を整えてみる-PortableApps.com
- (4):Scuttleの仕様をちょっと変えてサムネイル表示に。
- (3):Tagwireプラグインを改造して、キーワードとタグ機能を同時に使えるようにする
- (3):サイト内検索を見直してみる(suggest + blog_ajax_json_search)
- (2):Movabletypeのエントリーを、自動でmixiに投稿する
- (2):サーバー環境を作る XSAS Plain JP with Movabletype(1) ActivePerl5.8
- (2):SSL非対応メーラー(EdMax)のSSL化[Gmail編]
- (2):XAMPPとperlパスを調整してCGI(MT)を動かす+Windows ジャンクション
- (2):Twitter をもう少しより楽しんでみる - コマンドとか連携とか