質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.69%

WebサーバのIPアドレスを変更したらサイトにアクセスできなくなった

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 5,085

MyRadio

score 17

初めて質問します。

MacOSX Serverで自前のWebサーバを立てています。
環境は
OS:MacOSX Server 10.6.8 SnowLeopard
Webサーバ:Apache 2.2.17(Mac標準)
です。

今回プロバイダ乗り換えに伴い、IPアドレス変更の設定を行ったところ、これまでどこからでもアクセスできていたサイトにアクセスできなくなり、ブラウザでアクセスすると以下のエラーメッセージが出ます。
localhostでも同じエラーが出ます。

このサイトにアクセスできません
ERR_CONNECTION_REFUSED

ドメインは割り当てておらず、裸のIPアドレスをURLにしています。
他のサービス(ストリーミング配信)で80ポートを使っているので、ポートは8080です。

試したこと

pingやssh、SMBファイル共有、画面共有はインターネット経由で接続可能ですので、回線周りの設定は問題なさそうです。
ファイヤウォールも8080ポートは空けています。
Apacheの再起動は行いました。
ただ、現状「ps agx | grep httpd」のコマンドを実行しても、httpdのプロセスが出てきません。
ですが、「sudo apachectl start」を叩くと「org.apache.httpd: Already loaded」と返ってきます。
httpd.confの中に、旧IPアドレスの記載があれば書き換えようと思ったのですが、その記載はなかったので、何も変更していません。

なぜアクセス出来ないのか、Apacheはどんな状況にあるのか、わからず途方にくれてしまいました。
何かヒントを頂ければと思います。
よろしくお願いいたします。


追記します。
「sudo lsof -i -P | grep "LISTEN"」コマンドを実行したところ、8080ポートでLISTENできていません。httpdサービスが立ち上がっていない状態です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+2

ERR_CONNECTION_REFUSED なら拒否応答が返っているので、サーバが返事をしているけど、対象のサービスがない状態です。

対象となるポートで適切にサービスを立ち上げていないことが原因なので、以下を確認して下さい。
・使用しようとしているポートは適切に設定がなされているか?
・サービスは立ち上がっているか?

macでLISTENとして使用しているポートを調べる方法
があるようなので、現状を確認してみて下さい。

起動にエラーがないので、httpd が動いている気もしますが、切り分けの第一歩として質問に追記いただけると助かります。

 以下、なんでか勘違いして書いてしまった最初の回答 無視して下さい。。。
ERR_CONNECTION_REFUSED なら、Firewall の設定が怪しい気がします。
apache が動作していない場合は、ERR_CONNECTION_TIMED_OUT になると思います。
MacOSX で確かめたわけではないですが、確認してみて下さい。

ただ、org.apache.httpd: Already loaded でググるとそちらでもいろいろ出てくるので、多分そっちも引っかかっていると思います。
Apacheは起動しているが、ブラウザでlocalhostが確認できない
こんな感じで、httpd.conf に問題があるんじゃないでしょうか。

合わせて確認してみて下さい。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/30 16:05 編集

    雑な回答になりますが、やはり httpd.conf が怪しい気がします。
    別の httpd.conf があるんじゃないですかね?
    使用している httpd.conf を確認する方法があった気がしますが、思い出せません。
    ワザとエラーが出るように httpd.conf を変更をしてみて、起動できた場合は、変更した httpd.conf が起動に使われていない証拠になります。試せますか?
    また、8080 の設定が間違っている(効いていない)可能性もあります。
    再度確かめて下さい。

    キャンセル

  • 2017/04/30 22:22

    org.apache.httpd: Already loaded でググると、最悪入れ直せとか、原因がよくわからないブログに当たりますねぇ。。。なんか闇があるのかも。

    キャンセル

  • 2017/04/30 23:18

    te2ji様
    先程、解決しました。
    te2ji様の提示してくださったLISTEN状態の確認を行ったことがヒントになって、8080ポートの競合を見つけることができました。
    なぜIPアドレスを変更したあと急に競合が起こるようになってしまったのか、という謎は残っていて気持ち悪さもありますが、解決できてとても助かりました。
    ご丁寧に検討くださって、本当にありがとうございました。

    キャンセル

check解決した方法

+1

解決しました。

ポートの競合が起こっている可能性があると思い、MacOSX Server標準の「サーバ管理」アプリケーションでWebの設定を確認しました。
すると、ここにずいぶん昔にテスト用に作ったホスト名が残っていたのでそれを削除してみたら、すぐにhttpdがLISTEN状態になりました。
IPアドレス変更前もここにはそのホストが存在してたはずで、その状態でも普通にhttpdは立ち上がってくれていたんですけどね…。

とにかく、無事Webを再開できました。ご回答頂いたstmkza様、te2ji様、ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

MacOSX Serverは触ったことがないのですが、httpd.pidがあれば、バックアップをした上で削除してみてはどうでしょうか。
また、httpd.confにもとのIPアドレスが書いてあったら、新IPアドレスに直してみてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/30 09:23

    ご回答ありがとうございます。
    httpd.pidはvar/run/httpd.pidに出力する設定になっているんですが、そこには存在しませんでした。
    また、httpd.conf内にはもとのIPアドレスの記載は見当たらないのです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.69%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる