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

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

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

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

MacOS(OSX)

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

Q&A

解決済

1回答

3580閲覧

localhostにアクセスできません

YF223

総合スコア11

Apache

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

MacOS(OSX)

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

0グッド

1クリップ

投稿2019/05/12 08:55

編集2019/05/12 09:14

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両方でエラーが出ています。

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

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

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

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

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

SST8897

2019/05/12 14:08

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

2019/05/12 23:17

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

2019/05/13 00: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 00:27

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

回答1

0

ベストアンサー

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

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

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

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

bash

1# 起動 2$ sudo apachectl start 3# 状態確認 4$ sudo apachectl status 5Go to http://localhost:80/server-status in the web browser of your choice. 6Note 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/14 03:56

編集2019/05/14 09:23
SST8897

総合スコア155

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

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

YF223

2019/05/15 23: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)
SST8897

2019/05/16 00:04 編集

sudoをつけて打っていますか?`sudo lsof -i:80`のように。 私の環境では、sudoなしで`lsof -i:80`と打つと何も出ず、sudoありで`sudo lsof -i:80`と打つとhttpdが表示されます。 sudo ありとなしで表示結果が違うそうです。 https://obel.hatenablog.jp/entry/20170421/1492738216 (なぜなのかは調べてません。別な質問で聞いてみるとよいと思います)
YF223

2019/05/18 06:27

sudoをつけて打ったところ、無事httpdが表示されました。 色々と教えて頂き大変助かりました、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問