いま自分のHPをso-netのサーバーにアップしているのですが、そこでは指定されたCGI意外設置できません。そこで、自分の気に入った掲示板を他のサーバーに設置し、リンクを張ろうと思っているのですが、index.htmlを置かづに、外部からCGIを呼び出すことを許可しているサーバーを探しています。
御存じの方がいらしたら、ぜひ教えて下さい。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは、初めまして。


お役に立てると良いのですが・・・。

海外のサーバーですが、プロホスティングはいかがですか?
自作やお気に入りのCGIが置けますよ。(確かSSIも使えると思います。)
index.htmlは置かなくても使えると思います。
もし、置かないと使えないようでしたら、html文書を書かずにデータだけ
アップしても大丈夫ですよ。

無料なので当然かもしれませんが、月に一度ぐらいお知らせメールが届きますが
特に気にならないと思います。

ただし、フリーメールでの申込は不可なので気をつけてくださいね。

参考URL:http://www.free.prohosting.com/
    • good
    • 0
この回答へのお礼

お礼、遅くなりましたが、prohosting登録してみました。英語が不安でしたが、なんとか無事登録でき、ここを使おうと思っています。どうもありがとうございました。

お礼日時:2002/04/15 01:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qiswebライト(infoseek楽天の無料レンタルサーバー)のサーバーにCGIを設置したい

はじめまして。

只今、ソシム社の【JavaScript&CGIレッスンブック】でCGIの勉強中です。

iswebライト(infoseek楽天の無料レンタルサーバー)のサーバーにCGIを設置するため、下記のCGIスクリプトをtext03.cgiというファイル名でFFFTPにてアップロードしました(アップロードしたのはtext03.cgiのみでindex.htmlはアップロードしていません )。

#!/usr/local/bin/perl

print"Content-type:text/html\n\n";

$now=localtime(time);

print"$now";

しかし、【呼び出されたURLの表示は拒否されました(403Forbidden)】と表示されます。エラー表示ページには下記(1)~(3)の注意書きがありますが、それぞれ適切な状態にしていると思います。

(1)iswebサイト以外からのCGI呼び出しは禁止されています。
 →iswebライトの管理画面に表示されているURLをクリックして呼び出しています。
(2)ファイル、ディレクトリのパーミッションが不適切です。
 →ソシム社のレッスンブックの通り、パーミッションを755にしています。
(3)CGIはcgi-binディレクトリに設置して下さい。
 →FFFTP上でcgi-binフォルダを新規作成してtext03.cgiを中に入れました。

iswebのサーバーの仕様は下記の通りです。

どうしてもわからないので、解決方法を教えていただきたく、よろしくお願い致します。

●サーバーの仕様に関する情報

インデクスの検索順index.html, index.htm, index.shtml
perlのパス/usr/local/bin/perl
shのパス/usr/bin/sh
UNIXコマンド使用不可
sendmail/usr/lib/sendmail
※iswebベーシック(クレジットカードで登録された場合)のみ使用可
cgi実行ディレクトリ名cgi-bin
cgi対応拡張子cgi
ssi対応拡張子shtml
FTP接続対応
TELNET接続不可
FrontPage Server Extention未対応(FTP接続をご利用ください)

※ cgiをご利用になる場合は、cgi-bin というディレクトリを領域内に新規作成してください。

CGIに関して以下のような制限を設けています。
状況結果
infoseek.co.jpに作成したあなたのホームページからCGIを呼び出した場合正常に表示されます
URLを直接入力した場合正常に表示されます
infoseek.co.jp以外のホームページからCGIを呼び出した場合403 Forbidden(アクセス権限がありません)
※iswebベーシックの場合は正常に表示されます
ブックマークを利用した場合古いブラウザでは403 Forbiddenと出る場合があります
※SSI(.shtml) を利用したコンテンツには広告表示タグは自動挿入されなくなります。
バナーが表示されない場合は以下のタグを使って手動でバナーを表示させてください。

はじめまして。

只今、ソシム社の【JavaScript&CGIレッスンブック】でCGIの勉強中です。

iswebライト(infoseek楽天の無料レンタルサーバー)のサーバーにCGIを設置するため、下記のCGIスクリプトをtext03.cgiというファイル名でFFFTPにてアップロードしました(アップロードしたのはtext03.cgiのみでindex.htmlはアップロードしていません )。

#!/usr/local/bin/perl

print"Content-type:text/html\n\n";

$now=localtime(time);

print"$now";

しかし、【呼び出されたURLの表示は拒...続きを読む

Aベストアンサー

画像を見る限りでの回答。

cgi-binディレクトリを作成し、中にアップロードしたとのことですが、
画像のアドレスバーにcgi-binの文字が見当たりません。(見間違いならご容赦を。)
ルートディレクトリに残っているものにアクセスしてしまっているのでしょうかね?

