• ベストアンサー

perl初心者です。

現在、仕事でサーバを更改することになりlinuxのwebサーバをwindows2003にすることになりました。 今までlinuxで動いていたperlをwindowsに移行したいと考えています。perlの内容としては、名前等の情報を入力し、その情報を送信するというものです。perlの中身の/usr/sbin/となってるパスをC:\Perl\bin\perl.exeと変更するだけでいいのでしょうか?

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

IISならばshebang #! /usr/local/bin/perl は関係ないです インターネットサービスマネージャで 仮想ディレクトリに実行権限を与え、拡張子.cgiまたは.plをC:\Perl\bin\perl.exe %s %s でマッピングすればOK http://oshiete1.goo.ne.jp/kotaeru.php3?q=2051602 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2150813 あとはIISのヘルプをご覧になれば判るかと思いますが 業務で行うのなら書籍などを購入されたほうがいいかもしれません >apacheの方が簡単なのでしょうか? 0からスタートするのならIISの方が楽かもしれませんが linuxでApacheを使っていたのならWindows版Apacheの方が楽に移行できるかと思います しかしながら矛盾してしまうかもしれませんがApacheを使うのならwindows2003に移行せずにLinuxのまま運用した方がコマンドの違いなどCGIの移植に悩まなくて済むかと思います

その他の回答 (2)

回答No.2

Windows 2003 Server のほうのウェブ サーバは IIS ですか。 インストールしてある Perl の種類とバージョンは移行の前後でどんなになっていますか。

pa-man2go
質問者

補足

回答ありがとうございます。 次のwebサーバは今のところ試験環境でiisでがんばっているところです。windowsにインストールしたactiveperlは、ActivePerl-5.8.8.817-MSWin32-x86-257965.msiをダウンロードしいれました。以前のlinuxは、コマンドrpm -qa | grep perlを実行したところ、 perl-HTML-Tagset-3.03-28 perl-libwww-perl-5.65-6 perl-XML-Encoding-1.01-23 perl-NKF-1.71-10 perl-5.8.0-88 perl-Filter-1.29-3 perl-DateManip-5.40-30 perl-HTML-Parser-3.26-17 perl-URI-1.21-7 perl-XML-Parser-2.31-15 perl-XML-Dumper-0.4-25 perl-libxml-enno-1.02-29 perl-XML-Twig-3.09-3 perl-CPAN-1.61-88 perl-File-MMagic-1.16-3 perl-Text-Kakasi-1.05-5 perl-Parse-Yapp-1.05-30 perl-libxml-perl-0.07-28 perl-XML-Grove-0.46alpha-25 perl-SGMLSpm-1.03ii-11 となりました。apacheの方が簡単なのでしょうか?

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.1

Webサーバには何を使用する予定ですか? LinuxでApacheを使用していたのなら、WindowsでもApacheを使用したほうがPerlプログラムの修正は軽微です。 IISは知りませんが、Apacheを使用するのであれば/usr/sbin/となってるパスをC:\Perl\bin\perl.exeに変更するだけで一般的なプログラムは動作します。 ただし、DBアクセスなど、Webサーバ、Perl以外のプログラム(例えばデータベース)との連携があるならその部分をWindows用に変更する必要があります。 まずは、現行システムのシステム要件・仕様を確認してください。

