OSX, Gagal mendengarkan pada 0.0.0.0:80 (alasan: Izin ditolak)

4

Saya menggunakan OSX Mavericks. Saya menginstal PHP 5.5 dari http://php-osx.liip.ch/ . Ketika saya pergi ke localhost di browser saya mendapatkan halaman yang mengatakan, "Ini Bekerja!" yang bukan halaman yang saya buat jadi saya tidak yakin di mana itu berada. Apakah ini dari pemasangan PHP atau hanya Apache?

Ketika saya membuka IDE (PHPStorm) saya dan menjalankan situs web, itu berfungsi jika saya menggunakan port seperti 8080. Jika saya mengatur port ke 80, itu gagal dan IDE mengatakan:

/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)

Ketika saya mencari kesalahan spesifik itu, yang saya temukan hanyalah bantuan NGINX , tapi saya menggunakan Apache. Apa yang harus saya ubah untuk dapat menjalankan kode saya secara lokal pada port 80?

Saya ingin melakukan ini agar saya dapat menggunakan localhost, bukan localhost: 8080.

Justin
sumber
3
Karena Anda mendapatkan halaman dari localhost , berarti beberapa perangkat lunak di komputer Anda sudah menggunakan port 80. Dua program tidak dapat menggunakan port yang sama secara bersamaan.
Ben Voigt
Bagaimana saya bisa melihat apa yang sedang menggunakannya? Saya menduga itu adalah sesuatu yang terjadi pada saat start-up.
Justin
Kapan saya melakukannya sudo lsof -i TCP:80 | grep LISTEN Saya tidak mendapat hasil.
Justin
Anda tidak mematikan nomor port- & gt; lookup nama, jadi itu mungkin keluaran TCP:http (Saya tidak tahu tentang Mac lsoftapi netstat pada OS lain akan). Periksa output adil sudo lsof -i TCP untuk melihat format apa itu.
Ben Voigt

Jawaban:

14

Port di bawah 1024 adalah hak istimewa, dan tidak dapat terikat oleh orang lain selain root. Karena Anda tidak dapat menjalankan IDE sebagai root, saya akan mengatur proxy Nginx dari port 80 ke port 8080, seharusnya mudah dilakukan, ada banyak tutorial = D

Yarek T
sumber
Atau proxy Apache, jika Anda lebih terbiasa dengan itu. Batu nginx sekalipun. Oh dan karena Anda menjalankan Apache OSX di port 80, Anda harus menghentikannya (atau menggunakannya saya t sebagai proxy)
Yarek T
Dia mungkin bisa menjalankan IDE-nya sebagai root .. '' sudo open / Applications / PHPStorm '' - walaupun saya tidak yakin apakah IDE itu menggunakan Workspaces dengan cara yang bisa dia arahkan ke proyek .. Untuk dev / pengujian, berjalan pada port di atas 1024 akan tampak seperti usaha yang kurang dari proxy reverse nginx, meskipun mereka cukup mudah dibuat.
James T Snell
Jika OSX Apache berjalan pada port 80 dan saya tidak dapat menggunakannya dari IDE saya, apakah ada gunanya menjalankannya? Apakah masuk akal untuk mematikannya? Apakah itu mungkin?
Justin
@ Justin Kecuali jika Anda memiliki sesuatu yang secara khusus diperlukan untuk port 80 bahkan dalam pengembangan, saya hanya akan menggunakan port 8080. Ini menciptakan paling sedikit sakit kepala / pekerjaan dan lubang keamanan.
Darth Android
Terima kasih. Sementara saya bisa menghentikan Apache sehingga alamat localhost dibebaskan (tidak ada lagi halaman "Berhasil!"), Saya masih tidak bisa menjalankan IDE saya di port 80 karena alasan yang Anda jelaskan dalam jawaban Anda. Saya hanya akan berurusan dengan URL jelek untuk dev.
Justin