homeホームHTMLに役立つヒント> MACでperl

MACでperl 


■ 目次 ■


●MACでperlを動かそう! ▲ページトップ

 手元のMacintoshでperlが動いたらなぁとか、思ったことないですか? 僕は自分でデータベース系のホームページを作ってるせいか、できれば手元でhtmlファイルを検索したり、perlスクリプトを作成したい、なんてことを思っちゃったもんで、「MACでperlできる」ことがわかった瞬間、やってました(^_^)

 ただし、ここで説明しているのはOS X以前のOSについての説明です。OS Xでは本物のUNIX Perlが動きます。詳しくは「MAC OS X Darwin Tips」を参照してください。

 ちなみにOS Xでは、perlは「/usr/bin/perl/」にver.5.6.0が入っています。

大事なお断り:ここで説明しているのはスタンドアローンのサーバーの建て方で、LANやインターネットなど外にでていく場合は一部当てはまりません(TCP/IPの設定)。


●作業手順 ▲ページトップ

 簡単です。次の二つの手順を踏むだけです。

  1. MACをWEBサーバにする
     OS8.0以降が必要。TCP/IPを設定すればそれでほとんど完成。

  2. MacPerlをインストールする
     MacPerlをダウンロードして解凍するだけ。

 両方の作業時間はMacPerlのダウンロード時間を除いて3分程度です。初めての人でも下の手順を一つずつ踏めば10分で大丈夫。すんごく簡単。


WEB共有MACをWEBサーバにする ▲ページトップ

・その1 TCP/IPを確認する

 今時、ダイヤルアップか常時接続かは別として、インターネットに接続されていないマシンというのはないと思います。そのままの設定でもいいんですが、インターネットに接続できる設定のままだと、全世界にそのまま公開されちゃいます。

 そこでローカルサーバ専用の設定を作ります。コントロールパネルからTCP/IPを開いて、なんでもいいので設定を複製します。

設定を複製

 ここでは「MACでWWW」という名前で経由をEthernet、手入力で、IPアドレスを「127.0.0.1」に指定します。

ローカルアドレスを設定

・その2 WEB共有する

 コントロールパネルから「WEB共有」を開く。これはOS8.0から付属するようになった。開いたらWeb共有の「開始」ボタンを押すだけ。
 このとき解放される(WEBサーバとして外から見ることができる)領域は、デフォルトでは内蔵ハードディスク直下にある「Webページ」の中である(下図では「penguin-G3:penguins:」になっているが、これは僕が変更したから)。この下にアクセスしたいフォルダ/ファイルを入れてもいいが、下図の「webページ」にある選択ボタンでアクセスを許可するフォルダは自由に設定できる。
 また、「編集→Web 共有初期設定」で「Webフォルダの外にある項目をエイリアスで開くことができる」をチェックすると、アクセスを許可したフォルダの下にエイリアスを置くだけでアクセスが可能となる。

web共有画面

 以上でMACはローカルWebサーバに変身する。自分で自分のサーバにアクセスするだけですけどね。
 試しにブラウザを起動して、「http://127.0.0.1」にアクセスしてみてください(127.0.0.1は自分自身を示す特別なアドレスなんです)。「Webページ」内のhtmlファイルが表示されるはずです。

 なお、下の方法でperlは動くのでcgiは使えるようになりますが、Web共有にはSSI(サーバー・サイド・インクルード)の機能はありません。カウンタなどは動かないということですね。

 詳しい解説があなたのMACの「webページ」フォルダの中にもあります。ご一読ください。