関連するQ&A

  • Perlのパス

    レンタルサーバーのCGIの説明で、「1.perl のパスは、/usr/bin/perl です。2.プログラムの先頭の記述は必ず、#!/usr/bin/perl となります。」って書いてあるんですけど、これを使用する場合、 http://www.kent-web.com/data/cart.html たぶん、admin.cgi , cart.cgi , order.cgi を エディタ で開いて以下の箇所をあたまの部分、#!/usr/bin/perl を変えればいいんですかね?それで1.の/usr/bin/perl は何処に書くのかな?それとも説明 の前置きですかね?「1.perl のパスは、」という意味はリンクがこうなるよ!って意味ですかね? ただま、KENT WEBみながら苦戦してます。 シロウトですいません。

    • ベストアンサー
    • Perl
  • CGI Perlについて

    低レベルな質問で恐れ入ります。 Perlのパスがサーバーのサイトで …/usr/local/bin/perl となっているのですが #!…/usr/local/bin/perl でしょうか? #!/usr/local/bin/perl でしょうか?

  • Perlからrshでvxquotaを実行する方法

    はじめまして。Perlの質問です。 サーバAの/usr/sbin/vxquotaをサーバBで動いているWeb(perl/cgi)から 起動したいのですがpermission deniedのエラーがでて動きません。 サーバBからコマンドで、rsh サーバA /usr/sbin/vxquota -v ユーザID とすれば動きます。 サーバBのCGIはprintf "I am %s.\n",(getpwuid($>))[0];で確認し、 rootで動いています。 このサーバBのPerlで、 system("/usr/local/apache/cgi-bin/DISK/vxquota.csh $user"); として rsh サーバA /usr/sbin/vxquota -v $1(上のvxquota.cshの中身) を実行しようとするとうまく動きません。 このようなことは、Perl(CGI)ではできないのでしょうか? 何かよい方法がありましたら、アドバイスをお願いいたします。

  • perlパス

    Windows2000機でWebServerを建てたのですが、CGIが認識しません。 WEBサーバーのクライアントソフトはApacheで 普通にHTMLは見れています。 perlをインストールした場所は C:\usr\local で VerはActivePerl 5.8.8.822 for Windows (x86)です。 場所は↑なのでCGIファイルのperlのパスはそのままいじらず、 perlのパスは#!/usr/local/bin/perl です。 一応#!C:/~以下   もやりましたがだめで、 CGIのテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか

  • 環境と言語のダブル?クロス開発(Linux,Windows : Perl, Ruby)

    LinuxとWindowsのクロス環境の開発でPerlとRubyも両方動かしております。 Linuxでは /usr/bin/perl /usr/bin/ruby にそれぞれ存在していますが、 Windowsでは、PerlとRubyを同じ C:\usr\binにインストールするとかなり危険?(dllや同じ 他の名前のファイルがある場合)に困るので、 ソースは同じ #!/usr/bin/rubyで動作させたく、Windowsでも動かすにはどうすればよいのでしょうか? Windows側でのRubyはとりあえず C:\Rubyに入れて居ますが、 c:\usr\binにruby.exeをコピーすれば動きます。 しかし、安直で邪道のような気がするですが、今後何か不具合でも出ないか心配です。 何か妙案はあるのでしょうか?

    • ベストアンサー
    • Perl
  • solarisのmakeについて

    こんにちは。教えて下さい。 solaris7にperl5.6.1をインストールしようとしている所です。 ./configuerを実行したあと、makeをしないといけないようなのですが、 make とやると、「見つかりません」と言われてしまいます。 PATHが通ってないのかと思い、echo$PATH とやると /usr/bin:/usr/sbinと出てきます。 で、ここでmakeを探したのですが見あたらなかったので、 find / -name make としてやると、 /usr/share/lib/make /usr/ccs/bin/make /usr/xpg4/bin/make の三つが見つかりました。 このうち、Linuxでいう/usr/bin/makeにあたる物はどれなんでしょうか。 それとも、私は基本的に何か勘違いをしているでしょうか。 solarisもLinuxもよくわかっていません。 何かアドバイスいただけると嬉しいです。宜しくお願いいたします。

  • PERL 宣言文 -wについて

    Perl初心者のWEBサーバエンジニアです。 サーバの移行に伴ってCGIファイルが動作していないため、ご相談になります。 【サーバ環境】 perl実行パス      /usr/local/bin/perl シンボリックリンク   /usr/bin/perl => /usr/local/bin/perl ソース記述       #!/usr/bin/perl ヴァージョン      5.8.5 perl実行環境      http://△△△.jp/cgi-bin/ ※apacheのスクリプトエイリアス指定 options +ExecCGI -Include SetHandler cgi-script 上記の環境で、cgiファイルが500internalサーバエラーになる現象が発生しています。 ファイルは以前動作したサーバから引っ張ってきました。 原因を探っていたのですが、cgiファイルのソース記述を #!/usr/bin/perl -w と記述を変更すると正常に動作しました。 -w について 【1度しか出現しない識別子や、初期化されずに参照される変数など、危険、無駄と思われる処理の警告を出力します。実際にはもっとたくさんの種類のチェックをするようです。】 と言う事はわかりましたが、いままで、-wなしで動作していたので、-wなしで動くよう、perlの設定を変更したいとかんがえております。 なにぶんPERL初心者ですので、同様の事象で知見がある方、ご教授を宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • LINUXサーバーについての質問です。

    LINUXサーバーについての質問です。 http://qiita.com/suin/items/5c4e21fa284497782f71 上記サイトのシェルスクリプトの42行目の PATH=/sbin:/usr/sbin:/bin:/usr/bin は何を意味してるのでしょうか? このシェルスクリプトのファイルの置かれているパスですか? そうであれば、シェルスクリプトには必ずパスを記入するものでしょうか? 教えてください。

  • メールフォームCGIの設置について

    下記のサイトのメールフォームCGIをさくらインターネットのサーバーで設置したいのですが、うまく作動せず送信できません。 前にロリポップサーバーで設置したところ、作動し送信も問題なくおこなえたのですが、パーミッションやそれぞれのファイルの中身までロリポップで設置したものとまったく同じファイル・条件でさくらインターネットのサーバーに設置したのですが「500 Internal Server Error」がでてしまい、送信できません。 CGIの提供先は下記になります。 http://pgd.jp/cgiscript.html さくらインターネットのパスなどは下記の通りです。 Perl:5.8.x perl:/usr/bin/perl sendmail:/usr/sbin/sendmai CGIの動作環境は下記の通りです。 Perl5 # /usr/sbin/sendmail が使えること # モジュール HTML::Template, Jcode が動作すること 色々試してはみたのですが、CGIやPerlの知識はほとんどありませんので結局何をやってもだめでした。 パーミッションの設定やファイルのアップロードは間違いなくできております。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • perlの1行目が#!/usr/bin/perlだと動かず#!/usr

    perlの1行目が#!/usr/bin/perlだと動かず#!/usr/bin/perl5.8.9だと動くのですが、 #!/usr/bin/perlで動くようにするにはどうしたらいいのでしょうか? インストールされているperlは This is perl, v5.8.9 built for darwin-2level です。 どこかでパスの設定をしてやればいいと思うのですが、 どこに何を書けばいいのかよくわかりません。 環境はMacOsX v10.6 SnowLeopardです。 どなたかよろしくお願いいたします。

    • ベストアンサー
    • Perl

専門家に質問してみよう