• ベストアンサー

自作CGIの設定の方法

ホームページをソフトを使って完成させることが出来ました。 また、メールフォームやお問い合わせフォームも自分で作成することも出来ました。 サーバーを借りて、あとはアップロードさせて機能させるだけになりました。 でも、肝心の自作CGIのサーバーへの設定が勉強不足でどうして良いのかわかりません。 サーバーには、無事アップロードする事は出来ました。 サーバーにフォルダーがあって一旦そこへ転送してしまいましたが、CGIフォールダーをデリクトリーの下へ作成してそこへCGIのページを転送すれば機能する様になりますか? その際に、CGIのファイル名はhtmlのままで良いのでしょうか。 また、そのフォルダーに転送したら一旦転送したファイルからCGIファイルは削除しておけば良いでしょうか。 是非、ご回答お待ちしておりますので宜しくお願いします。

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

  • ベストアンサー
noname#246547
noname#246547
回答No.6

>cgiファイルやpostmailのダウンロードが必要だと言うことで修正していけば使えるようになりますでしょうか。 あなたが使用するレンタルサーバでperlをサポートしていれば使えます。 手順は 1.メールフォームを作成する(サンプル:http://www.kent-web.com/data/postmail/index.html) 2.postmailのCGIプログラム一式をダウンロードする 【KENT-WEB PostMail 配布ページ】 http://www.kent-web.com/data/postmail.html 3.ダウンロードしたファイルを解凍し、必要箇所を変更し レンタルサーバにアップロードする 参考ページ:http://www.aimix.jp/cgi/postmail.html 4.メールフォームのformタグのアクション属性をcgiのURIに変更(これはレンタルサーバ上でどこにCGIを置くかによって値が異なるので、ここで明言出来ません、調べてください)し、 レンタルサーバにアップロードする 参照:1.のhtmlのformタグのaction属性 5.ブラウザからメールフォームを呼び出し、メール送信してテストする

puchihima
質問者

お礼

ありがとうございました! すっきりしました!! 頑張ってみます。 本当にありがとうございました。 また、何かありましたらどうぞ宜しくお願いします。

その他の回答 (5)

noname#246547
noname#246547
回答No.5

>メールフォームやお問い合わせフォームも自分で作成することも出来ました。 これはHTMLファイルであってCGIのファイルではありませんね? CGIを作成されたとのことですが、 たぶん、HTMLファイルのことをCGIと勘違いなさっていませんか? 「form.cgi」は作成されましたか? CGIとは「form.cgi」のことです。 「メールフォーム」、「お問い合わせフォーム」はただのHTMLファイルではないですか? HTMLファイル内に「#!/usr/local/bin/perl」の文を追加すればCGIになるわけではありません。 この文は「form.cgi」内に記述する文です。 質問内容を明確にするために、 あなたの作ったファイル名を列挙してみてはいただけませんか? CGIは他から持ってきたのであればその旨も教えてください。

puchihima
質問者

補足

ありがとうございます。 はい、昨日それに気付いたところです(泣) 一生懸命cgiファイルを前提にご回答下さったみなさまに本当に申し訳なく思っています。 本当にすみません。 ホームページビルダーでお問い合わせフォームを基準に手を加え好みのものを作りました。 このままで使えると勘違いしていたのだと思います。 cgiファイルやpostmailのダウンロードが必要だと言うことで修正していけば使えるようになりますでしょうか。

回答No.4

---引用 fromタグを #!/usr/local/bin/perl <FORM action="mailto:/cgi-bin/from.cgi" method="POST"><INPUT type="hidden"name="to"value="メールアドレス"><INPUT type="hidden"name="subject"value="■一般お問い合わせ■"></FORM> にしてcgi-binフォルダへ転送すると言う事であっていますでしょうか。 ----引用ここまで 「fromタグ」っていうのがちょっとよくわかりませんが、 もしかして「formタグ」の書き間違いでしょうか? ><FORM action="mailto:/cgi-bin/from.cgi"method="POST"> ↑from.cgiのプログラムがどんなものかわかりませんが、 CGIを設置するなら <FORM action="/cgi-bin/from.cgi" method="POST"> と記述して<form>タグでCGIを呼び出したほうがいいと思うのですが。 mailto:を使うならCGIを使う必要はないような気がします。 ところで、CGIのプログラミングについては理解されていますか? もしCGIについてよくわかっていないのでしたら、 ご利用のサーバはCGIもsendmailも使えるようですから、 貴方の”自作CGI”は一度白紙に戻して、 こちらのCGIの設置を試してみてはどうでしょうか? http://www.kent-web.com/data/postmail.html こちらはCGI(プログラム)とHTMLファイル(フォーム部分)が別になっていまして、 お使いのサーバや自分の環境に合うように必要な箇所を修正し、 必要なファイルを全て転送することで動作するようになっています。 (設置方法について解説がありますので、よく読んでみてください。) フォーム部分をカスタマイズしたい場合は、HTMLファイルに記述されているタグを書き換えます。 レンタルメールフォームを利用するのも、一つの方法だと思います。

puchihima
質問者

お礼

ありはとうございます。 ハイ、書き間違いです。すみませんm(__)m 頑張ってみます! 何度も、ご丁寧にありがとうございます。

  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.3

>でも、肝心の自作CGIのサーバーへの設定が勉強不足でどうして良いのかわかりません。 まず、自作CGIは正しく動作するのは確認されたのでしょうか? 共用サーバでエラーなどが起こると迷惑になります。 十分なテストをしてからアップするのがマナーです。 さて、契約しているサーバはCGIは使えますか? 使える場合、ほとんどは転送先が指定されています。 このあたりは、お使いのサーバのQ&Aなどを参考に。 >CGIのページを転送すれば機能する様になりますか? CGIはプログラムですので、外部から呼び出されて動作するのが一般的です。 拡張子に規定は無いのですが、通例は「.cgi」です。 もちろん、「html」でも可能ですが、普通のhtml文書もCGIとして認識する事になりますので、あまり、おすすめ出来ません。 これらの設定については「.htaccess」(ドットエイチティーアクセス)という特殊なファイルで定義しますが、素人には理解しずらいものです。 また、そのような設定が出来るかどうかですが、「.htaccess」が使えるサーバは少ないです。 CGIの動作については、転送後に「パーミッション」の設定が必要になるサーバもあります。 「パーミッション」は保護モードともいいますが、 簡単にいえば、管理権限や実行権限の設定をします。 これについては下記を参考に。 http://www.kent-web.com/pubc/axsken/ サーバによっては若干違いがあります。 他にも検索すればいくらでも解説があります。 >そのフォルダーに転送したら一旦転送したファイルからCGIファイルは削除しておけば良いでしょうか。 転送したCGIはサーバにありますので、自分のPC内のCGIは削除しても構いませんが、普通は残しますよ。 サーバといえどパソコンですから、いつ何時落ちるか分かりませんから。

puchihima
質問者

補足

ありがとうございます。 ご親切なご回答ありがとうございます。 素人で勉強不足にもかかわらず、本当にありがとうございます。 少しずつ理解出来ているところもあるのですが、それが1本の線に繋がらず混乱(汗)しているような状態です。 色々、見たり調べたりしていますが、借りているところのQ&Aだけでは知識が足りず、理解出来ないのだと思います。 基本、きちんと理解して使用する方に対してだと思うので、そう言う説明で本来は十分なんだと思いますが…。 panto-maimさんの補足説明のところに記載させて頂きました。 もし、宜しければ不備な点等ご指摘頂ければ幸いです。

回答No.2

CGI関連について、サーバの仕様は確認してますでしょうか? puchihimaさんがお使いのサーバが何なのかちょっとわからないのですが、 CGI自体が設置できないサーバもありますし、 サーバによっては、CGI関連のファイルはサーバ指定のディレクトリにアップロードしないと動作しないことがあります。 >その際に、CGIのファイル名はhtmlのままで良いのでしょうか。 CGIの拡張子は.cgiなので、CGIのファイル名は○○.cgiとなると思います。 CGIでHTMLファイルを書き出して生成する場合は、生成されるHTMLファイル名が○○.htmlとなると思います。 >また、そのフォルダーに転送したら一旦転送したファイルからCGIファイルは削除しておけば良いでしょうか。 CGIファイルを削除したら動作しないんじゃないかと思います。 CGIのプログラムの内容がわかれば、細かい設定について、もう少し具体的かつ的確に回答できるかもしれません。 自作CGI(自分自身で作成したCGI)なら、なおさらです。 ※どこかで配布されているCGIをお使いなら、設定のやり方について解説があると思うので確認してみてください。

puchihima
質問者

お礼

ステップサーバーさんの説明です。 補足もれで、お礼内容に書き込んでしまいました。すみません。 ↓ http://moover.jp/archives/20/

puchihima
質問者

補足

ありがとうございます。 何度もすみません。ご丁寧な回答本当にありがとうございます。 ステップサーバーさんなので、CGIの利用は可能です。 ディリクトリにcgi-binフォルダを作成しメールフォームのファイル名をhtmlからcgiに変更して fromタグを #!/usr/local/bin/perl <FORM action="mailto:/cgi-bin/from.cgi" method="POST"><INPUT type="hidden"name="to"value="メールアドレス"><INPUT type="hidden"name="subject"value="■一般お問い合わせ■"></FORM> にしてcgi-binフォルダへ転送すると言う事であっていますでしょうか。

  • my-hobby
  • ベストアンサー率21% (659/3045)
回答No.1

CGIはサーバーで動作します http://www.kent-web.com/ このサイトの一番簡単なの探し設定してみれば解るとおもいます。 aska,bbs等 http://www.kent-web.com/bbs/aska.html CGIのファイル名はhtmlは??

puchihima
質問者

お礼

ありがとうございます。 確認してみたいと思います。