/cgi-bin/text03.cgi
のようにアップしてある場合のアドレスは
(略).co.jp/cgi-bin/text03.cgi

ディレクトリは普段お使いのOSにもフォルダという概念でありますので、そのイメージで。

Qhttp://www.test.cgi/index などのCGI名のあとのパス名

http://www.test.cgi/index
のようになっているものを見かけるときがあります。普段は
http://www.test.cgi?mode=index
などしているのですが、どのような仕組みになっているのでしょうか?
これはPerlに限らず、CGIとして動作するものなら実装できるのでしょうか?
疑問に思ってしまったので、ご回答のほどをよろしくお願いします。

Aベストアンサー

PATH_INFOと呼ばれる情報です。Perl/CGIであれば環境変数の$ENV{'PATH_INFO'}で取得する事が出来ます。クエリー(?xxx)が$ENV{'QUERY_STRING'}で取得出来る事と同じ要領です。組み合わせてtest.cgi/path/info?query=stringのようにする事も出来ます。(それぞれ上記の環境変数で別々に取り出せます。)

他の言語に関しても取得出来ます。言語名とPATH_INFOで検索をかけてみてください。(例えば『php path_info』等)

Qcgiゲーム設置可能なサーバー

無料で利用できるCGIゲーム設置可能なサーバーを教えてください。
無料であれば外国のサーバーでもかまいません。

Aベストアンサー

設置したいCGIのゲームはどのようなものでしょうか?
「箱庭諸島」
「FFAdventure」
「SPELL BOUND」
「Script Of Saga(2)」
「Endless Battle」
などは、サーバーに負荷がかかるので設置負荷のところが多いのですが・・・

QCGI設置可能なレンタルサーバーじゃダメ?

以前こちらでCGIを設置するにはプロパイダにきけっと言われました
http://oshiete.goo.ne.jp/qa/7725071.html

しかし別の疑問ができたのです。
CGI設置可能なレンタルサーバーを借りて、そこでCGIを動かしたいのに何でここでプロパイダに聞かなきゃダメなのかという事です。

なぜなのでしょうか?
また、CGI設置可能なレンタルサーバーにプログラムをおいてもプロパイダから追放されたりしますか?

Aベストアンサー

横入りして申し訳ございません。

ご質問について、いろいろと回答が出ており、いまさらではありますが、質問者様の冒険的なこころみにいたく感心し、わたくしなりに回答してみたいと思います。

まず、CGIの利用についてはプロバイダが利用可と言っているなら遠慮なく使ってもいいと思います。
ただ、レンタルサーバの利用形態によって制限があるため、プロバイダの利用上の説明やQ&Aは読んでおいた方がいいと思います。 そして禁止事項は守るようにお願いします。

なぜ、制限があるかというとCGIを使ってシステム上のプログラムを実行させた場合に、メモリやディスクまたは回線などのサーバ資源をパンクするまで占有させるようなプログラムであった場合、他のお客様に迷惑がかかるからです。
例えば、メモリを多く使ったりディスクへのアクセスを頻繁にすると、複数の客で1機のサーバをシェアレンタルしている場合にサーバが重くなってシェアしている全サイトの各種処理サービスが遅くなるなどの問題が発生します。 実際には早々起こる事ではありませんが、その可能性があるというだけで脅威なのです。
割高ですが、1機のサーバを独占する占有サービスなどでも、SPAM業者のように秒間何千通ものメール発信してたら、回線があっという間にパンクします。 回線には何台ものサーバがつながってますので・・・。 サポセンに電話がつながりにくいようなもので、緊急の人にとってはもう泣きたい位の・・・。

まあ、利用はOKだけど気をつけてねとも書いてあると思います。
サーバになんかあった場合、極端な話、生活をそれに依存している人とかが損失のせいで首をつったりするケースもあるので、プロバイダに責任転嫁しないでちゃんと責任とってねというようなことをオブラートに包んで書いてあるかと・・・。



次に「C」言語で作ったプログラムをCGIから動作させたい場合

これはまず、占有サーバを借りる以外無理かと思います

