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

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

ただいまの
回答率

88.80%

localhostにアクセスできません

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,872

YF223

score 11

localhostにアクセスできません

phpMyAdminをインストールしようとしていたのですがhttp://localhost/phpmyadminにアクセスできず、そもそもhttp://localhost/にもアクセスできません。
ターミナルからapacheは起動できています。ただしAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ○○○○○.local. Set the 'ServerName' directive globally to suppress this messageとの警告が出ており、ServerNameにlocalhostと入力していますが警告が出続けています。

解決方法などあれば教えて頂きたいです。

発生している問題・エラーメッセージ

このサイトにアクセスできません localhost で接続が拒否されました。
次をお試しください

接続を確認する
プロキシとファイアウォールを確認する
ERR_CONNECTION_REFUSED

補足情報(FW/ツールのバージョンなど)

環境はMacOS Mojave 10.14.4で、OSはChrome,Safari両方でエラーが出ています。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • SST8897

    2019/05/12 23:08

    localhostへのアクセス自体はできますか?
    `nc -l 80`とターミナルでうち80番ポートで待ち受け、ブラウザに「http://localhost」と入れてアクセスします。ターミナルにHTTPヘッダなどがズラズラ出てきたら繋げられているということです。
    これで繋げられた場合はApacheに問題があり、繋げなかった場合はまずApache以外に問題があるということになると思います。

    キャンセル

  • YF223

    2019/05/13 08:17

    ご指摘の方法でlocalhostにアクセスしたところ、ターミナルにHTTPヘッダなどが出てきたので、アクセス自体はできていると思います。

    キャンセル

  • SST8897

    2019/05/13 09:04

    次に、apacheが80番ポートをリッスンできてますか?
    「sudo lsof -i:80」で80番ポートを使ってるプロセスが表示できます。apache関連のプロセスが表示されますか?

    apacheが無事80番ポートを使えていた場合、もう一回localhostにブラウザからアクセスしてから、apacheのログを見てみてください。

    acceess_logとerror_logがあり、ファイルの場所は https://codosr.com/archives/136 を参考にするかググってください。
    何が記録されていたかおしえてください。

    キャンセル

  • YF223

    2019/05/14 09:27

    返信が遅れて申し訳ありません。
    'sudo lsof -i:80' を打ったところ、プロセスが表示されないためapacheは80番ポートをリッスンできていないようです。

    キャンセル

回答 1

checkベストアンサー

0

コメントへの返信を読むと、そもそもapacheが80番ポートをリッスンできていないそうですね。
phpmyadminの使用は、apacheが正常に動いていなくてはならないと思うので、まずapacheが正常動作できるようにするとよいと思います。

(質問者さんはmacOS付属のapacheを使用したということでよろしいですよね...?)

ちなみに、私の手元でデフォルト設定でmacOS同梱のapacheを起動したところ、正常に動きました。(phpmyadminは使ってませんが)

ちなみにapacheの起動は次のように行いました。

# 起動
$ sudo apachectl start
# 状態確認
$ sudo apachectl status
Go to http://localhost:80/server-status in the web browser of your choice.
Note that mod_status must be enabled for this to work.


ポートの使用確認

$ sudo lsof -i:80
COMMAND     PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
(略)
httpd     31003  root    4u  IPv6 0x7310b69698f049d1      0t0  TCP *:http (LISTEN)
httpd     31010  _www    4u  IPv6 0x7310b69698f049d1      0t0  TCP *:http (LISTEN)
httpd     31025  _www    4u  IPv6 0x7310b69698f049d1      0t0  TCP *:http (LISTEN)
httpd     31025  _www   11u  IPv6 0x7310b69698f36e51      0t0  TCP localhost:http->localhost:63819 (ESTABLISHED)
httpd     31028  _www    4u  IPv6 0x7310b69698f049d1      0t0  TCP *:http (LISTEN)
httpd     31029  _www    4u  IPv6 0x7310b69698f049d1      0t0  TCP *:http (LISTEN)

同じコマンドを打っているはずなのにapacheが80番ポートを使ってくれない場合、apacheの設定を初期化してみるとよいと思います。

OSX MavericksはApacheを再インストールしてしまうが慌てなくていいという記事によると、次の方法で、macOSに付属のapacheの設定を戻せるようです。

(略)...以下の方法で以前の設定を復元できる。
以前の設定だが、このファイル(/private/etc/apache2/httpd.conf.pre-update)に保存されている。
httpd.confにリネームするか、DIFFで差分をとって必要な箇所のみコピーし、以前の設定状態に戻してから
sudo apachectl stop , sudo apachectl start で再起動すると良い。
(もちろん、httpd.confのバックアップは忘れずに)

などを参考に、macOS付属のapacheの設定を戻して試してみてください。macOS 10.14.4でも同じ場所に設定ファイルがあるようです。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/05/16 08:56 編集

    返信が遅れ申し訳ありません。
    標準のApache httpd の自動起動を解除し、homebrewでapacheをインストールしていたことを思い出しました。
    記事(https://weblabo.oscasierra.net/apache-macos-install-homebrew/)を参考にして/usr/local/etc/httpd/httpd.confでポート番号を80番に変えたところ、http://localhost/にアクセスして"It works!"と表示させることができました。

    ただ、lsof -i:80を打ってもhttpdが出てこないです。これはなぜかわかりますでしょうか?
    lsof -i | grep httpdを打つと以下のように出ます。

    httpd 3588 root 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3588 root 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3608 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3608 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3609 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3609 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3610 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3610 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3611 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3611 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3612 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3612 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3730 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3730 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3731 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3731 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)
    httpd 3732 _www 4u IPv6 0xec0a64e1539c7353 0t0 TCP *:http (LISTEN)
    httpd 3732 _www 5u IPv4 0xec0a64e150fe7c13 0t0 TCP *:* (CLOSED)

    キャンセル

  • 2019/05/16 09:04 編集

    sudoをつけて打っていますか?`sudo lsof -i:80`のように。
    私の環境では、sudoなしで`lsof -i:80`と打つと何も出ず、sudoありで`sudo lsof -i:80`と打つとhttpdが表示されます。

    sudo ありとなしで表示結果が違うそうです。
    https://obel.hatenablog.jp/entry/20170421/1492738216

    (なぜなのかは調べてません。別な質問で聞いてみるとよいと思います)

    キャンセル

  • 2019/05/18 15:27

    sudoをつけて打ったところ、無事httpdが表示されました。

    色々と教えて頂き大変助かりました、ありがとうございました。

    キャンセル

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

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

関連した質問

同じタグがついた質問を見る