• 締切済み

Fedoracore3のApatchとCGI

Fedoracore3のDVDISOをインストールしてほぼデフォルトの設定でApatchを起動しました。 そしてKENT-WEBさんのCGI、シンプル掲示板を使おうと試みたのですが書き込みボタンを押すと 【ERROR ! Write Error: ./askalog.cgi 】 と表示され書き込みができません。 他の掲示板も同様の感じでした。 そして属性の設定をKENT-WEBさんの指定どおりに行って、PerlのパスはFedoracore3のデフォルトの[ #!/usr/bin/perl]を指定しました。 Windows環境下のApatchでは動作確認できました。 どなたかこの症状を解決する方法をご存知のかたがいらっしゃいましたらご伝授お願いできないでしょうか?

  • 0sea
  • お礼率28% (2/7)

みんなの回答

回答No.3

私も初心者ですので念のため。 FedoraCore3はデフォルトではSELinuxが有効になります。これは「アクセス制御をきちんと行う」というものですが、httpd(apache)でCGIが制御するとき、アクセス制御に引っかかってファイルが書き込めなくなることがあります。 SELinuxが原因かどうか切り分ける方法があるそうです。 参照URLに記載されていますので、一度ご覧ください。

参考URL:
http://www.selinux.gr.jp/documents/FC3-SELinuxmemo.html
  • e2101183
  • ベストアンサー率16% (1/6)
回答No.2

 ApacheのErrorログは見ましたでしょうか?  suexec関連でエラーが出ている場合、パーミッションの設定が777では強すぎる(?)場合があります。  CGIをユーザ権限でのみ読み書き実行出来るようにすると動くかもしれません。 (mod_perl関連で上記対処をして動かしたことがあります)

  • senteru
  • ベストアンサー率50% (1/2)
回答No.1

当方Fedora使ってないので確認のしようがないですが・・・ >【ERROR ! Write Error: ./askalog.cgi 】 >と表示され書き込みができません。 多分アクセス権限の問題では?? Apacheがwwwというユーザーで動いているのにそのユーザーではログファイルに書き込みができないとか。 ※ユーザー名とか適当です。httpd.conf見て確認してみてください。 一度パーミッションの確認をしてみてはどうでしょうか??

0sea
質問者

補足

>一度パーミッションの確認をしてみてはどうでしょうか?? ためしにすべて属性777にしてみて実験したのですが、やはり同じメッセージが表示されます。 >※ユーザー名とか適当です。httpd.conf見て確認してみてください。 /etc/httpd/conf/httpd.confこのファイルですよね? <Directory "/var/www/cgi-bin"> AllowOverride None Options ExecCGI Order allow,deny Allow from all AddHandler image .gif .jpg </Directory> この設定にしています。 おかしいところ、他にかえるべきところはあるでしょうか? >Apacheがwwwというユーザーで動いているのに・・ これはhttpd.confの変更ということでしょうか? Linuxの経験が浅いので言葉が理解しにくいかもしれません。

関連するQ&A

  • CGIの使い方について教えてください

    CGIの使い方について教えてください。 自分が運営しているホームページに掲示板を作成したいので、以下のCGIを使うことにななりました。ですが、初心者のためうまく出来ません。詳しい方、教えてください。 http://www.kent-web.com/bbs/joyful.html? joyful.cgi を エディタ で開いて以下の箇所を修正します。 #!/usr/local/bin/perl  (プロバイダで定められたPerlへのパスを指定します) と説明されていますが、Perlの意味が解りません。これは一体なんでしょう? 設定のやり方等を詳しく教えてください。

  • ApacheでCGIが正しく動かない。

    RedHatLinux8をインストールして、 Webサーバーを立てよう~と思い立ててみました。 Apache2.0.40です。 一応htmlファイルはのぞけるようになったんですが、 CGIがちょっとおかしくて・・・ #!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print "Hello, World."; ↑を書いたtest.plはHello, Worldとちゃんと表示されました。 しかし、掲示板・カウンターを開くと・・・ 「ログファイルを開くことができません」 という主旨のメッセージが表示され、正しく実行できません。 ./log.txt とちゃんと指定しているんですが・・・ そのログファイルを開くとサーバーがCGIをして認識しているらしく、 「InternetServerError」が出て開けない・・・。 CGIの属性は755 ログも緩くして755に設定しました。 それでも状況は変わりません。

  • CGIを設置したい

    自分のHPを作成しております。 HPビルダーで http://www.kent-web.com/ここの方のCGIを使用したいのですが。 ****.cgiにリンクをはってもダウンロード状態になってしまいます。 アップロード先はANHTTPDで既にたっているサーバーです。 WINDWSXPです、宜しくお願いします。 別件ですが自宅サーバーの場合#!/usr/local/bin/perlの設定はどうするのでしょうか?

    • ベストアンサー
    • CGI
  • DebianのApache(掲示板)CGIエラー 500エラー

    debianでkent-webさんのASKA BBSを使いたいんですが うまくいきません http://www.kent-web.com/bbs/aska.html aska BBS rootで/lib/usr/cgi-binに移動してvi test.cgi ------------------------------- #!/usr/bin/perl print "Content-type: text/html \n\n"; print "Hello"; -------------- を試して http://192.168.1.12/cgi-bin/test.cgi は動くんですが which perl /usr/bin/perlです パスはあっています 本題のBBSをデスクトップにDLし tar -xvzf 解凍をし rootで/usr/lib/cgi-bin/に aska.cgi askalog.dat jcode.plを置き パーミッションをhttp://www.kent-web.com/bbs/aska.htmlにあわせて わらかないのでsuEXECサーバ CGIWrapサーバ用のパーミッションと一般サーバを両方ためしてみたんですが http://192.168.1.12/cgi-bin/aska.cgi?mode=checkで試したんですが 500エラーがてしまいます ちなみにaska/aska.cgi?mode=check のaskaフォルダは作らず cgi-bin/aska.cgiです かわらなそうなので http.confの設定は <IfModule mod_alias.c> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # # "/usr/lib/cgi-bin" could be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory /usr/lib/cgi-bin/> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </IfModule> AddHandler cgi-script .cgi .sh .pl ちゃんと#を外してあります それとほかの質問者の方を参考にしたんですが mod_aliasなんたら モジュールとかよくわからず apt-cache search module cgiなどといろいろ探したんですが無く これのperlのパスをわざと間違えさせてやっると500でエラーが出るってことはちゃんと動いてるはずだと思うんですが ちゃんともどすとhelloと表示されます 間違えーー>#!/hogehoge/hogehge/perl 元-->#!/usr/bin/perl #!/usr/bin/perl print "Content-type: text/html \n\n"; print "Hello"; それと疑いがあるのが aska.cgiのパスはちゃんと/usr/bin/local/perlを whichでみたperlのパス /usr/bin/perlに設定したんですが 動かないみたいです もしかしてgnome-text-editorなどviで開くと文字コードがかわったりしてだめなんでしょうか? もう思い当たる節がありません どなたか詳しい方教えてくださいお願いします

  • PWSでCGIを動かす

    PWS(パーソナル・ウェブ・サーバー4)でCGIを使おうとしています。 アクティブ・パールもインストールして、簡単な掲示板を表示できたのですが、 人口無能チャットのCGIを表示することができません。 ERROR ! Open Error : ./deny.dat とエラーメッセージが出ます。 人口無能チャットは、ARISA/PRO URL http://nagisa.moon.ne.jp/を使用しています。ベースはKENT-WEBさんのCOMCHAT v4.0のようです。 同じ設定の「arisapro.cgi」を、無料レンタルのサーバーにアップロードしていますが、問題なく動作しているので、原因は、PWSの設定方法が間違っている ためであるとは思うのですが、具体的に対処法がわかりません。

    • 締切済み
    • CGI
  • CGI設置方法

    Web Kentさんから配布されているPatioという掲示板を使っているのですが 例えば 雑談板 質問板 複数の掲示板を設置するには、Patio Patio2 ってフォルダー2つをサーバーにUPする必要があるのでしょうか?? ひとつひとつ属性変更するの大変なので・・・^^;  何か方法はありますでしょうか? またPatio並みのCGIがありましたら教えていただけると幸いです

    • ベストアンサー
    • CGI
  • CGIが動きません

    uranai.cgiのパーミッションは755です。 #!/usr/local/bin/perlではなく #!/usr/bin/perlを使っていますが、 これはサーバの説明にありました。 下記URL内の3ファイルをCGIフォルダに格納して サーバにアップしましたが、エラーになります。 cgi-binにする必要はないとのサーバ設定の記述にありました。 動かない理由がお分かりの方は、ご教授いただけると幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 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を設置したいのですが・・・。

    自分のサイトにabicorpという掲示板CGIを設置したいのですが、 エラーが出てしまいうまくいきません。 パーミッションも変更しましたがなぜかできません。 #!/usr/local/bin/perl perlパスは↑です。 public_html (ホームページディレクトリ)  |-- abicorp    |-- abicorp    |-- kboard.cgi (本体?)    |-- coustom.cgi (設定)    |-- ... .cgi (ほかいくつかCGIファイルがあります)    |-- gif アイコン画像 ↑のような感じです どうしたらいいでしょうか?

    • ベストアンサー
    • CGI
  • 自前サーバでCGIを~

     まずはLAN内だけで掲示板などのCGIを実行できるようにしてみよう、ということでApacheを使ってCGIの設定をしているんですが、ブラウザからCGIファイルを起動してもInternal Server Errorと出てしまいます。よってそれ以前ということで・・・  コマンドラインから「perl test.cgi」のようにCGIファイルを実行してみるとちゃんと動作するんですが、「type -a perl」で検索したフルパスをそのままCGIファイルに「#!/usr/bin/perl」などのように書いても、ファイルがコマンド化されてくれません。でも、perlの実行ファイルは存在していました。  これは、どうすれば解決できるのでしょうか?