4

ポート8888でMAMPをしばらく使用しているので、ブラウザで次のようにWebサイトにアクセスします。http://localhost:8888/website

ただし、Wordpress Multisite をインストールしたばかりなので、ポート 80 に切り替えて、通常どおり Web サイトにアクセスし、サブディレクトリを作成できるようにしたいと考えていますhttp://website.co.ukhttp://subdomain.website.co.uk

MAMP 内で vhosts ファイルをセットアップし、MAMP 設定でポートを 80 に変更しましたが、この MAMP を実行しても Apache が起動しません。MySQL は正常に起動しますが、Apache は起動しません。

ターミナルで次のコマンドを実行して、Apache を手動で起動しようとしました。

sudo ./startApache.sh

しかし、これを行うたびに、次のエラーが発生します。

(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

ポート 8888 に戻すと、MAMP は再び機能します。これを修正するために誰かが私を正しい方向に向けることができますか?

sudo lsof | grep LISTEN

launchd      1           root   11u     IPv6  0x8754c7c05566afd       0t0      TCP *:afpovertcp (LISTEN)
launchd      1           root   12u     IPv4  0x8754c7c0556bae5       0t0      TCP *:afpovertcp (LISTEN)
launchd      1           root   30u     IPv6  0x8754c7c0556671d       0t0      TCP localhost:ipp (LISTEN)
launchd      1           root   31u     IPv4  0x8754c7c0556b3ad       0t0      TCP localhost:ipp (LISTEN)
httpd       21           root    4u     IPv6  0x8754c7c0556633d       0t0      TCP *:http (LISTEN)
kdc         43           root    6u     IPv6  0x8754c7c05565f5d       0t0      TCP *:kerberos (LISTEN)
kdc         43           root    8u     IPv4  0x8754c7c0556a53d       0t0      TCP *:kerberos (LISTEN)
httpd      191           _www    4u     IPv6  0x8754c7c0556633d       0t0      TCP *:http (LISTEN)
Dropbox    293            Ell   19u     IPv4  0x8754c7c0a8db6cd       0t0      TCP *:17500 (LISTEN)
Dropbox    293            Ell   25u     IPv4  0x8754c7c0a8da125       0t0      TCP localhost:26164 (LISTEN)
mysqld     454            Ell   10u     IPv4  0x8754c7c0ba8085d       0t0      TCP *:ddi-tcp-2 (LISTEN)

アップデート:

ps 21
PID   TT  STAT      TIME COMMAND
21   ??  Ss     0:00.39 /usr/sbin/httpd -D FOREGROUND

ありがとう

4

2 に答える 2

5

次のコマンドを使用して、どのポートでリッスンしているプロセスを確認できますlsof

sudo lsof | grep LISTEN

*:httpリッスンしているプロセスなどを探します。

アップデート:

pid 21で*:http名前が付けられたプロセスである 1 つのプロセスが既に使用されていることがわかります。おそらく Apache プロセスです。したがって、システムのどこかにすでにApacheがインストールされているか(自動起動する可能性があります)、または何らかの理由でMAMP Apacheがすでに実行されていると思います。httpdhttpd

実行ps 21して、プロセスに関する詳細情報を取得してください。MAMP をインストールした私のシステムでは、次のように表示されます: (65696 はhttpd私のシステムの pid です)。

mattias@waderbook:~$ ps 65696
  PID   TT  STAT      TIME COMMAND
65696   ??  Ss     0:00.57 /Applications/MAMP/Library/bin/httpd -k start

表示される場合/usr/sbin/httpdは、OS X にバンドルされている Apache が実行されている可能性があります。環境設定の「共有」に移動して無効にし、「Web 共有」を無効にしてみてください。

于 2012-08-03T17:06:53.863 に答える