• 締切済み

Perlのインストールについて

初歩の質問で申し訳ないのですが、Perlのインストールがうまくいかないのでお助け願います。 まずapache_2.0.59-win32-x86-no_sslをダウンロードし テストページ http://localhost/ にアクセスしたところきちんとテストページが表示されました。 次にActivePerl-5.8.8.819-MSWin32-x86-267479をダウンロードしhttpdファイルの Options Indexes FollowSymLinks → Options FollowSymLinks ExecCGI # DefaultLanguage nl → DefaultLanguage ja LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW → LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW #AddHandler cgi-script .cgi → AddHandler cgi-script.cgi .pl と変更し上書き保存したあとapache2のRestarをクリック。 次にC:Apache2\htdocsに 『 #!C:/Perl/bin/perl print "Content-type: text/html\n\n"; print "Arehiro"; 』 という内容のテキストファイルで作成しindex.cgiと名をつけて保存しました。 そしてそのあと『http://localhost/index.cgi』にアクセスしたところテストページは表示されず、HTTP 404 - ファイル未検出のエラーとなってしまいます。 原因としては何が考えられるでしょうか?

  • Perl
  • 回答数1
  • ありがとう数0

みんなの回答

回答No.1

まずは logs\error.log を確認してください。 それでも判らなければ、本当にその場所に実在しているか確認します  それには一時的にディレクトリ一覧させてみると判り易いです Options に Indexes を追加し DirectoryIndexに該当するfile名を変えるか(index.html=>Bindex.htmlなどと)  逆にhttpd.confを変えるか(DirectoryIndex index.html=> DirectoryIndex TESTindex.htmlなどと) これでApacheをrestartしたら http://localhost/ にアクセスすると ドキュメントルート内のfile一覧が表示されるはずですが  そこに index.cgi が有るか確認してください。

