macOS

macOS Localhost Bağlantı Reddi

Güncelleme:
Sistem güncellemesi ya da konfigürasyon değişikliklerinde sıklıkla yapılandırma sorunları ile karşılaşabilmekteyiz. Sorunun kaynağıdan ziyade, genellikle hazır çözümlere odaklanıyor olmamız sanırım bu durumun da nedenselliğini oluşturmakta. ...
GÖRSEL

Sistem güncellemesi ya da konfigürasyon değişikliklerinde sıklıkla yapılandırma sorunları ile karşılaşabilmekteyiz. Sorunun kaynağıdan ziyade, genellikle hazır çözümlere odaklanıyor olmamız sanırım bu durumun da nedenselliğini oluşturmakta. Daha evvel macOS ortamının doğrudan Apache desteği sunduğundan bahsetmiştim. Bu yazıda da, Apache desteğine dair karşılaşılan ve tartışma forumlarında sıklıkla yer ettiğini gördüğüm (özellikle sistem güncellemeleri / yükseltmeleri sonucunda) bir hataya ve çözümlenmesine değineceğim.

Error code: ERR_CONNECTION_REFUSED

Tartışma forumlarını incelediğimde ilgili hata ile çoğunlukla sistem güncellemesi sonrasında karşılaşıldığını gördüm. Yakın zamanda duyurulan macOS 10.15 Catalina da bu sorunun kaynaklarından biri olarak görülmekte. Sorun başlıkta da belirtildiği üzere, localhost (veya 127.0.0.1) bağlantısı gerçekleştirmek istediğinizde bağlantının reddedilmesi ile ortaya çıkmakta ve localhost refused to connect şeklinde bir hata mesajı ile ortaya çıkmakta. Yazının giriş bölümünde de belirttiğim üzere bu sorunun temelinde konfigürasyon hataları yatmakta. Peki, bu hatayı nasıl çözebiliriz?

Öncelikle, tartışma forumlarında http.conf içeriğine dair pek çok öneri yer almakta. Bu hazır içerikleri kullanarak sorundan kurtulabilirsiniz. Ancak, sorunun temelinde yatan durum konusunda bir fikriniz olmaz ise aynı sorunla tekrar yüzleşmeniz oldukça mümkün. Dolayısıyla, adım adım ilerleyerek sorunun neden kaynaklandığını anlamalı ve buna yönelik çözümler üretmeliyiz. O halde, başlayalım.

Configtest

Apache yapılandırma dosyasında sözdizimi denetimi yapmak ve var ise hataları dökmek istediğimizde configtest argümanından faydalanabiliriz.

apachectl configtest

İlgili komutu uygulamamızın ardından yukarıdaki soruna dair satır bildirimleri karşımıza çıkacaktır. Aşağıda dönmesi muhtemel hatalardan ikisini görebilirsiniz.

AH00117: Ignoring deprecated use of DefaultType in line 403 of /private/etc/apache2/httpd.conf.
AH00526: Syntax error on line 10 of /private/etc/apache2/extra/httpd-userdir.conf:
Invalid command 'UserDir', perhaps misspelled or defined by a module not included in the server configuration
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.***.**.***. Set the 'ServerName' directive globally to suppress this message

Hataların içeriğine bağlı olarak httpd.conf dosyasını metin editörü ile görüntülemeli, ilgili satıra gitmeli ve gereken işlemleri gerekleştirmeliyiz. Yukarıdaki hataların çözümü, ilgili satırlara gidip modülleri pasif hale getirmekti. Bu işlem için satırın başına # yorum işaretini bırakmak yeterli olacaktır.

cd /etc/apache2
sudo nano httpd.conf

İlgili dosyada yapılan değişikliklerin ardından dosyayı kaydetmeli ve tekrar konfigürasyonu sınamalıyız.

apachectl configtest

Sınamanın ardından varsa farklı hatalar yine listelenecektir ve yine yukarıdaki gibi ilgili modülü pasif hale getirmek, eksik bir modül var ise yüklemek gibi adımları Syntax OK dönüşünü alana kadar yinelemeliyiz. Bu mesajı aldığımızda artık bir konfigürasyon hatası söz konusu olmamaktadır. Dolayısıyla sunucuyu yeniden başlatabiliriz.

sudo apachectl restart

Evet, hepsi bu kadar. Artık localhost (127.0.0.01) bağlantı isteğimizi reddetmeyecek ve görüntülemek istediğimiz dosyaya ulaşabileceğiz.

İleri Okumalar

  1. Localhost refuses to connect after upgrading to Sierra OS
  2. Why would apache refuse connection to localhost 127.0.0.1 on OSX?
  3. 127.0.0.1 refused to connect
  4. localhost not working on OS X Yosemite
  5. Set up localhost on macOS High Sierra (Apache, MySQL, and PHP 7) with SSL/HTTPS

Kaynakça

  1. apachectl – Apache HTTP Sunucusu Denetim Arayüzü
Ceyhun Enki Aksan

Kullanıcı Davranışları Analizi (User Behavior Analysis) ve Kullanıcı Deneyim Tasarımı (UX Design) üzerine çalışmalar yürütmekte, bu süreçte edindiğim teknik ve pratik bilgileri fayda sağlamak motivasyonuyla (afaik / as far as i know) paylaşmaktayım.

HABERDAR OL

Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.