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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

3回答

13024閲覧

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

MyRadio

総合スコア19

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/04/29 17:05

編集2017/04/30 05:52

初めて質問します。

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サービスが立ち上がっていない状態です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

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 00:47

編集2017/04/30 04:31
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MyRadio

2017/04/30 03:55

Firewallを一度停止してみましたが、状況は変わりませんでした。 「httpd -t」を実行しましたが、返ってきたのは「Syntax OK」でした。
退会済みユーザー

退会済みユーザー

2017/04/30 04:19

ごめんなさい。めちゃくちゃ反対のこと書いてました。何やってるんだろ^^; 接続拒否の回答がサーバから返っている時のメッセージなので、多分 Apache に問題があります。FWであれば、Time out ですね。。。回答を修正します。
MyRadio

2017/04/30 05:53

ありがとうございます。追記しました。
退会済みユーザー

退会済みユーザー

2017/04/30 13:20 編集

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

退会済みユーザー

2017/04/30 13:22

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

2017/04/30 14:18

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

0

自己解決

解決しました。

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

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

投稿2017/04/30 14:14

MyRadio

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2017/04/29 20:09

編集2017/04/29 20:11
stmkza

総合スコア478

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MyRadio

2017/04/30 00:23

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問