Mac OS X Mavericksでlocalhostにアクセスする際の問題…今日リブートするまで問題なく動作していました


16

私は自分が抱えている問題について困惑しており、それを解決する手助けを本当に感謝しています。

Mac OS X Mavericks 10.9.2を実行しているiMacがあります

サーバールート/ Volume / sites /からドキュメントを提供するようにApacheを設定しました

私は動的仮想ホストを使用しているので、*。devサフィックスを持つディレクトリを追加するだけで、仮想ホストになります。

私のホストファイルは非常に基本的です:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1         localhost
255.255.255.255   broadcasthost
::1               localhost
fe80::1%lo0       localhost

私のhttpd-vhosts.confファイルは次のとおりです。

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

#allow access to the Hosts directory where your sites are
<Directory "/Volumes/sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    #you could configure the following to only allow access from localhost
    Order allow,deny
    Allow from all
</Directory>

#get the server name from the Host: header
UseCanonicalName Off
VirtualDocumentRoot /Volumes/sites/%0/

これはすべてうまくいきました。また、httpd.confファイルの内容は変更していません。

まだローカルホストをロードできません

127.0.0.1も読み込めません

コマンドを実行して、sudo lsof -i :80 | egrep "PID|LISTEN"ポート80でリッスンしているPIDがあるかどうかを確認しました。結果は空でした。

私はApacheを再起動し、停止してからApacheを起動しようとしました

sudo apachectl stop sudo apachectl start

sudo apachectl restart

何も動作しません。

コマンドを発行してApacheが実行されているかどうかを確認しました httpd -v

戻り値:

Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

コマンドライン経由でローカルホストと127.0.0.1に接続しようとしましたが、結果は次のとおりです。

alisamii at alisamii in ~
$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ lynx http://localhost

Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://localhost/
alisamii at alisamii in ~
$ lynx http://127.0.0.1

Looking up 127.0.0.1
Making HTTP connection to 127.0.0.1
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://127.0.0.1/
alisamii at alisamii in ~

助けてください。


私はここでまったく同じことを経験しているので、この問題で何をしましたか?(
Pmpr

回答:


38

同じ問題がありました。プロジェクトのフォルダーの1つを削除しましたが、壊れました。この場合、サイトの構成をhttpd-vhosts.confおよびhttpd.confから削除する必要があります。

試してみる ping 127.0.0.1

apachectl configtest 問題を検出するのに役立ちます。


7
絶対に正しい、apachectl configtestあなたの最初の試みである必要があります!ありがとう。
ルーカスセラフィム

警告:DocumentRoot [/ Users / me / blah / blah]が存在しないため、問題のある行をすばやく見つけることができますsudo cd / && grep -rn "/Users/me/blah/blah" *
Shanimal

4

問題は、ホストファイルが元のASCIIエンコーディングから破損している可能性があることです。すべてのスペースをクリアし、そこにタブを入れて実行しsudo killall -HUP mDNSResponder(再起動する代わりにそれを行うことができます)、その後、動作しました。


1
はい、/etc/hosts壊れた-重複行、かつてのタブがあったいくつかのスペースが...今それが起こったのかを把握する....
LeeGee

3

私の場合、問題はフォルダー/ private / var / log / apache2 /が不明な理由でなくなってしまったことでした。で再作成する

sudo mkdir /private/var/log/apache2

そしてApacheを再起動します

sudo apachectl restart

トリックを作りました!


2

接続の拒否は、ほとんどの場合、ポートをリッスンしていないサーバーが原因です。

構文エラーまたは一般的な構成ファイルエラーは、起動時にapacheを強制終了します(通常はエラーログまたは端末に報告しません)。

実行してsudo apachectl configtest、エラーメッセージが出力されるかどうかを確認してください。


-1

Mac固有です。まず、Web共有を有効にする必要があります。Mavericの場合は、このチュートリアルのように実行できます。https://www.youtube.com/watch?v=TgiZiTU9JVY 第二に、Macの場合、Mavericのpfctl(ie man pfctl)でフィルタリングした場合のトラフィック、およびポート以上が必要な場合は古いバージョンのMac OSのipfw(man ipfw) 80


Ask Differentに関する回答は、単なるリンク以上のものである必要があります。リンクを含めることはできますが、回答に要約または抜粋してください。アイデアは、答えを独立させることです。
nohillside

-2

これはクエリに役立つ場合があります。 http://mallinson.ca/web-development-with-mavericks/


リンクを投稿するだけでなく、クエリに対する回答を説明してください。
ジャシュジェイコブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.