Apache hatası “Sunucunun tam etki alanı adını güvenilir bir şekilde belirleyemedi”

385

Apache sunucumu komutunu kullanarak yeniden başlattığımda

sudo /etc/init.d/apache2 restart

Aşağıdaki hatayı alıyorum:

Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2:
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Sunucu 127.0.0.1 yerine 127.0.1.1 kullanıyor mu? Bu hatanın nedeni nedir?

    
sordu Deepu 14.02.2013 14:09

14 cevap

470

13.04 ve üstü

Bu sadece bir dostane uyarı ve gerçekten bir sorun değil (bir şey işe yaramadığı gibi).

Bir

eklerseniz
ServerName localhost   

httpd.conf veya apache2.conf 'si /etc/apache2 ' de ve apache'yi yeniden başlattığınızda bildirim kaybolacak.

/etc/hostname içinde bir adınız varsa, localhost yerine bu adı da kullanabilirsiniz.

Ve 127.0.1.1 içerideyse /etc/hosts kullanır:

127.0.0.1 localhost
127.0.1.1 myhostname

Tercih edilen yöntem

  

Sorun Giderme Apache

Bu hatayı alırsanız:

apache2: Could not determine the server's fully qualified domain name, 
using 127.0.0.1 for ServerName

sonra komut satırında "sudo nano" gibi bir metin düzenleyici veya masaüstünde "gksudo gedit" kullanarak yeni bir dosya oluşturun

sudo nano /etc/apache2/conf.d/fqdn

veya

gksu "gedit /etc/apache2/conf.d/fqdn"

sonra ekleyin

ServerName localhost
Dosyaya

kaydedin ve kaydedin. Bu, aşağıdakilerle birlikte tek bir komutta yapılabilir:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Fakat Ubuntu 14.04'te:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
 sudo a2enconf fqdn

".conf" unuzu unutma (çalışmadan).

    
verilen cevap Rinzwind 14.02.2013 14:18
158

13.10 veya daha yeni

Apache 2.4'den itibaren - varsayılan olarak 13.10'dan itibaren kullanılabilir - conf.d dizinine bir config dosyası ekleme yöntemini kullanamazsınız.

Apache artık conf.d dizinini kullanmamaktadır. Tüm yapılandırma dosyaları /etc/apache2/conf-available dizininde saklanır ve tüm yapılandırma dosyalarının .conf uzantısına sahip olması gerekir.

Bu mesajı Apache 2.4'te çözmek için, hazır dizinin içinde bir konfigürasyon dosyası oluşturmamız gerekiyor. Örneğin, servername.conf .

sudo vi /etc/apache2/conf-available/servername.conf

Ve bunun içinde sadece bir satır eklememiz gerekiyor

ServerName localhost

Önceki iki komutu biriyle birleştirebilirsiniz:

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf

Gereksinimine bağlı olarak bir alan adı veya başka bir ad kullanmak istiyorsanız, ihtiyaç duyduğunuz her şeyle localhost dosyasını değiştirin. Ardından bu yapılandırmayı etkinleştirmeniz gerekiyor. Bunun için aşağıdaki komutu çalıştırmanız gerekir:

sudo a2enconf servername

a2enconf , Apaches 2.4'teki bir yapılandırma dosyasını etkinleştiren bir komuttur. Ayrıca, yukarıdaki komuttaki servername 'si, servername.conf yapılandırma dosyasındaki addır. Yapılandırma dosyanız ngenericserver.conf ise, sudo a2enconf ngenericserver yazmanız gerekir.

Bundan sonra sunucuyu yeniden yükleyiniz ve yukarıdaki mesaj artık sizi rahatsız etmeyecektir.

sudo service apache2 reload

veya

sudo apache2ctl graceful

Artık bundan sonra mesajın tekrar gösterilmeyeceğini ve sorunun çözüleceğini göreceksiniz.

    
verilen cevap Starx 26.12.2013 19:45
24
  • Bir terminali aç
  • /etc/apache2/httpd.conf dosyasını açın:

    sudo editor /etc/apache2/httpd.conf # [1]
    
  • Varsayılan olarak, boş olurdu. Sadece şu satırı ekleyin:

    ServerName localhost
    
  • Dosyayı kaydedin ve çıkın

  • Sunucuyu yeniden başlat

    sudo service apache2 restart
    

[1] Varsayılan düzenleyiciyi başlat, bkz. sudo update-alternatives --config editor

    
verilen cevap green 14.02.2013 14:17
22

Apache2 ayrıca FQDN'yi düzgün yapılandırılmış bir sistem ana bilgisayar adından apache yapılandırma dosyasına kodlanmış olarak değil de alabilir. Sabit kodlama, ana makine adı değişirse karışıklığa neden olacaktır. Aslında ServerName veya herhangi bir apache yapılandırma dosyasında httpd.conf direktifine ihtiyacınız yok.

Aşağıdakileri /etc/hosts dizinine koyun:

# IPv4 and IPv6 localhost aliases
127.0.0.1 hostname.domainname.com  hostname  localhost
::1       hostname.domainname.com  hostname  localhost

hostname.domainname.com , makinenizin FQDN'sidir.

/etc/hostname/ veya hostnamectl ile düzgün yapılandırılmış bir ana makine adıyla birlikte, bu aynı zamanda makinenizdeki diğer hizmetlerin doğru şekilde çalışmasına da yardımcı olur (örn. oturum açma isteği, This is hostname.domainname.com yerine This is hostname.unknown_domain gösterir.)

    
verilen cevap Andrew Mao 18.09.2013 20:05
15

Apache2'nin yeni sürümünde şu komutu takip ediyorsunuz:

sudo nano /etc/apache2/apache2.conf