関連するQ&A

  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 AddHandler cgi-script .cgi .plに変更。 exec cmdをHTMLファイルに埋め込みました。 <!--#exec cmd="/PROGRA~1/APACHE~1/Apache2.2/cgi-bin/counter.pl counter"--> インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ   AddType text/html .shtml と   AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。エラーログには ”指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml” と記録されていました。 どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくおねがいします。

    • 締切済み
    • CGI
  • DebinaのOSでapache2の設定の仕方

    LennyのOSにapache2(2.6.26.2-686)をインストールしたのですが、/etc/apache2/apache2.configの内容がetchの場合と少し違うようです。 EtchのOSの場合は 1. ServerTokens Full → ProductOnly 2. ServerSignature On → Off 3. LanguagePriority en ca cs da ・・・ → ja en ・・・・zh-TW または jaとen のみ 4 #AddHandler cgi-script .cgi → #アンコメントしてAddHandler cgi-script .cgi .pl  http://ameblo.jp/my-ameba/entry-10032177876.html のようですが、2.6.26.2-686には上記の記述がありません。 エラードキュメントで必要になるmod_alias, mod_include and mod_negotiationを始動させるときに30行をuncomentしろとの1行に LanguagePriority en cs de es fr it nl sv pt-br ro とあるが、Webサイトそのもの言語と言うわけでないような気がします。 上記の変更を、手打ちで適当な場所に打てば、解決するのか、それとも他のファイルで調整をするのか、わかる方ご教授をお願いします。

  • apache2.2 文字化け

    apche2.2.9をインストールし、簡単なHTMLを用意しアクセスしようとしたところ、文字化けしてしまいました。IEのエンコードを「日本語(EUC)」に変更すると、直るのですが、どこを修正したらよいでしょうか。宜しくお願いいたします。 各種設定は以下の通りとなります。 ■httpd-languages.conf DefaultLanguage ja LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw ■httpd.conf #Language settings Include conf/extra/httpd-languages.conf ■test1.html <html> <head> <title>タイトル</title> </head> テストページ </html>

  • PHP Install後におけるhttpd.confの書換が完了できない

    ローカルマシンのWin2000上にPHPとMySQLを動作させようとしていますが、Apache_2.0.45のインストール後にPHP-4.3.2をインストールしてからの、Apacheのソフトウェア内の「httpd.conf」ファイルの書換が何度確認してもうまくいきません。 [1]503行目付近 ScriptAlias /cgi-bin/ "D:/Softwares/Apache_2.0.45/Apache2/cgi-bin/" の行の後に ScriptAlias /php/ "D:/Softwares/Apache_2.0.45/Apache2/htdocs/" と続けて入れた(もちろんパスは合致)。 書籍には「ScriptAlias /php/ "C:/PHP/"」と入れるようにあったが、それではうまくいかなかったので、上記のようにした。 [2]755行目付近 AddType image/x-icon .ico とあるところに続けて、 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps と入れた(書籍通り) [3]797行目付近 # Format: Action handler-name /cgi-script/location # とあるところの次に Action application/x-httpd-php /php/php.exe と入れた(書籍通り)。ちなみに、 Action application/x-httpd-php /PHP-4.3.2/php.exe ともやってみたがダメだった。 [4]314行目付近(任意とあった) DirectoryIndex index.html index.html.var とある次に続けて、 DirectoryIndex index.htm DirectoryIndex index.php と入れた(書籍通り)。 [5]679行目付近 #LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw とあるところを日本語を先頭にということで、jaを先頭に差し替えた(書籍通り)。 LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw [6]695行目付近 AddDefaultCharset ISO-8859-1 のところを以下にした(書籍通り)。 #AddDefaultCharset ISO-8859-1 AddDefaultCharset none 長くなって恐縮ですが、ご教授願えたら嬉しいです。宜しくお願いします。

  • 自宅Webサーバにアクセスすると必ず文字化けする

    アクセスありがとうございます。 Red Hat Linux8.0で自宅Webサーバを構築したのですがインターネットエクスプローラでアクセスすると必ず文字化けしてしまいます。 インターネットエクスプローラの「表示」メニューの「エンコード」が「西ヨーロッパ言語(ISO)」になってしまうのです。 これを「日本語(自動選択)」などにすれば文字化けが直るのですが他のページにジャンプすると再び文字化けが発生してしまうという始末です。 これでは快適なウェブブラウジングなんて、できませんよね。 htmlファイルをアップロードするときにEUCコードにしたりJISコードにしたり試してみたのですが文字化けは直りませんでした。 また「apache」の「httpd.conf」ファイルをいじってみたのですが、まだ文字化けは直りません。 設定ファイルは次のように書き換えたりしました。 AddDefaultCharset ISO-8859-1の文字列を #AddDefaultCharset ISO-8859-1とコメントアウトしたり AddDefaultCharset shift_jisとしたり AddDefaultCharset EUC-JPとしたり AddDefaultCharset noneとしたり AddDefaultCharset ISO-2022-JPとしたり またLanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv twの項目で「ja」を先頭に配置して LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv twとしたりしてみましたが文字化けは直りませんでした。 また「httpd.conf」を変更後は1回1回、/etc/rc.d/init.d/httpd reloadコマンドを実行してインターネットエクスプローラも1回1回、起動し直して試したのですが、やはり文字化けは直りませんでした。 なぜでしょう?? 何か忘れていますか。 また他にどのような設定をすれば文字化けを解消できると思われますか。 何か心当たりのある方、どうか教えてください。 よろしくお願いします。

  • apache1.3とperlでCGI

    超初心者です。 windows XPでapache1.3 と active perl 5.1.2をインストールして、 CGIを動作させたいと考えています。 http://localhostを入力してapacheの起動画面は表示されていること を確認しました。 その後httpdconfに下記を追加しました。 AddHandler cgi-script .cgi .pl AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .pl <Directory "C:/Program Files/Apache Group/Apache/cgi-bin"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> C:\Program Files\Apache Group\Apache\cgi-binに既存で存在する printenv.plを実行しようとするとファイルのダウンロードの画面が出てきて 実行されません。printenv.plは下記のようにperl.exeへのパスだけ変更しました。 #! C:/Perl/bin/perl ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; } どうすればCGIが実行できるようになるのでしょうか? ご教授ください。よろしくお願い致します。

    • ベストアンサー
    • CGI
  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • apacheでcgiがうまく動かない。cgiが認識されていない?

    すいません、多分基本的な所なのですが、 どうしても分からないので質問させてください。 ■環境------------------------------ ・windowsXP sp2 ・apache1.3.33 C:\Program Files\Apache Group\Apache  現在の状態:html表示可能。httpd.confを変更 ・perl5.6.1 c:\perl  現在の状態:PPMにてimagemagick,DBI,DBD-MySql(だっけ)をインストールしている ・php5.0.4 c:\php ・mysql4.02 C:\mysql ■httpd.confの変更箇所-------------------------------- 337 Options Indexes FollowSymLinks MultiViews ↓ Options Indexes FollowSymLinks ExecCGI MultiViews 538 #!c:/program files/perl/perl ↓ #!C:/Perl/bin/perl 720以降に追加 AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .pl 825以降に追加 AddHandler cgi-script .cgi AddHandler cgi-script .pl ■printenv.plの内容-------------------------------- #!C:/Perl/bin/perl ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; } -------------------------------------------------- 上記のような環境で、いまPERLの動作確認を行っています。 http://localhost/cgi-bin/printenv.pl http://localhost/cgi-bin/printenv.pl PLファイルを指定しても実行されず、ダウンロードされてしまいます。 cgiに拡張子を変えても同じでした。 エラーというわけでもない為、エラーログにも何もかかれません。 何が問題なのでしょうか?

    • ベストアンサー
    • CGI
  • PerlのCGIとPHPを

     特定のディレクトリのCGIの中にPHP(Apacheのモジュール版)を書き、(CGIで<?php~?>とHTMLを出力させる)Perl/CGIを実行したときにその出力の中に含まれるPHPを実行させたくて、.htaccessに AddHandler application/x-httpd-php cgi AddHandler cgi-script .cgi を書いたのですが、どうやらPHPのAddHandlerの後に書かれているCGIの方が優先され、PHPが実行されず、CGIのみが実行されます。  順序を逆に書いても、今度はPHPが優先されてしまい、どちらか片方しか実行されません。  どうすれば、両方同時に実行させられるでしょうか、教えてください。  それが不可能ならば、とりあえずPerl/CGIからPHPを呼び出して先に実行させるようなことができるのならば教えてください。  ちなみに、httpd.confには拡張子cgiをすべてのディレクトリでCGIとして実行、拡張子phpもすべてのディレクトリでPHPとして実行させるようにAddHandlerされています。 Apache/2.0.58(Windows版) PHP/5.1.6 CGI: ActivePerl 5.88 です。

    • ベストアンサー
    • PHP
  • NTでapacheとperlをインストールしてCGIテスト

    WINDOWS NTの環境でネットに繋がっていない状態でCGIテストをしようと、apache_1_3_12_win32.exe (Apache 1.3.12 for Win32) とActivePerl 623をダウンロードしセットアップしました。 Apacheの動作確認までできました。 ところが、CGIが動きません。 DOSで「xx.pl」は動いているのに、「xx.cgi」をテストしようとブラウザでみてもエラーが出てしまいます。 セットアップした2つの場所は、c:\www\perl\ と、c:\Apache\です。 何が間違っているのでしょうか? どなたか詳しく教えて頂ける方がいらっしゃいましたら、大変ありがたいです。 ブラウザのエラーは 「Internet Server Error The server encountered an internal error or misconfiguration and was unable to complete your request~」というような表示です。 また違う者が前にsendmailを入れたようなのですが、その中にもapacheが入っていました。 またperlもcドライブに入っているのですが、これはまずいでしょうか? お助けください。よろしくお願いします。

専門家に質問してみよう