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

ご質問させて頂きます。

自分のPC(XP)からTelnetで
LINUX(Red Hat Linux release 9 (Shrike))に接続しています。
apacheをインストールをして、起動したいのですが
うまく行きません。

スタートをすると、
[root@localhost bin]# ./apachectl start
./apachectl start: httpd started

ストップをしてみると、
[root@localhost bin]# ./apachectl stop
./apachectl stop: httpd (no pid file) not running

リスタートをしてみると、
[root@localhost bin]# ./apachectl restart
./apachectl restart: httpd not running, trying to start
./apachectl restart: httpd started

設定ファイルを確かめてみると、
[root@localhost bin]# ./apachectl configtest
Syntax OK
と、出ます。

対処方法をご存じでしたら、よろしくお願いします。

A 回答 (5件)

各種サービスを起動する・しない、は


ntsysv コマンド
chkconfig コマンド
を利用します。

ntsysv コマンドは、メニュー形式で初心者にわかりやすいのですが、
インストールされていないみたいですので、chkconfigコマンドを
使ってください。

ランレベル3・5 でパッケージ版のApacheが起動しないようにする。

# chkconfig --level 35 httpd off <ENTER>

詳しい使い方などはネット検索してください。
http://www.jp.redhat.com/manual/Doc72/RH-DOCS/rh …


>ところが以下を見る限り、ポート80は使われていないと思うのですが、
>apacheがどのポートで動いてるのかが分かりません。
>tcp 0 0 *:http *:* LISTEN

apacheのサービス名はhttpdなので、ちゃんと動いています。


apacheが、どのポートを見ているかは、httpd.confファイルに指定されています。

Listen 80

この回答への補足

こんにちは。
ご返事有り難うございました。

>chkconfig --level 35 httpd off
同じエラーが出てしまったので、
たぶんchkconfigもインストールされていないようです。

>apacheが、どのポートを見ているかは、httpd.confファイルに指定されています。
>Listen 80
Listenがコメント行になっていたので、コメント行を外して80にして再起動をしようとしたら、また動かなくなってしまいました。また、後日ご相談させて頂くかも知れませんが、その折りはよろしくお願いします。

補足日時:2004/08/27 17:10
    • good
    • 0

>>1.apacheはどうやっていれましたか?


>>  rpmパッケージから?ソースから?
>ソースからインストールしました。

パッケージ版のapacheとソース版のapacheが混在していて、先にパッケージ版が
動いているのでしょう。

パッケージ版のapacheがインストールされているかrpmコマンドで確認してください。

# rpm -qa | grep httpd <ENTER>
httpd-2.0.40-21.11

インストールされていたら、デフォルトでは起動するようになっていますので、
RedHat起動時にパッケージ版apacheが動かないようにしてください。

# ntsysv --level 35 <ENTER>

「httpd」のチェックをはずして再起動。

この後は、ソース版のapacheを起動させてください。

# /usr/local/apache2/bin/apachectl start <ENTER>

上記のコマンドを、/etc/rc.d/rc.localファイルに記述しておくと、
RedHat起動時に、ソース版のapacheが動きます。

この回答への補足

こんにちは。
ご返事有り難うございました。
サンプルページを表示出来るようになってから
以下のコマンドをしました。

# rpm -qa | grep httpd
httpd-manual-2.0.40-21
redhat-config-httpd-1.0.1-18
httpd-2.0.40-21

続いて、
# ntsysv --level 35 <ENTER>
と、したんですが、
bash: ntsysv: command not found
と、なってしまいます。
たぶん私のやり方がおかしいと思うのですが
どこがおかしいのかご指摘して頂ければと思います。

もう一つ伺いたいのですが・・・。
>「httpd」のチェックをはずして再起動。
こちらの方法がちょっと分かりません。

サンプルページを表示出来るようになったので
一応問題は解決したのですが
これからのためにご教授して頂けたら幸いです。

補足日時:2004/08/27 11:55
    • good
    • 0

どうやらport 80は既に何者かが使っているようです。


#2様のご指摘のように既にパッケージもしくはこれまでに入れたapacheが起動しているかもしれません。

ソースからいれた場合、デフォルトの設定のままではListenPortは8080あたりだったようなきもしますが。

ローカルで使用する(勉強する)ためのサーバのようですね。
これを機に各コマンドを調べてみてはいかがでしょうか。

とりあえず、
#netstat -alt
と打ってみてください。
これで、ListenしているPortが分かるとおもいます。
(この場合、TCPのみですが)

そこで、wwwなどhttpd用のportがListenになっていれば何者かが使用しています

また、
#ps aux
と打ってみてください。
これで起動しているプロセスが表示されます。
簡単に言えば、起動しているサーバソフトが表示されます。

これらの結果、80番portをListenしているものがあったり、apache(httpd)が起動していたりしたら、既に起動していることになります。

この回答への補足

こんにちは。
ご返事有り難うございました。

ローカルで使用する(勉強する)ためのサーバのようですね。
>ハイ、仰るとおりです。

