dポイントプレゼントキャンペーン実施中!

 初心者です。FreeBSD7.1にapache2.2.9をportsからインストールしましたが起動しません。
ww#apachectl start をしても何もエラーメッセージは出ていないのですが、
ww#netstat -a の結果は
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 192.168.0.2.ssh 192.168.0.7.2057 ESTABLISHED
tcp4 0 0 *.telnet *.* LISTEN
tcp4 0 0 localhost.smtp *.* LISTEN
tcp4 0 0 *.ssh *.* LISTEN
tcp6 0 0 *.ssh *.* LISTEN
udp4 0 0 *.syslog *.*
udp6 0 0 *.syslog *.*
という内容で、80番がありません。
ww#ps -ax | grep apache
とやっても何も返ってきません。
ww#apachectl configtest とすると
Syntax OK と返ってきます。
対処法を教えて頂けないでしょうか。宜しくお願いします。

A 回答 (3件)

> ww#ps -ax | grep apache


psで確認するのは、apacheでなくhttpdの方がいいかもしれません。
(apacheアカウントで起動するように設定してれば、apacheでもいいですけど)

> error_logの場所が分かりません。
httpd.confの中のErrorLogディレクティブにてエラーログの出力先を設定してます。
/var/log/httpd/error_log とか。

> erroディレクトリがありましたがこの内のどれかでしょうか?
これはapacheでエラーが発生した場合に表示するファイルですね。

この回答への補足

色々やってみたところ、やっとブラウザにてアクセスできました。
(1)http.confで以下のモジュールをコメントアウトしました。
※ちなみにデフォルトで全てのモジュールが生きているんですけど、そういうものなんですか?
#LoadModule ssl_module libexec/apache22/mod_ssl.so
(2)hostsファイルの再修正

下記方法で確認
(1)ww# ps -ax | grep httpd
1131 ?? Ss 0:00.13 /usr/local/sbin/httpd -k start
1132 ?? I 0:00.03 /usr/local/sbin/httpd -k start
1133 ?? I 0:00.02 /usr/local/sbin/httpd -k start
1134 ?? I 0:00.02 /usr/local/sbin/httpd -k start
1135 ?? I 0:00.01 /usr/local/sbin/httpd -k start
1136 ?? I 0:00.03 /usr/local/sbin/httpd -k start
1138 ?? I 0:00.01 /usr/local/sbin/httpd -k start
1050 p2 T 0:00.62 vi /var/log/httpd-error.log
1106 p2 T 0:00.58 vi /var/log/httpd-error.log
1161 p2 R+ 0:00.01 grep httpd
(2)ww# netstat -a
tcp4 0 0 192.168.0.2.ssh 192.168.0.3.2416 ESTABLISHED
tcp4 0 0 192.168.0.2.http *.* LISTEN
tcp4 0 0 localhost.telnet localhost.62750 ESTABLISHED
tcp4 0 0 localhost.62750 localhost.telnet ESTABLISHED
tcp4 0 1516 192.168.0.2.ssh 192.168.0.3.1322 ESTABLISHED
tcp4 0 0 192.168.0.2.ssh 192.168.0.3.3751 ESTABLISHED
tcp4 0 0 *.telnet *.* LISTEN
tcp4 0 0 localhost.smtp *.* LISTEN
tcp4 0 0 *.ssh *.* LISTEN
tcp6 0 0 *.ssh *.* LISTEN
udp4 0 0 *.syslog *.*
udp6 0 0 *.syslog *.*
(3)WindowsXPからブラウザでアクセス
http://192.168.0.2

しかしerror_logには新たなerrorが表示されています。これはどのようなことでしょう?
[Mon Apr 06 21:37:45 2009] [notice] Digest: generating secret for digest authentication ...
[Mon Apr 06 21:37:45 2009] [notice] Digest: done
[Mon Apr 06 21:37:46 2009] [notice] Apache/2.2.9 (FreeBSD) DAV/2 configured -- resuming normal operations

補足日時:2009/04/05 21:34
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ww#ps -ax | grep httpd
をやっても何も引っ掛かりませんでした。

