Localhost menolak untuk terhubung setelah meningkatkan ke Sierra OS

8

Saya telah didownload dan diinstal apache, php, phpmyadmin, mysqlmelalui macports. Semuanya berfungsi dengan baik sebelum meningkatkan ke macOS Sierra.

Setelah peningkatan kapan pun saya mencoba mengakses localhost, saya mendapatkan pesan kesalahan berikut: "Situs ini tidak dapat dijangkau, localhost menolak untuk terhubung."

Ini terjadi meskipun pengaturan saya di apache http.conffile tetap sama.

Saya juga menyediakan konten dari file hosts

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Ada saran?

vasilisdmr
sumber
Sudahkah Anda memverifikasi bahwa semua layanan itu memang berjalan?
samh
jika saya menjalankan perintah "sudo port load apache2" saya mendapatkan respons berikut dari terminal "/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist: layanan sudah dimuat", jadi saya Saya cukup yakin bahwa apache sedang berjalan.
vasilisdmr
Silakan tambahkan konten file / etc / hosts Anda. Apakah 127.0.0.1 berfungsi? Mungkin terkait: apple.stackexchange.com/questions/252466/...
klanomath
Apakah Anda menjalankan configtest untuk memastikan semuanya baik-baik saja? Saya memiliki masalah serupa dengan instalasi stok Apache, sesuatu dalam pembaruan memecah salah satu paket dependen.
dr.nixon
Baru saja melakukan tes konfigurasi dan hasilnya adalah sebagai berikut: "httpd: apr_sockaddr_info_get () gagal untuk nama pengguna-MacBook-Pro.local" "httpd: Tidak dapat menentukan nama domain server yang sepenuhnya dapat diandalkan, menggunakan 127.0.0.1. Tetapkan ' Arahan ServerName 'secara global untuk menekan pesan ini ". Jadi saya mengikuti tutorial ini dan " mdshaonimran.wordpress.com/2011/10/10/17 " ... dan kesalahan itu hilang, tetapi saya masih mendapatkan pesan sampah ketika mencoba mengunjungi localhost.
vasilisdmr

Jawaban:

3

Saya memecahkan ini dengan mengomentari baris ini dari httpd.conf:

LoadModule unique_id_module modules/mod_unique_id.so

Saya tidak terlalu terbiasa dengan mod_unique_id , tetapi tampaknya tidak penting untuk dimiliki pada server pengembangan lokal saya (situasi Anda mungkin berbeda).

Unique_id_module

Modul ini memberikan token ajaib untuk setiap permintaan yang dijamin unik di seluruh "semua" permintaan dalam kondisi yang sangat spesifik. Pengidentifikasi unik bahkan unik di beberapa mesin dalam kelompok mesin yang dikonfigurasi dengan benar. Variabel lingkungan UNIQUE_ID diatur ke pengidentifikasi untuk setiap permintaan. Pengidentifikasi unik berguna untuk berbagai alasan yang berada di luar cakupan dokumen ini.

slackernrrd
sumber
11

Setelah memperbarui ke macOS Sierra, Apache httpd memindahkan yang lama httpd.confke httpd.conf.pre-updatedan menempatkan yang baru. Untuk menjalankan pekerjaan localhost, silakan coba prosedur di bawah ini:

cd /etc/apache2/  
sudo mv httpd.conf httpd.conf-afterupdate  
sudo mv httpd.conf.pre-update httpd.conf  
sudo apachectl configtest  
sudo apachectl restart  

Kemudian uji:

curl -I -L localhost
Vivek Sathisan
sumber
3
sudo apachectl configtest memberi saya semua kesalahan! Life saver, terima kasih.
Joshua Kissoon
2
Terima kasih banyak atas jawabannya! Omong-omong, bagaimana Anda mengetahui solusi ini? Saya tidak mendapatkan kesalahan dengan configtest (apakah saya seharusnya mendapatkan oone?) Dan jujur, saya tidak tahu harus mulai dari mana mencari jawaban sendiri.
Rahul Govind
Anda menghemat waktu besar saya, Terima kasih banyak.
Sila Khatun
3