Aşağıdaki yeni satırın sonuna ekle:

ServerName localhost

Ardından apache2'yi yeniden başlatın:

sudo service apache2 restart

Bitti.

    
verilen cevap empugandring 16.04.2014 08:38
4

/etc/conf.d veya apache2.conf değerini değiştirmek için httpd.conf 'de yeni bir dosya oluşturmak biraz daha iyi.

Yapılandırma değişikliklerinin dağıtım paketinden ayrılmasını sağlayan kişisel bir tercih. Yani güncellemeler daha az karmaşıktır.

/etc/apache2/conf.d/AAserverName dosyasını oluşturuyorum ve sadece şunu içeriyor:

ServerName myhost.mycomain.tld

Diğer öneriler de kesinlikle işe yarar.

    
verilen cevap areeda 06.09.2013 17:31
2

Ubuntu’da 16.04:

sudo -i

echo 'ServerName localhost' > /etc/apache2/conf-available/server-name.conf
a2enconf server-name
    
verilen cevap Eduardo Cuomo 17.04.2017 15:26
1

ServerName localhost

ekle

için

 sudo leafpad /etc/apache2/apache2.conf

 sudo leafpad /etc/apache2/httpd.conf

Bu bir hata değil. Sadece bir arkadaş hatırlatıcısı

    
verilen cevap Serem 05.07.2014 11:36
0

Ubuntu 11.10'da, bu mesaj, diskim dolu olduğu için ortaya çıkan asılı bir önyükleme ile birlikte gördüm. Günlük dosyalarından biri hileli gitti . Muhtemelen Apache ile ilgili bir problem olmadı, ama bu mesaj botun asılmadan önce verilen son ipucuydu.

Sorunu düzeltmek için kurtarma moduna önyükleme yapmalı ve yol dosyasına bakmam gerekiyordu.

    
verilen cevap nobar 07.05.2013 17:17
0

Yapılandırma dosyalarınızda ServerName localhost değerini sanal ana bilgisayar bölümleri dışında belirtmek, bunu yapmanın yoludur.

Diğer bazı cevaplar, /etc/apache2/httpd.conf değerini değiştirmenizi önerir. Apache apt'dan yükseltildiğinde bu dosya üzerine yazılır. Üzerine yazmak istemediğiniz Apache yapılandırması için yeni bir dosya oluşturmalısınız. Bu yapılandırmayı değiştirmek için "Debian yolu":

# create the configuration file in the "available" section
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
# enable it by creating a symlink to it from the "enabled" section
sudo a2enconf servername
# restart the server
sudo service apache2 restart

Bu temel olarak Stark'ın cevabı ile aynıdır, ancak kopyala ve yapıştır komut dosyası biçiminde kolaydır. Bunu orijinal olarak kopyalayan bir soruda yayınladım: İşte

    
verilen cevap Stephen Ostermiller 24.03.2017 14:02
0

Eğer bash kullanıyorsanız ve en az bağımlılık istiyorsanız (ve sadece benim gibi Docker kullanıyorsanız giriş noktası komut dosyası, bu iki seçenek çalışmalıdır.

localhost istiyorsanız:

echo "ServerName localhost" >> /etc/apache2/apache2.conf

Mevcut ana bilgisayar adını istiyorsanız:

echo "ServerName $(cat /etc/hostname)" >> /etc/apache2/apache2.conf

Bu, eklemek için bash yönlendirme işleçleri 'ni kullanır. Dosyanın sonuna dize. Echo, yeni satırı otomatik olarak ekler, böylece hepiniz ayarlanır.

    
verilen cevap Andrew Odri 17.11.2017 20:23
0

Aşağıdaki komutu çalıştırın:

apachectl -t -D DUMP_INCLUDES

httpd.conf yapılandırma dosyanızın yolunu belirlemek için, daha sonra bu dosyayı düzenleyin ve ServerName seçeneğinin değerini belirten satırı kaldırın / değiştirin (ör.

).
ServerName localhost

Web sunucusu için kayıtlı DNS adını kullanın (ör. example.com ).

  

Ev sahibinizin kayıtlı bir DNS adı yoksa, burada IP adresini girin.

    
verilen cevap kenorb 23.10.2017 14:24
0

Açık Ubuntu 16.04 :

Aşağıdaki koddan ServerName localhost dosyasını httpd.conf dosyasına ekleyin.

sudo vi  /etc/apache2/httpd.conf

Ardından bu satırın Include httpd.conf 'sini bu dosyanın sonuna ekleyin

sudo vi /etc/apache2/apache2.conf

Sözdizimi hatalarını tekrar kontrol edin

sudo apache2ctl configtest

Şimdi almalısınız

Syntax OK

Artık yapılandırmayı yeniden yükleyerek sunucuyu hassas bir şekilde yeniden başlatabilirsiniz. sudo service apache2 yeniden başlat

    
verilen cevap daumie 08.01.2018 22:47
0

Açık Ubuntu 16.04 :

Aşağıdaki koddan ServerName localhost dosyasını httpd.conf dosyasına ekleyin.

sudo vi  /etc/apache2/httpd.conf

Ardından bu satırın Include httpd.conf 'sini bu dosyanın sonuna ekleyin

sudo vi /etc/apache2/apache2.conf

Sözdizimi hatalarını tekrar kontrol edin

sudo apache2ctl configtest

Şimdi almalısınız

Syntax OK

Artık yapılandırmayı yeniden yükleyerek sunucuyu zarif bir şekilde yeniden başlatabilirsiniz

sudo service apache2 reload

veya işlemi öldür ve tekrar başla

sudo service apache2 restart
    
verilen cevap daumie 08.01.2018 22:48

Etiketlerdeki diğer soruları oku