MACperlアイコンMacPerlをインストール ▲ページトップ

 これは簡単。次のURLからダウンロードします。長い間バージョンは5.2.0r4で足踏みしていましたが、2002/3に5.6.1r1がリリースされました。_web.binと_full.binがありますが、fullの方はソースや開発関係のファイルまで含んでいますので、通常は_web.binの方をダウンします。

 http://sourceforge.net/project/showfiles.php?group_id=7940

 ダウンロードしたら、StuffIt Expanderで解凍します。

 5.2.0r4ではこれだけでOKでしたが、5.6xではインストーラーがでてきます。インストーラーをダブルクリックするとインストールが始まります。このとき、インストーラーはwebからデータをダウンしてきますので、インターネットに接続している必要があります。ISDNで約5分程度、ADSLで1分程度です。

 MakPerlはアプリケーションなので、普通のMACのアプリケーションと同様、ハードディスクのどこにあってもかまいません。適当なところに置いてください。
 インストールはこれで終了です。

 ver.5.6xでは最初からCPANも組み込まれており(使い方も簡単で、tar.gzファイルをDroplets/installmeにドラッグ&ドロップするだけ)、jcode.plもJcode.pmも組み込み済みで配布されています。安定板としてはこのバージョンがもっとも手間いらずでしょう。

 ver.5.8はまだα版で(2005/10現在)、a2が配布されています。


MACperlアイコンMacPerlでスクリプトを動かすには ▲ページトップ

 実はMACperlでperlスクリプトを動かすには一つだけやらなくてはいけない作業があります。perlスクリプトはただのテキストファイルですが、これをMacPerlで実行できる「実行ファイル」に変換して保存してやらなくてはいけません。

 やり方は簡単で、perlスクリプトをMacPerlで開いて、「File→ Save As...」で保存し直します。このとき「Type」を「CGI Script」に指定するだけです。
 ただし、改行コードの方は必ず「CR」である必要があります。

 実はMacPerlでは漢字コードがEUCでもSJISでも関係なく動作します。上の図ではEUCファイルを保存し直しているところです。ただし、MacPerl上ではEUCファイルは文字化けします。動作には問題ありません。


MACperlアイコンUNIX perlは動かない ▲ページトップ

 UNIXサーバ向けに作られたperlスクリプトは、たいていそのままでは動きません。MAC perlに方言があるためです。

 とくにパスまわりの方言は深刻で、改造するのはこのあたりが難しいです。最初からMACperl向けに開発したものが無難です。

 また、OS Xであれば、もともとUNIXシステムですから、改造の必要もなく、そのまま動きます。


●役立つリンク ▲ページトップ

 他に役立ちそうなところを記しておきます。

・Web共有、MacPerl関係
 ■Mac OS Web 共有へようこそ アップルのWeb共有開発者の解説ページ
 ■MacFan -- OS 8のWeb共有を使う サーバの立ち上げ
 ■Making your Mac a WWW Server 本格サーバに仕立てる方法
  UNIX perlとMAC perlの違いは田中求之さんの「CGI Programming with MacPerl」が秀逸。
 ■亀屋webサーバー サーバの立ち上げ
 ●MACでCGIのテスト サーバの立ち上げとperl
 ●MACサーバの立ち上げ サーバの立ち上げとperl
 ●MACで簡単マイサーバ FTPサーバにする方法もあり。Wood Lingo Clubさんのページ。
 ●超簡単 MacのローカルでCGI Toshiyuki Moriさんのページ。トップは「とむねこのページ」。
 ●Macで作るInternet Servers 本格サーバに仕立てる方法
 ■PamuPerl Macperlと自作スクリプト
 ■MacJPerl 五 こちらはMacJperlのページ。MacPerlとは違います。

・ツール関係
 ■Mac nkf ドラッグ・&・ドロップで漢字コードをEUC/SJIS/JIS、改行コードをCR/LF/CR+LFに自由に変換できるユーティリティ
 ■ミミカキエディット EUC/SJIS/JIS、CR/LF/CR+LFのテキストファイルを編集できるテキストエディタ。フリーウェア。
 ■Jedit EUC/SJIS/JIS、CR/LF/CR+LFのテキストファイルを編集できる超有名テキストエディタ。シェアウェア。OS X対応。