Windows上で「#!usr/bin/perl -w」のままMovable Typeを利用する
今年6月に発売した、「MovableTypeによる実用サイト構築術」から、一部の技術Tipsを抜き出してご紹介します。
今回は、テスト環境としてよく使われる、Xammp環境を前提に考えてみます。
ジャンクション機能を使ってシンボリックリンクを貼る
Windows上にインストールしたXAMPPでMovable Typeを動かすときに、一般的には、Perlの実行環境へのパスを変更する必要がありました。
XAMPPがCドライブのルートディレクトリにインストールされている場合、Perlの実行環境へのパスは以下のようになります。
この場合、通常のPerlの実行パス設定
#!/usr/bin/perl -wは、 #!c:\xampp\perl\bin\perl -w
#!c:/xampp/perl/bin/perl -w もしくは#!/xampp/perl/bin/perl -wと書き換える必要がありました。
この場合、XAMPPで作成した開発環境からLinux上で動くウェブサーバーにシステムを移行する際に、再びPerlのパスを書き換える必要があるので少々面倒です。
Windowsの機能のひとつ「ジャンクション」を利用して、Linuxで言うところの「シンボリックリンク」を作成すれば、いちいちPerlのパスを書き換える必要がなくなります。
ジャンクションの機能は、Windows7のコマンドプロンプトから設定が可能です。[スタート]ボタンをクリックした後、「プログラムとファイルの検索」欄に「cmd」と入力し、コマンドプロンプト画面を呼び出します。![]()
コマンドプロンプト画面が表示されたら、ジャンクションの設定を行うために
rmlink /j c:\usr c:\xampp\perl
と入力します。
「......のジャンクションが作成されました」と表示されたら、処理は完了です。
C:\usrというディレクトリへのアクセスは、C:\xampp\perlへのアクセスと同等なものと認識されます。このため、
#!usr/bin/perl -w
という実行環境へのパスの情報は
#!/xampp/perl/bin/perl -w
と同じとなり、Movable TypeのCGIファイルを書き換えなくても実行が可能となります。
なお、ジャンクションの作成は、ファイルフォーマットがNTFS形式の場合に有効となります。
また、Vista、7はmklinkのコマンドが使えますが、XP以前のWindowsでは、別途ジャンクションを作成するソフトウェア等が必要になることがありますので、ご注意ください

コメントする