Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0004に戻る

タイトル: Linuxサーバ、CGIが動きません
記事No: 1051
投稿日: 2003/10/07(Tue) 12:05
投稿者: らくじん
はじめて投稿いたします、Linux初心者です、よろしくお願いします。
CGIが動きません。過去ログを参照しましたが、解決できませんでした。
行き詰まってしまいました、どうかアドバイスよろしくお願いします。
以下少々長いですが、概略です。

▼[使用環境]
OS RedHat 7.0.1J
Kernel 2.2.16-22
Apacheのバージョン 1.2.14

▼[実行時のエラー(ブラウザでの表示)]

Internal Server Error
The server encountered an internal error or ・・
#中略
---------------
Apache/1.3.14 Server at server.tosano.gr.jp Port 80


▼[エラーログ:/usr/locl/www/logs/error_log]

[Tue Oct  7 09:37:34 2003] [error] (2)No such file or directory: exec of /home/h
aru/WWW/annecho/annecho.cgi failed
[Tue Oct  7 09:37:34 2003] [error] [client 192.168.0.3] Premature end of script
・eaders: /home/haru/WWW/annecho/annecho.cgi

文字化け部は「h」

▼ディレクトリ構成とパーミッション

/home/haru/WWW/annecho/

annecho       drwxr-xr-x    2 root     root
annecho.cgi   -rwxr-xr-x    1 root     root
jcode.pl        -rwxr-xr-x    1 root     root

他のファイルは666、呼び出されるgifファイルは644に設定。

▼httpd.conf ファイルの写し

DocumentRoot "/home/haru/WWW"

#
<Directory />
    Options Indexes Includes ExecCGI FollowSymLinks
    AllowOverride none
    Allow from all
</Directory>

#
#---略---
#
<Directory "/usr/local/www/htdocs">

#---略---

<IfModule mod_userdir.c>
    UserDir WWW
</IfModule>

#---略---

<Directory /home/haru/WWW>
    Options +ExecCGI
    Options Indexes Includes ExecCGI FollowSymLinks
    AllowOverride None
    Allow from all
    AddHandler cgi-script .cgi .pl
</Directory>

#---略---

▼ 操作 と 結果

・httpd.conf を上記で上書きし
・/etc/rc.d/init.d/httpd restart
・エラー発生、ログ確認(上記と同じ)

▼ 参考資料

●cgi ファイルは、redhat 5.2 で 以前正常に動いていました。

 [ アン帳 Ver0.97 ]  2000.11.12
 Copyright (c) 1999.6 Tacky's Room. All rights reserved....
という有名なものです。

perl の 場所 /usr/bin/perl
cgi の一行目 #!/usr/bin/perl

関係ないかもしれませんが、ls -l で表示されるファイル名の一文字目が必ず文字化け
しています。また、エラーログファイルも、ところどころ文字化けします。

●.htaccess ファイルの内容
(AllowOverride Noneなので関係無いと思いますが)

Options ExecCGI Includes
AddType text/x-server-parsed-html .html
AddType application/x-httpd-cgi .cgi

▼ 最近の試み

●httpd.conf の書き換え
<Directory /home/haru/WWW>
    Options +ExecCGI
    Options Indexes Includes ExecCGI FollowSymLinks
    AllowOverride None
    Allow from all
                       <-- AddType text/html .cgi を挿入
                       <-- AddType application/x-httpd-cgi .cgi    

AddHandler cgi-script .cgi .pl
</Directory>
apache の restart

結果:同じエラー

タイトル: Re: Linuxサーバ、CGIが動きません
記事No: 1053
投稿日: 2003/10/07(Tue) 13:22
投稿者: みのる   <ezv02014@nifty.com>
URL: http://tibbar.dip.jp/
cgi ファイルを /home/httpd/cgi-bin に設置してパーミッションを設定して、「http://192.168.0.3/cgi-bin/annecho.cgi」で呼び出すと動作はしますか?

動作するのなら、httpd.conf 内の
# To use CGI script:
#
AddHandler Cgi-script .cgi
部分の「AddHandler Cgi-script .cgi」がコメントアウトされているかもしれません。

タイトル: Re^2: Linuxサーバ、CGIが動きません
記事No: 1054
投稿日: 2003/10/07(Tue) 17:48
投稿者: らくじん
> cgi ファイルを /home/httpd/cgi-bin に設置してパーミッションを設定して、「http://192.168.0.3/cgi-bin/annecho.cgi」で呼び出すと動作はしますか?
>
> 動作するのなら、httpd.conf 内の
> # To use CGI script:
> #
> AddHandler Cgi-script .cgi
> 部分の「AddHandler Cgi-script .cgi」がコメントアウトされているかもしれません。

ご指摘の部分、#はずしてあります。

試してみましたところ、「404 Not Found」になりました。
<IfModule mod_userdir.c>
UserDir WWW
</IfModule>
と記述しているためでしょうか。

(なお、サーバーアドレスは 192.168.0.2 です。)

その他、解ったこととして
sambaでつないで、CGIのソースを確認しましたところ、
文字化けしているCGIは、支障なく動いています。
ところが、文字化けしていないCGIはエラーになっています。

ls で正常に表示、ls -l で文字化けします。(ファイル名の第一文字)
お解かりの方、あわせて教えてください、お願いします。

タイトル: Re^3: Linuxサーバ、CGIが動きません
記事No: 1055
投稿日: 2003/10/07(Tue) 20:36
投稿者: みのる   <ezv02014@nifty.com>
URL: http://tibbar.dip.jp/
httpd.conf ファイルの設定に不整合があるのかもしれません。
/etc/rc.d/init.d/httpd configtest でなにかエラーは出ませんか?

タイトル: Re^4: Linuxサーバ、CGIが動きません
記事No: 1056
投稿日: 2003/10/07(Tue) 23:07
投稿者: らくじん
> httpd.conf ファイルの設定に不整合があるのかもしれません。
> /etc/rc.d/init.d/httpd configtest でなにかエラーは出ませんか?

弄り回しすぎましたので、整合性が無いかもしれません。
が、実行結果は、Syntax OK とでました。

http://search.luky.org/linux-users.9/msg05957.html

ここを参考にしましたが、うまく動いてくれません。
(ハンドラの記述)

そこで、apacheをアンインストールしようと試みたところ、
(rpm -e apache)
インストールされていません と表示されます。

再インストールして、再度設定ファイルを書き換えたいのですが、
どうもうまく行きません。

タイトル: とりあえず、経過報告
記事No: 1061
投稿日: 2003/10/08(Wed) 09:32
投稿者: らくじん
OSインストール以来おかしなことが起きます。

今回、/WWW以下に書き込みしようとすると、ライトプロテクトが
かかっている旨エラーメッセージがでます。(sambaにて)
そこで、パーミッション、smb.conf等を確認してみましたが、
間違っていません。

今回の結論としては、WWWの中にcgiファイルがあるので、
動かなかったものと推測しております。
(一部のCGIは動くのでなんとも不思議ですが、)

しかし、どうしてそうなるのか、未だにわかりません。
このような場合は、再インストールが一番解り易く、簡単な方法
なのでしょうか?

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net