理由としては、プログラミングを学習した方ならご存知でしょうけれど、プログラム言語には大きく分けて「インタープリター型」と「コンパイル型」に分けられます。近年(といってもふた昔ほど)では、JavaやVBなどに代表される中間言語処理型のような「コンパイラ」と「インタープリター」の中間に位置する方式もありますが、こちらはまあ脇においておいて。
Cは基本的にはコンパイル型です。まず、実行ファイルを作る(以下ビルドといいます)ことが前提です。ソースの状態では実行できません。 実行ファイルは「マシンの環境に依存」しますのでサーバ側でビルドを行うことになりますが、一般の安いレンタルサーバでそんな操作をさせてくれるところは聞いたことがありません。
サーバと同じCPU・OSの環境を仮に持っていたとして、staticモードでビルドをすれば動作する可能性は高いですが、言ってることが良くわからなければ事故の元です。 この手の事故は簡単に発生します。 事故で共用レンタルサーバをつぶした場合の損害額は個人では弁済できない額になると思います。 あなたがアラブの石油王なら大丈夫かも知れません。

perlはなぜソースのままで動くのかというと、そのソースが単体で動作するわけではないのです。 UNIX系サーバの場合、テキストファイルに実行権限がある場合、その1行目はシェバング行となります。これは、そのテキストデータをその行で指定されたプログラムから処理させますよというものです。
「#!/usr/bin/perl」という行がperlのCGI用ソースに入っていると思います。ここで指定されている「/usr/bin/」に入ってる「perl」という名前のperl言語を処理するインタープリターのバイナリ実行ファイルがOS上で起動してそれ以下のテキストをperlのプログラムとして逐次実行されるという仕組みです(正確には中間言語にコンパイルしてから云々というのは後々の学習のためにとって置いて下さい)。

そんなこんなで、レンタルで、ある程度なにをやっても許される占有サーバをレンタルするのでなければ、CをCGIから利用するのはあきらめたほうがいいと思います。
できれば、ローカルでLANを組んで自前のサーバを構築してそこでやってみることをおすすめします。

蛇足ですがCGIはプログラム自身ではありません。Webサーバからシステム上でプログラムを起動させてその結果をWebサーバに橋渡しする仕組みのことを指します。 また、プログラム言語は言語仕様だけを学んでも習得できた事にはなりません。それの取り巻く環境や開発ツールを使えるようになってスタート地点です。 がんばって学習してください。

長々と失礼いたしました。

横入りして申し訳ございません。

ご質問について、いろいろと回答が出ており、いまさらではありますが、質問者様の冒険的なこころみにいたく感心し、わたくしなりに回答してみたいと思います。

まず、CGIの利用についてはプロバイダが利用可と言っているなら遠慮なく使ってもいいと思います。
ただ、レンタルサーバの利用形態によって制限があるため、プロバイダの利用上の説明やQ&Aは読んでおいた方がいいと思います。 そして禁止事項は守るようにお願いします。

なぜ、制限があるかというとCGIを使...続きを読む

Q設置してあるCGIをサーバー上でコピーって出来ないでしょうか?

ふと思ったのですが、設置してあるCGIで例えば掲示板やメールフォームなどなどサーバー上で簡単にコピーしてもうひとつ設置!とかって出来ないものでしょうか?

できたらとても簡単ですし、便利かなーと思ったのですが?どうなのでしょうか?詳しい方よろしくお願いいたします。

また、違った方法でも似たような感じで簡単に設置できる方法などアドバイスいただけましたら幸いです!

よろしくお願いいたします。

Aベストアンサー

UNIX系さーばーとしてお答えします
同じディレクトリ内にCGIをコピーする場合
teratermなどでサーバーにログインして
コピー元がa.cgi コピー先が b.cgiなら
cp a.cgi b.cgi
と入力します。パーミッションも同じままコピーされます
そのCGI用にサブディレクトリを設置してあって
ディレクトリごとコピーする場合、それぞれA-BBS B-BBSなら
cp -rf A-BBS B-BBS
です。
で、下の方も書かれていますが、cgi中に記述された
パス関係も全く同じままですので、まあライブラリは共有するとしても
ログや設定fileはパス指定が問題です
上の例でA-BBS/以下にログfileがありパス指定で
./bbs.log とか ./log/bbs.log のような相対指定なら良いのですが
/home/tarou/public_html/A-BBS/bbs.log のような
絶対パスだとそのままではまずいですし
相対パスでもcgiからみて別ツリー系統 例えば
../log/bbs.log のような指定があると これまた書き換えです
で、それを確認するにしても書き換えるにしても
ある程度のプログラミング能力が必要ですね

UNIX系さーばーとしてお答えします
同じディレクトリ内にCGIをコピーする場合
teratermなどでサーバーにログインして
コピー元がa.cgi コピー先が b.cgiなら
cp a.cgi b.cgi
と入力します。パーミッションも同じままコピーされます
そのCGI用にサブディレクトリを設置してあって
ディレクトリごとコピーする場合、それぞれA-BBS B-BBSなら
cp -rf A-BBS B-BBS
です。
で、下の方も書かれていますが、cgi中に記述された
パス関係も全く同じままですので、まあライブラリは共有するとしても
ログや設定f...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報