- 締切済み
CGI向けにpathの追加
神崎 渉瑠(@taloo)の回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2281)
.htaccessもhttpd.confもApacheの設定であって、CGIアプリケーションの設定ではありません。 CGIの実行ユーザーのpathに登録してあれば、動くんじゃないでしょうか。 検索してみたところ、このページがわかりやすそうです。 http://pocketstudio.jp/win/xp/path.html
関連するQ&A
- OSXでcgi
OSXでperlで作ったcgiを動かしたいと思い色々といじってるのですが全く動きません。 apacheのhttpd.confの設定で AccessFileName .htaccess AddHandler cgi-script .cgi AddHandler cgi-script .pl についてはコメントをはずして使えるようにして Perlのパスも#!/usr/bin/perlとしてsiteフォルダとcgiを置いてるディレクトリに.htaccessを下のように記述して作り AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .cgi/ パーミッション設定をちゃんとしてあげてるのですがブラウザからアクセスするとForBiddenとでてしっかりと設定してるはずのパーミッション設定が間違ってますと言われてしまいます。 OSXでcgiを動かすには他にももっと色々と設定しなければダメなんでしょうか?
- ベストアンサー
- Mac
- CGI (suEXEC)について!
CGI (suEXEC)についての質問です! OS: Red Hat Linux 7.3 httpd: Apache 1.3.28 Apacheの設定ファイル httpd.conf 内で設定してある DocumentRoot のディレクトリ内にある CGIを”パーミッション700の場合にのみ”動作するようにする方法はありますでしょうか? suEXECを使用してユーザディレクトリ内のCGIは700で動くようにできたのですが、 httpd.conf 内で設定してある DocumentRoot のディレクトリ内では700だと動かない為。 また、suEXECというものは、ユーザーディレクトリのみに適応されるものなのでしょうか? ご存知の方いらっしゃいましたら、アドバイス等を宜しくお願いします。
- ベストアンサー
- その他(OS)
- CGIファイル内の CGI呼出しのパスについて
CGI 内からの .cgi ファイルの呼出しのパスについて質問があります。 動作環境は linux - apache - perl です perl の cgi ファイル内で次のように、同じ /cgi-bin ディレクトリ内の reset.cgi をコールしています。 ========== #!/usr/bin/perl (省略) if($form[0] =~ /reset/){ `reset.cgi`; } ========== バッククォートで実行していますが、これでは動作せず、 ./reset.cgi と ピリオド,スラッシュを前に付けると動作します。 少し調べた結果、カレントディレクトリのパスが通っていないのかと考え、 /etc/profile の PATHに下記のように ピリオド を追加してリブートしたところ、 export PATH=$PATH:. ホームディレクトリなどで作成した シェルスクリプトは ./ なしで動くようになりましたが、 /cgi-bin ディレクトリ内の前述のような呼出しは動作しませんでした。 後は httpd.conf などの編集が必要なのかもしれませんが、 良く分かりませんでした。 申し訳ありませんが、教えて頂けると助かります。 よろしく御願い致します。
- ベストアンサー
- CGI
- apacheで SetEnvを設定してもCGIに設定されていない
apache1.3.33を使っています。CGIに環境変数を渡したくて httpd.confに <VirtualHost 192.168.0.1:80> # 他の設定は省略 SetEnv MYPATH /foo/bar </VirtualHost> のように設定しています。 環境変数の確認のために、apache付属の printenv をprintenv.cgiに リネームして、virtualhostで指定しているディレクトリに配置しました。 これを呼び出すと、環境変数 MYPATH は設定されていません。 apacheで環境変数を設定するには上記の設定だけでは不十分でしょうか? アドバイスなどいただけたら幸いです。
- 締切済み
- CGI
- apache でバイナリのCGIを動かすには
apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m
- ベストアンサー
- その他(インターネット接続・通信)
- apacheでCGIを動かす
apacheでCGIを動かそうと思っていますが、どうしても出来ません。 環境は以下の通りです。 apache:1.3.35 OS:Windows2000 httpd.confの設定は 1.ScriptAlias /cgi-bin/ の行をコメントアウト 2.Alias /cgi-bin/ "E:/hoge/cgi-bin/"に変更してDirectoryタグを追加 3.AddHandler cgi-script .exeを追加 以上の3点をしましたが、新しく設定したディレクトリのcgiは動作しませんでした。 apacheのmodulesディレクトリの中にmod_alias.soというファイルが有りませんがそれは関係有るのでしょうか? また、apacheとtomcatの連携ということを以前行ったのですが、動かない事と関係あるのでしょうか? 文字数の関係で見づらい説明になっているかと思いますがよろしくお願い致します。
- 締切済み
- その他(プログラミング・開発)
- CGI版PHPについて
一般的なPerlのCGIが実行可能な状態のApache(Linux上)にCGI版のPHPを追加インストールした場合、ApacheはスクリプトがPerlであるかPHPであるかの違いをどう認識するのでしょうか? 方法1 スクリプトはどちらも*.cgiとして作成し、スクリプト内先頭行のperlやphpへのパスの記述で認識する 方法2 perl→*.cgi php→*.php のようにhttpd.confや.htaccessで設定する 初心者のためこの二つくらいしか思い浮かばないのですが、どちらかが正解だったりしますか??
- ベストアンサー
- PHP
- CGIの設置.htaccessの設定について。
windows7 32bitでapacheとperlでwwwサーバを構築しています。 初心者です。apacheは2.2.25でactive perlは5.16.3.1です。 例えば C:\wwwのフォルダに.htaccessに <Directory "D:/www1"> AllowOverride non </Directory> という記述と AddType application/x-httpd-cgi .cgi という記述で二つのルールを設定したいとしたら、 .htaccessにはどのように記述したらよいのでしょうか。 同じディレクトリに2個の.htaccessは入れられませんよね?
- 締切済み
- ネットワーク
- ApacheでCGIが正常に動作しません。
httpd.confの設定でPerl.exeの場所の指定は必要なのでしょうか? 以下の場所に設定を行うのかと思ったのですが、設定するとApache起動時にprogram filesがエラーになってしまいます。 ServerSignature On !g:/program files/apache group/apache/perl/bin/" 設定が必要であれば設定方法をお願いします。 httpd.confの設定に <Directory "G:/Program Files/Apache Group/Apache/cgi-bin"> AllowOverride None # Options None Options ExecCGI Order allow,deny Allow from all </Directory> は追加してあります。 現在、CGIの結果として #!/perl/bin/Perl.exe print "Content-type: text/html\n\n"; print "\n"; print " Hello! WORLD \n"; print "\n"; exit; のように表示されない命令も全て表示されます。 本当はHello!WORLDだけを表示したいのですが。
- ベストアンサー
- その他(インターネット・Webサービス)
補足
回答ありがとうございます。 >.htaccessもhttpd.confもApacheの設定であって、CGIアプリケーションの設定ではありません。 ええ、ですからapacheの設定でもって、pathを設定できないものかと、 SetEnvディレクティブで環境変数の設定はできるようですが、なぜかpathは設定できず・・・なぜ? >CGIの実行ユーザーのpathに登録してあれば、動くんじゃないでしょうか。 はい、それでも動くとは思うのですが、ディレクトリごとにpath等を設定できないものかと。やっぱりできないのでしょうか。