>[root@localhost bin]# netstat -alt
と、すると、以下のようになります。
ここで気になることがあるんですが・・・。
#2様のご指導して頂いたのでサンプルページを表示出来るようになりました。
ところが以下を見る限り、ポート80は使われていないと思うのですが、
apacheがどのポートで動いてるのかが分かりません。
それを調べる方法がありましたら
ご教授して頂けたら幸いです。

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:1024 *:* LISTEN
tcp 0 0 localhost.localdom:1025 *:* LISTEN
tcp 0 0 *:printer *:* LISTEN
tcp 0 0 localhost.localdom:8005 *:* LISTEN
tcp 0 0 *:8009 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:webcache *:* LISTEN
tcp 0 0 *:10000 *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 *:postgres *:* LISTEN
tcp 0 0 localhost.localdom:smtp *:* LISTEN
tcp 0 138 192.168.200.230:telnet 192.168.200.:supfiledbg ESTABLISHED


[root@localhost bin]# ps aux
と、すると、以下のようになりました。
これはapacheが動いていると考えて宜しいんですよね?

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND



root 13220 0.0 0.2 2644 272 ? S 09:37 0:00 /soft/apache/bin/
nobody 13221 0.0 0.1 3060 232 ? S 09:37 0:00 /soft/apache/bin/
nobody 13222 0.0 0.9 3060 1176 ? S 09:37 0:00 /soft/apache/bin/
nobody 13223 0.0 0.9 3060 1208 ? S 09:37 0:00 /soft/apache/bin/
nobody 13224 0.0 0.1 2800 252 ? S 09:37 0:00 /soft/apache/bin/
nobody 13225 0.0 0.1 2800 252 ? S 09:37 0:00 /soft/apache/bin/
root 13432 0.0 0.5 2688 752 pts/1 R 11:22 0:00 ps aux

よろしくお願いします。

補足日時:2004/08/27 11:31
    • good
    • 0

./apachectl start: httpd started となっているのであればApacheは起動


しているのではないでしょうか?
一度、LinuxマシンのWebブラウザから確かめてみてはどうでしょうか。

もしくは、RedHat9なら初めからApacheがインストールされている可能性
もあると思うので、RedHatの起動時に
Starting httpd [ OK ]
とでてくるか確認してみて下さい。
もしあれば、もとからインストールされているApacheが起動していますので、
こちらのApacheを停止(# /etc/rc.d/init.d/httpd stop)
した後に再度インストールしたApacheを起動(# usr/local/apache/bin/apachectl start)してみてください。
こうしないと、新しくインストールしたApacheを使えないかもしれません。
    • good
    • 0
この回答へのお礼

こんにちは。
ご返事有り難うございました。

>こちらのApacheを停止(# /etc/rc.d/init.d/httpd stop)
仰るとおりにしたところ、古いapacheが停止され、新しいapacheのサンプルページが見られるようになりました。有り難うございました。

お礼日時:2004/08/27 11:02

とりあえず、以下について教えてください。



1.apacheはどうやっていれましたか?
  rpmパッケージから?ソースから?

2.apachectl startしたときに本当に起動していますか?
  プロセスは立ち上がっていますか?

configtestは文法的なチェックしかしないので、
設定が矛盾していても文法があっていればとおります。
startしたときに起動していなければ、設定ファイル等なんらかにミスがあるかとおもいます。
その場合は、ログファイルに何らかの情報がでているとおもいますので、ログを参照してください

この回答への補足

こんにちは。
ご返事有り難うございました。

>1.apacheはどうやっていれましたか?
>  rpmパッケージから?ソースから?
ソースからインストールしました。

>2.apachectl startしたときに本当に起動していますか?
>  プロセスは立ち上がっていますか
以下のようにしたところ、
>[root@localhost bin]# ./apachectl start
>./apachectl start: httpd started
と、返ってくるだけなので起動していないと思うのですが・・・。

サンプルページも表示出来ません。
http://192.168.200.230/
「Not Found」と返ってきます。
ちなみにhttp://192.168.200.230:8080/
と、ポート番号を指定すると、
「HTTP Status 404 - /」
というエラーが出てします。

プロセスが立ち上がるという意味がちょっと分からないので
出来ましたら教えて頂きたいのですが・・・。

error_logを確認したところ
以下のメッセージが出てきました。
[Tue Aug 24 11:42:51 2004] [crit] (98)Address already in use: make_sock: could n
ot bind to port 80
[Tue Aug 24 11:58:18 2004] [crit] (98)Address already in use: make_sock: could n
ot bind to port 80
[Tue Aug 24 17:02:35 2004] [crit] (98)Address already in use: make_sock: could n
ot bind to port 80

ポート番号80は既に使われているということでしょうか?
今までapache・tomcatをインストールしても
なかなかうまくいかず
アンインストールしたり、インストールし直したりして
ごちゃごちゃになっているかも知れません。

大変にお手数をお掛けしますが、よろしくお願いします。

補足日時:2004/08/24 17:07
    • good
    • 0

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