OSX、0.0.0.0:80でリッスンに失敗しました(理由:権限が拒否されました)


4

私はOSXマーベリックスにいます。からPHP 5.5をインストールしました http://php-osx.liip.ch/ 。ブラウザでlocalhostにアクセスすると、 "It Works!"というページが表示されます。これは私が作成したページではないので、どこにあるのかわかりません。これはPHPのインストールによるものか、それともApacheによるものか。

IDE(PHPStorm)を開いてWebサイトを実行したときに、8080のようなポートを使用している場合は動作します。ポートを80に設定すると失敗し、IDEに次のように表示されます。

/usr/local/php5/bin/php -S 0.0.0.0:80 -t /mywebsitepath/ 

Failed to listen on 0.0.0.0:80 (reason: Permission denied)

私はその特定のエラーを検索したとき、私が見つけたのはのための助けだけだった NGINX しかし、私はApacheを使っています。コードをポート80でローカルに実行できるようにするには、何を変更する必要がありますか?

localhost:8080の代わりにlocalhostを使うことができるようにこれをしたいのです。


3
からページをもらうので ローカルホスト これは、コンピュータ上のソフトウェアがすでにポート80を使用していることを意味します。2つのプログラムが同じポートを同時に使用することはできません。
Ben Voigt

現在使用しているものを確認する方法はありますか。私はそれが起動時に起こるものだと思います。
Justin


私がする時 sudo lsof -i TCP:80 | grep LISTEN 結果が出ません。
Justin

あなたはポート番号 - >名前検索をオフにしなかったので、それは出力しているかもしれません TCP:http (私はMacについて知りません lsofしかし、 netstat 他のOSでは)。ちょうどの出力をチェック sudo lsof -i TCP それがどんなフォーマットであるか見るために。
Ben Voigt

回答:


14

1024未満のポートは特権を与えられており、root以外の者にバインドされることはできません。 IDEをrootとして実行することはできないので、ポート80からポート8080に向かうNginxプロキシを設定します。これは簡単なはずですが、多くのチュートリアルがあります。= D


あるいは、Apacheプロキシ(もっと詳しく知っていれば)。 Nginxは揺るがす。ああ、あなたはOSXのApacheをポート80で動かしているので、それを止める必要があるでしょう それ プロキシとして)
Yarek T

彼はおそらく自分のIDEをrootで実行することができます。 '' sudo open / Applications / PHPStorm '' - そのIDEがWorkspacesを使用してプロジェクトに向けることができるかどうかはわかりませんが。 1024より上のポートで実行することはnginxリバースプロキシよりも少し少ない労力のように思えますが、それらは確立するのがかなり簡単です。
James T Snell

OSXのApacheがポート80で動作していてIDEから使用できない場合、動作している点はありますか?それをオフにすることは意味がありますか?それは可能ですか?
Justin

@Justin開発中でも80番ポートであることが特に必要とされるものがない限り、8080番ポートを使用することにします。これにより、頭痛/作業とセキュリティの問題が最小限に抑えられます。
Darth Android

ありがとう。 localhostアドレスが解放されたためにApacheを停止させることができましたが(これ以上 "It works!"ページはありません)、回答の中で説明している理由でポート80でIDEを実行できませんでした。 devの見苦しいURLについてだけ説明します。
Justin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.