Saya memiliki masalah yang sama. Saya berlari sudo apachectl configtestdan menerima pesan:

AH00526: Kesalahan sintaksis pada baris 6 dari /private/etc/apache2/other/default-ssl.conf:

Perintah 'SSLEngine' tidak valid, mungkin salah eja atau ditentukan oleh modul yang tidak termasuk dalam konfigurasi server

Saya baru saja mengganti nama file konfigurasi ssl default sehingga tidak dapat dimuat lagi. Apache restart nanti, semuanya kembali.

Matthias Lill
sumber
1

Saya memiliki masalah yang sama dan saya memecahkan komentar mod_proxy_hckeck di httpd.conf

LoadModule proxy_hcheck_module libexec / apache2 / mod_proxy_hcheck.so

DIedit: Saya menemukan di apache.org bahwa modul ini memerlukan mod_watchdog, tetapi modul ini dikomentari, jadi cukup komentar mod_proxy_hcheck atau batalkan komentar mod_watchdog LoadModule watchdog_module libexec / apache2 / mod_watchdog.so

semoga berhasil!

Gustavo van Tol
sumber
Mengomentari mod_proxy_hcheck memecahkannya untuk saya juga. Sebelum itu, Apache akan diam-diam gagal mengikat ke port-nya.
Otto G
1

Saya mengalami masalah yang sama. Untungnya saya bisa menyelesaikan masalah secara tidak sengaja. Setelah kesalahan pemuatan Koper Fusion, saya menyadari masalahnya tidak disebabkan oleh apache. Masalahnya adalah file utama / etc /.

Ganti File Host

Anda dapat mengunduh file host Mac OS default dari http://cs.us.extensis.com/HostsFile/hosts.zip .

Buka zip file host; seharusnya tidak ada ekstensi file Di Finder, buka Go> Pergi ke Folder Untuk "Pergi folder" masukkan "/ etc" dan tekan Enter Seret file host ke folder dll; masukkan nama pengguna dan kata sandi administrator Mac OS ketika ditanya Setelah Anda menempatkan file host di folder dll:

Buka aplikasi Terminal. Masukkan perintah berikut dan tekan Enter: sudo chmod 644 / etc / hosts. Masukkan kata sandi Mac OS Anda dan tekan Enter. Anda dapat melihat peluru, ikon kunci, atau tidak sama sekali saat Anda mengetikkan kata sandi Mac OS Anda ke jendela Terminal, tergantung pada versi Mac OS yang Anda gunakan. Ini normal.

Bersihkan Cache DNS OS Mac Anda

Di jendela Terminal, masukkan perintah berikut dan tekan Enter: sudo killall -HUP mDNSResponder Restart Mac Anda Sebab

Suitcase Fusion menggunakan file host untuk menemukan dan terhubung ke inti jenis menggunakan alamat loopback (127.0.0.1 atau localhost). Jika file host tidak ada, atau entri untuk 127.0.0.1 menunjuk ke nama selain localhost, Anda akan melihat salah satu pesan kesalahan ditampilkan di atas.

Jika Suitcase Fusion tidak dapat menyelesaikan localhost ke 127.0.0.1, Anda akan mendapatkan pesan kesalahan pertama; jika tipe inti tidak dapat menyelesaikan localhost ke 127.0.0.1, Anda akan mendapatkan pesan kesalahan kedua.

Jika file host telah dimodifikasi, mungkin dihapus ketika memutakhirkan ke versi Mac OS yang baru. Aplikasi pihak ketiga atau utilitas jaringan mungkin juga mengubah entri localhost secara salah. Untuk informasi lebih lanjut, lihat Cara Mengedit File Host di Mac OS X dengan Terminal.

Chris
sumber