Re: httpdのサービスが機能しない ( No.1 ) |
|
- ????????? 2010/10/21 09:10
- ????????? 管理者
-
> 具体的には、本のとおりにyumでインストールして、geditで設定をし、サービス設定のhttpdを有効にして開始しようとすると、このサービスは機能してません、と表示されます。
サービス開始時のログ「/var/log/httpd/error_log」には、どの様なメッセージが出力されていますか?
この他、SELinuxが有効になっていたりしませんか? (「getenforce」コマンドを実行した時に「Enforcing」と出力されていませんか?)
|
Re: httpdのサービスが機能しない ( No.2 ) |
|
- ????????? 2010/10/21 15:43
- ????????? フェニックス
-
申し訳ございません、許可がありませんと言われて、ログの見方がわからないのですが
/etc/rc.d/init.d/httpd start とコマンドを入れると (98)Address already in use: make_sock: could not bind to address [::]:80 [ OK ] とでます。 また、 getenforce と入れると、ご指摘のとおり、 Enforcing と出力されました。 度々申し訳ございませんが、ご指導の程お願い致します。
|
Re: httpdのサービスが機能しない ( No.3 ) |
|
- ????????? 2010/10/21 16:28
- ????????? 管理者
-
> (98)Address already in use: make_sock: could not bind to address [::]:80
原因としては、何らかのプロセスが httpd で使用するポート「80」を使っている為、サービスが起動できない理由です。
1.80ポートを使用しているプロセス番号を調べます。 実行例) # fuser -n tcp 80 80/tcp: 1859 2990 3286 3510
実行例では、「1859」「2990」「3286」「3510」の4つが使用しています。
2.プロセス番号からサービス(プログラム)を調べます。 実行例) 上記「1」で出力されたプロセス番号「1859」を調べる場合 # ps aux | grep 1859 | grep -v grep root 1859 0.0 0.4 261608 17832 ? Ss Sep28 0:20 /usr/sbin/httpd
出力結果の一番右が、サービス(プログラム)になります。
3.80ポートを使用しているプロセスを強制終了させます。 実行例) 上記「1」で出力されたプロセス番号「1859」を強制終了 # kill -9 1859
「1」で出力されたプロセス番号を、「2」「3」で実施して下さい。 本来は「1」-->「3」で問題ないのですが、何がポートを使用しているのか知りたい為「2」を明記しました。 理由は、上記は根本的な解決になっていない為です。
原因を調べる為、「2」の実行結果を開示して下さい。
> getenforce > と入れると、ご指摘のとおり、 > Enforcing > と出力されました。
SELinux は無効にしておいた方が無難です。 (知識があれば別ですが・・・。因みに当方はSELinuxの知識は無いので質問には答えられません。)
SELinux の無効化は以下をご参考下さい。
参照:http://kajuhome.com/security_trouble.shtml#n02-02
|
Re: httpdのサービスが機能しない ( No.4 ) |
|
- ????????? 2010/10/21 17:07
- ????????? stranger
- ?????§??? http://ja.528p.com/
-
どのような攻撃をどこから受けて、どこが悪くてサーバが落ちたのか検証されましたか
サポートが切れたfedora11でサーバを構築しても、セキュリティのupdateはfedora側ではしてくれません 公共機関としてのモラルに係わることなので、あえて苦言をいいました
>/etc/rc.d/init.d/httpd start >とコマンドを入れると >(98)Address already in use: make_sock: could not bind to address [::]:80
すでにhttpdが起動していてさらにstartを実行したのでは? [::]:80はipv6のアドレスと思われる ipv6の設定はされていないでしょうから bindできないと思います
# ps aux | grep httpd を実行してみる
rootで実行されているのが親プロセス apache(たぶん)で実行されているのが子プロセス になります
再度 # /etc/rc.d/init.d/httpd stop を実行してから
# ps aux | grep httpd を実行してみる grep httpdの行以外に表示されないならapacheは停止しています
それでも残っているならkillコマンドを発行します killコマンドを発行するのはrootで実行している親プロセスだけで良いです
親プロセス子プロセスの関係 親プロセスでリクエストを受けて子プロセスを立ち上げ 実際の通信を子プロセスに受け持たせます
実際にapacheが起動しているならあとはselinuxの関連でしょう
|
Re: httpdのサービスが機能しない ( No.5 ) |
|
- ????????? 2010/10/21 17:49
- ????????? フェニックス
-
攻撃を受けたのかもしれないという仮定を引き継いだ方から聞いただけでしかない状態で、検証の術も分からないのです。至らなくて申し訳ございません。
# fuser -n tcp 80 のコマンドを打ち込んだところ、何も出ず、#が出てしまい、 # ps aux | grep httpd を打ち込むと、 root 2676 0.0 0.0 5280 804 pts/0 R+ 17:43 0:00 grep httpd とroot ~ grep httpdまでしか出ず、apacheは実行されていないんでしょうか。startは[OK]とでるのですが。また # /etc/rc.d/init.d/httpd stop の結果は[失敗]となってしまいます。
|
Re: httpdのサービスが機能しない ( No.6 ) |
|
- ????????? 2010/10/21 18:45
- ????????? stranger
- ?????§??? http://ja.528p.com/
-
同じような事例がnetに上がっていますが
http://hsuzuki.ddo.jp/weblog/4519
お節介 あなたの研究室を経由して他の研究室のパソコンに侵入されるということもあるわけで
|
Re: httpdのサービスが機能しない ( No.7 ) |
|
- ????????? 2010/10/21 19:33
- ????????? フェニックス
-
事例のようにやっても無理でした。
そもそも、httpd.pidファイルが、検索しても見つかりません。
|
Re: httpdのサービスが機能しない ( No.8 ) |
|
- ????????? 2010/10/21 20:38
- ????????? 新高校生
-
>事例のようにやっても無理でした。
>そもそも、httpd.pidファイルが、検索しても見つかりません。
httpd.pidファイルはロックファイルでしょうから、httpdが動いてないときには存在しません。 事例に関して調べるなら、それよりも /etc/rc.d/init.d/httpd をエディターで開いて 該当箇所を見る方がいいです。
|
Re: httpdのサービスが機能しない ( No.9 ) |
|
- ????????? 2010/10/21 21:09
- ????????? フェニックス
-
まとめますと、
# ps aux | grep httpdとするとgrep httpdの行以外に無いのでapacheは起動していない。 しかし、# /etc/rc.d/init.d/httpd startではOKと出ている。この時、 (98)Address already in use: make_sock: could not bind to address [::]:80と出たので、 事例のように起動ファイルのpidファイルのパスを修正したが現状変わらず。 また、停止しようとすると失敗する。 removeして再installしても無理。 ポート80に関して、fuser -n tcp 80で反応ないので、他で使われている様子はなし。 これは、apacheは起動はしていて機能はしていないということでしょうか。試行錯誤してはいるものの、解決方法がどうしても分かりません。大変恐縮ですが、どうかご指導お願い致します。
|
Re: httpdのサービスが機能しない ( No.10 ) |
|
- ????????? 2010/10/22 04:30
- ????????? stranger
- ?????§??? http://ja.528p.com/
-
ある程度解かっていると思って前回の返答をしましたが、すみません
fedora11は新規インストールですか 以前のfedoraのバージョンアップですか
たぶん /etc/httpd/conf/httpd.confで
ServerRoot "/etc/httpd" PidFile run/httpd.pid
になっている場合、/etc/httpd/run/httpd.pidと解釈されます
/etc/httpd/runは /var/run/httpdへのシンボリックリンクになっているとおもう
下記コマンドを端末で実行すると # cd /etc/httpd # ls -al run -> ../../var/run/httpd
/etc/httpd/run/httpd.pidの設定と合わせると /var/run/httpd/httpd.pidの意味になります
/etc/rc.d/init.d/httpdでは pidfile=${PIDFILE-/var/run/httpd/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd} に設定されているので pidfileの部分は変更しなくても良いかも
lockfileの方が問題で httpd(apache)が起動していないのにlockfileが存在するとエラーになるので /var/lock/subsys/httpdの存在を確認してください
selinuxをPermissiveまたはDisabledに設定して
ps ax等でhttpdが起動していないことを確認 /var/lock/subsys/httpd が存在したら削除した後
# /etc/rc.d/init.d/httpd configtest (configtest httpd.confの設定が間違っていないか確認できます) で確認して # /etc/rc.d/init.d/httpd start
あとは解かりません
追伸 updateをされていますか fedora11を使い続ける予定なら、いまの内にupdateしておいた方が良い すでにサポート切れなので、しばらくするとミラーサイトからファイルがなくなります 25-Jun-2010が最終updateの日付になっていて、それ以後updateされていません
|
Re: httpdのサービスが機能しない ( No.11 ) |
|
- ????????? 2010/10/22 12:45
- ????????? フェニックス
-
fedora11は新規インストールです。
/var/lock/subsys/httpdはgeditの場所で開くを行ったところ何も出ず、 selinuxをDisabledに設定して/etc/rc.d/init.d/httpdの設定を変えても変えなくても ps axやps aux | grep httpdで確認したところ、httpdは起動していないようです。 しかし、startしても、 (98)Address already in use: make_sock: could not bind to address [::]:80 と出ます。サービスの設定でもやはり「このサービスは機能しません」となります。 お手上げです。どうか助けてください。
|
Re: httpdのサービスが機能しない ( No.12 ) |
|
- ????????? 2010/10/22 12:54
- ????????? 管理者
-
# cat /etc/rc.d/init.d/httpd | grep pidfile
# ls -l /var/lock/subsys/httpd # ls -l /var/run/httpd*
上記3つの実行結果を開示ください。
|
Re: httpdのサービスが機能しない ( No.13 ) |
|
- ????????? 2010/10/22 13:41
- ????????? フェニックス
-
cat /etc/rc.d/init.d/httpd | grep pidfile
# pidfile: /var/run/httpd/httpd.pid pidfile=${PIDFILE-/var/run/httpd/httpd.pid} LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS killproc -p ${pidfile} -d 10 $httpd [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} killproc -p ${pidfile} $httpd -HUP status -p ${pidfile} $httpd if [ status -p ${pidfile} $httpd >&/dev/null ] ; then
ls -l /var/lock/subsys/httpd -rw-r--r-- 1 root root 0 2010-10-22 12:29 /var/lock/subsys/httpd
ls -l /var/run/httpd* 合計 0
以上、よろしくお願い致します。
|
Re: httpdのサービスが機能しない ( No.14 ) |
|
- ????????? 2010/10/22 13:48
- ????????? 管理者
-
1.「/etc/rc.d/init.d/httpd」ファイルの以下の部分を変更して下さい。
pidfile=${PIDFILE-/var/run/httpd/httpd.pid} 上記の部分を下記に変更 pidfile=${PIDFILE-/var/run/httpd.pid}
2.以下を実行してファイルを削除して下さい。
# rm /var/lock/subsys/httpd
3.httpサービスが起動できるか確認して下さい。
|
Re: httpdのサービスが機能しない ( No.15 ) |
|
- ????????? 2010/10/22 14:00
- ????????? フェニックス
-
やはり、
(98)Address already in use: make_sock: could not bind to address [::]:80 [ OK ] となって、サービスは機能しません。
|
Re: httpdのサービスが機能しない ( No.16 ) |
|
- ????????? 2010/10/23 09:13
- ????????? stranger
- ?????§??? http://ja.528p.com/
-
httpd.confでipv4のみ扱うようにしてみる
(192.168.1.2の部分は自分のサーバのローカルアドレス) #Listen 80 Listen 0.0.0.0:80 Listen 192.168.1.2:80
説明 http://httpd.apache.org/docs/2.2/bind.html
|
Re: httpdのサービスが機能しない ( No.17 ) |
|
- ????????? 2010/10/25 19:49
- ????????? フェニックス
-
httpd.confのlisten:を81にしたら、ポート81ではもちろん、80でもlocalhostにつながりました。また、その行を消してポートの設定を行わないと、80でのみつながりました。
どうやら、ポート80が、httpd.confとは別のところでhttpdサービスに対して設定されているようで、httpd.confで80を設定すると、かぶってしまうような気がします。その設定はどこで行われているのかも知りたいのですが、見当もつきません。なので、HP作成に取りかかりました。confのルートディレクトリは/var/www/htmlのままで、そこにhtmlを入れました。最初はlocalhostで見れたのですが、ページを増やしたら、テストページに飛ぶようになってしまいました。増やしたページを消してもなおりません。度々申し訳ございません。対処法を御教授お願いします。
|
Re: httpdのサービスが機能しない ( No.18 ) |
|
- ????????? 2010/10/26 06:18
- ????????? stranger
- ?????§??? http://ja.528p.com/
-
/etc/httpd/conf.d/welcome.confを適当な場所にコピーして消す
httpd://localhosts/でアクセスした場合 httpd.confの DirectoryIndexで設定されているファイルが、自動で読み込まれます
|
Re: httpdのサービスが機能しない ( No.19 ) |
|
- ????????? 2010/10/28 14:47
- ????????? ペングイン
- ?????§??? http://blog.trippyboy.com
-
> httpd.confのlisten:を81にしたら、ポート81ではもちろん、80でもlocalhostにつながりました。また、その
> 行を消してポートの設定を行わないと、80でのみつながりました。 > どうやら、ポート80が、httpd.confとは別のところでhttpdサービスに対して設定されているようで、 > httpd.confで80を設定すると、かぶってしまうような気がします。その設定はどこで行われているのかも知り > たいのですが、見当もつきません。
既に解決済みとなっているかもしれませんが、
Listen 0.0.0.0:80 Listen 192.168.1.2:80
0.0.0.0 の中に 192.168.1.2は含まれているのですが、必要な設定でしょうか。 上記の設定が原因と思われ、共存は出来ないものと思います。
私の場合
# Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 Listen 80
> なので、HP作成に取りかかりました。 confのルートディレクトリは > /var/www/htmlのままで、そこにhtmlを入れました。最初はlocalhostで見れたのですが、ページを増やしたら > 、テストページに飛ぶようになってしまいました。増やしたページを消してもなおりません。度々申し訳ござ > いません。対処法を御教授お願いします。
アクセスログは出力されていますか? 「ページを増やしたら」との関係があるかは分りかねますが、まずは何処にアクセスが 行なわれているのかログのご確認をお勧めいたします。
|
Re: httpdのサービスが機能しない ( No.20 ) |
|
- ????????? 2010/10/28 17:36
- ????????? stranger
- ?????§??? http://ja.528p.com/
-
httpd -V でコンパイルオプションが解かります
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) になっていれば ipv6は有効でしょうから
listen 80 でipv4とipv6を扱うと思います
apacheのマニュアルをみて返答しました http://httpd.apache.org/docs/2.2/bind.html
Listen 0.0.0.0:80 Listen 192.168.1.2:80 に設定すれば、一応ipv4のみ扱われるということなので・・・
OS全体でipv6を無効にしておけば、問題にもなりません 私は、OS全体でipv6を無効にしています
fedora11を使うこと自体が、セキュリティホールをつくることに なりかねないので、技量を推し量って、単純なほうから返答しようと思った次第
|