それでお教え頂きましたようにerro_logを調べたところ以下のような記述がありました。
[Mon Apr 06 19:02:55 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Apr 06 19:02:55 2009] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "www.○○○.○○○.jp"
Configuration Failed
二つ目はhttpd.confのServerNameが間違っているって事ですよね。ですからダイナミックDNSに登録した通りに変更しました。"WWW"が余計でした。ServerName ○○○.○○○.jp:80
更にhostsファイルと一致しないって事だと思い、hostsファイルも変更し、年のためにrebootしてから再度 ww#apachectl start をしました。そのerror_logが以下の通りです。
[Mon Apr 06 19:28:25 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Apr 06 19:28:26 2009] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "www.○○○.○○○.jp"
Configuration Failed
また同じerrorメッセージが出てきました。削除したはずのwwwも残っています。ちなみにマシンのホスト名はWWWです。c

お礼日時:2009/04/05 19:16

とりあえず、アクセスできたようでよかったですね。



#2補足です。

> ※ちなみにデフォルトで全てのモジュールが生きているんですけど、そういうものなんですか?
ディストリビューション毎に微妙に違うのでなんともいえません。
> #LoadModule ssl_module libexec/apache22/mod_ssl.so
httpsアクセスが不要でしたらコメントアウトして問題ありません。

> しかしerror_logには新たなerrorが表示されています。これはどのようなことでしょう?
> [Mon Apr 06 21:37:45 2009] [notice] Digest: generating secret for digest authentication ...
> [Mon Apr 06 21:37:45 2009] [notice] Digest: done
> [Mon Apr 06 21:37:46 2009] [notice] Apache/2.2.9 (FreeBSD) DAV/2 configured -- resuming normal operations
ログレベルが[notice][info][debug]は基本エラーではありません。
ちなみに[notice] Digest:~はmod_auth_digest.soを組み込んでると出力されます。
[notice] Apache/2.2.9~は起動時に出力されます。
    • good
    • 0
この回答へのお礼

ありがとうございます。助かりました。
httpsにつきましては、追々やっていきます。私の知識ではhttpsが必要になることはまだありませんから。とりあえずWebサーバとWebDAVができればOKです。これから行き詰ったら、まずerrorログをチェックするようにします。

お礼日時:2009/04/05 23:20

とりあえず、


telnet localhost 80
を実行して何か応答がありますか?

% telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

のような応答があればhttpdが動いています

起動しないのであればerror_logに何かしらメッセージが出ているはずです

あと、うちの環境はFreeBSD6.3+自分でmakeしたapacheなので外しているかもしれませんが、

nobody 22433 0.0 4.3 29740 21952 ?? I 22Oct08 268:39.25 /usr/local/ap
nobody 22434 0.0 4.9 32080 24744 ?? I 22Oct08 270:46.95 /usr/local/ap
nobody 22436 0.0 5.1 33316 25812 ?? I 22Oct08 266:40.56 /usr/local/ap
nobody 22438 0.0 3.4 24936 17436 ?? I 22Oct08 266:17.88 /usr/local/ap
nobody 22439 0.0 8.0 48096 40696 ?? I 22Oct08 263:58.45 /usr/local/ap
nobody 22440 0.0 4.4 29952 22300 ?? I 22Oct08 262:32.91 /usr/local/ap

psしてもhttpdのパスが途中で切れるのでapacheでgrepしても引っかかりません
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
telnetでlocalhostの80番にアクセスしたところ、下記のような応答がありました。どうもダメみたいです。WindowsXPからhttp://192.168.0.2にアクセスしたところ、それもダメでした。
ww# telnet localhost 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying ::1...
telnet: connect to address ::1: Connection refused
telnet: Unable to connect to remote host

それでerror_logを調べてみようと思ったのですが、error_logの場所が分かりません。すいません。apache22にerroディレクトリがありましたがこの内のどれかでしょうか?
ww# pwd
/usr/local/www/apache22/error
ww# ls
HTTP_BAD_GATEWAY.html.var HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
HTTP_BAD_REQUEST.html.var HTTP_REQUEST_TIME_OUT.html.var
HTTP_FORBIDDEN.html.var HTTP_REQUEST_URI_TOO_LARGE.html.var
HTTP_GONE.html.var HTTP_SERVICE_UNAVAILABLE.html.var
HTTP_INTERNAL_SERVER_ERROR.html.var HTTP_UNAUTHORIZED.html.var
HTTP_LENGTH_REQUIRED.html.var HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
HTTP_METHOD_NOT_ALLOWED.html.var HTTP_VARIANT_ALSO_VARIES.html.var
HTTP_NOT_FOUND.html.var README
HTTP_NOT_IMPLEMENTED.html.var contact.html.var
HTTP_PRECONDITION_FAILED.html.var include

お礼日時:2009/04/05 16:58

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