作成開始 : 平成23年07月31日(日) 最終更新 : 平成23年08月02日(火)

Perl のインストール (Puppy Linux)


Webサーバーとして monkey をインストールし html ファイルはちゃんと実行できることを確認しました。
次は動的ページの1つとして Perl スクリプトを設置してみます。
もちろん、monkey.conf には以下を書いています。

Server_ScriptAlias /cgi-bin/ /InetPub/cgi-bin

1.実行の確認

簡単な文を作成し、test.cgi として実行してみました。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "\n";
print "test\n";
print "\n";
そして、ブラウザで確認すると test と表示されました。
しかし、掲示板のスクリプトを設置してパーミッションとかも設定し実行してみると、IE8では「利用できないを表示」、Firefoxでは「真っ白な画面を表示」になってしまいました。
ちなみに、perl -v としてみるとインストールはされているようです。
検索してみると、どうやら別にモジュールをインストールする必要があるようです。

2.モジュールのインストール

「メニュー」→「セットアップ」→「Puppyパッケージマネージャ」により「PETgetパッケージマネジャ」を起動します。

 ↑
せっかくなので「Perl-5.8.8 full perl package」をクリックしインストールします。

 ↑
「perl-5.8.8 をインストール」をクリックします。

 ↑
「パッケージをダウンロード」をクリックします。

 ↑
ダウンロードが始まります。

 ↑
「OK」をクリックします。

 ↑
「OK」をクリックします。

 ↑
インストールされましたね。「パッケージマネージャの終了」をクリックして終了します。

3.動作の確認

簡単に設置できそうな掲示板のようなのを使って動作確認してみます。
 ↓
実際に当サイトの「駅伝言板風掲示板」を設置してみましたが、IE8では「利用できないを表示」、Firefoxでは「真っ白な画面を表示」になってしまいました。
ログファイルでは正しく実行しているように見えるしエラーログにもエラーはありません。
簡単なスクリプトだと実行します。
不思議です。

4.その他

結果として CGI スクリプトを表示させるだけだと、前記でやったモジュールの追加はいらないようです。
そう思ってインストールした perl-5.8.8 full perl package を削除したら perl -v で command not found になってしまいました。
ディフォルトで入っていたものまで削除されてしまったようです。

perl_tiny-5.8.8-pup4 をインストールしなおしたら無事に perl -v でバージョン情報を表示しました。
どうやら、これが元から入っていたもののようです。

平成23年08月02日(火) 追記

Server_ScriptAlias /cgi-bin/ /CGI実行ディレクトリ に指定したディレクトリでは ソース内でIMG SRC を使うと正しく動作しないことがわかりました。
それは、CGIスクリプトだけでなく html の中で単に IMG SRC を使っただけでも正しく画像を表示しないで「利用できないを表示」になってしまいます。
画像のディレクトリをドキュメントルート以下にしても同じです。
また、他のサイトにある画像を IMG SRC してもそうです。
これでは、BBSやフォームを設定して使えないですね。

戻る

サイトトップへ