httpd: Tidak dapat andal menentukan nama domain berkualifikasi penuh server, menggunakan 127.0.0.1 untuk ServerName


172

Saya mencoba me-restart server Apache saya di CentOS 5.0 dan mendapatkan pesan ini:

httpd: Tidak dapat andal menentukan nama domain berkualifikasi penuh server, menggunakan 127.0.0.1 untuk ServerName

Ini /etc/hostsfile tersebut:

127.0.0.1    server4-245    server4-245.com    localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

Ini /etc/sysconfig/networkfile tersebut:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

Saya juga punya ini di file Apache httpd.conf:

ServerName localhost

Namun, saya masih mendapatkan pesan kesalahan pertama ketika saya me-restart Apache.


1
Pastikan Anda mengedit hak httpd.conf. Biasanya ServerName xybaik-baik saja.
KingCrunch

Jawaban:


95

File host Anda tidak termasuk FQDN yang valid, juga bukan localhostFQDN. FQDN harus menyertakan bagian nama host, serta bagian nama domain. Misalnya, berikut ini adalah FQDN yang valid:

host.server4-245.com

Pilih FQDN dan sertakan keduanya dalam /etc/hostsfile Anda pada alamat IPv4 dan IPv6 yang Anda gunakan (dalam kasus Anda, localhostatau 127.0.0.1), dan ubah ServerNamekonfigurasi httpd Anda agar sesuai.

/ etc / hosts:

127.0.0.1    localhost.localdomain localhost host.server4-245.com
::1          localhost.localdomain localhost host.server4-245.com

httpd.conf:

ServerName host.server4-245.com

6
Perhatikan juga bahwa Anda ingin memodifikasi entri HOSTNAME Anda di file / etc / sysconfig / jaringan Anda agar sesuai dengan nama yang Anda pilih.
Paul Stengel

2
Hmm. Saya punya: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain tetapi tampaknya linux tidak berpikir bahwa gondor.localdomain adalah FQDN juga. Apa masalahnya dengan itu? Apakah saya harus memiliki TLD?
Adam

Hai saya sudah mencoba semua hal di atas dan saya masih mendapatkan kesalahan yang sama, saya tidak begitu mengerti apa yang saya miliki di sini. FQDN saya adalah ak.local.com diatur dengan cara yang sama dengan jawaban Anda, tetapi saya masih mendapatkan masalah yang sama. Saya menjalankan OSX 10.10
AKFourSeven

1
Saya menemukan bahwa: 127.0.0.1 myserver myserver.mydom.com ... etc << tidak berfungsi 127.0.0.1 myserver.mydom.com myserver ... etc << bekerja
Martin

208

Jika Anda tidak memiliki httpd.conffolder /etc/apache2, Anda harus memiliki apache2.conf - cukup tambahkan:

ServerName localhost

Kemudian mulai kembali apache2layanan.


2
Bekerja dengan baik di Ubuntu 12,04 LTS yang menjalankan banyak virtual host.
Gor

3
Bekerja dengan sempurna di Mac OS 10.7.5 menjalankan banyak host virtual.
DudeOnRock

1
Bekerja pada Mac OS 10.7.5 menjalankan Virtualbox
iWizard

3
Bekerja dengan baik pada Centos 6.4.
Kel Solaar

7
Bekerja dengan baik pada Centos 6 (versi cloud), meskipun httpd.conf berada di / etc / httpd / conf /
gbarry

64

Setelah instalasi awal server Apache, saya mendapatkan kesalahan berikut saat memulai kembali layanan Apache pada Ubuntu 12.04 (Precise Pangolin)

Solusinya sangat sederhana. Cukup tambahkan ServerNamearahan ke /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Menambahkan: ServerName localhost

Akhirnya restart server Apache:

sudo /etc/init.d/apache2 restart

1
Di dalam CentOS 7, jalannya akan menjadi /etc/httpd/conf/httpd.conf
Debashis

11

Jadi sementara ini dijawab dan diterima masih muncul sebagai hasil pencarian teratas dan jawaban yang diletakkan (setelah banyak penelitian) membuat saya menggaruk-garuk kepala dan menggali lebih jauh. Jadi, inilah tata letak cepat tentang cara saya menyelesaikan masalah.

Dengan asumsi server saya adalah myserver.myhome.com dan alamat IP statis saya adalah 192.168.1.150:

  1. Edit file host

    $ sudo nano -w /etc/hosts
    
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    
    127.0.0.1 myserver.myhome.com myserver
    
    192.168.1.150 myserver.myhome.com myserver
    
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    ::1 myserver.myhome.com myserver
    
  2. Edit httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. Edit jaringan

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. Memeriksa

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. Mulai ulang Apache

    $ sudo /etc/init.d/apache2 restart
    

Tampaknya perbedaannya termasuk myserver.myhome.comke 127.0.0.1 serta alamat IP statis 192.168.1.150 dalam file hosts. Hal yang sama pada Ubuntu Server dan CentOS.


9

Di httpd.conf, cari "ServerName". Biasanya dikomentari secara default di Mac. Cukup batalkan komentar dan isilah. Pastikan Anda juga memiliki nama / ip kombo yang diset di / etc / hosts.


Terima kasih, ini sangat membantu. httpd tidak mengambil fqdn saya di / etc / hosts, dan nama host saya sepertinya terkonfigurasi dengan benar.
Banjer

8

Pastikan Anda mengedit httpd.conffile yang tepat , maka kesalahan tentang nama domain server tidak dapat diandalkan harus hilang (ini adalah kesalahan paling umum).

Untuk menemukan httpd.conffile konfigurasi Apache Anda , jalankan:

apachectl -t -D DUMP_INCLUDES

Kemudian edit file dan batalkan komentar atau ubah ServerNamebaris menjadi:

ServerName localhost

Kemudian restart apache Anda dengan: sudo apachectl restart


1
"Pastikan Anda mengedit file htttpd.conf yang tepat," ini membantu saya di macOS. Saya tidak mengedit http.conffile yang tepat . Terima kasih.
Asme Just


3

Ada dua cara untuk mengatasi kesalahan ini:

  1. Include /etc/apache2/httpd.conf

    Tambahkan baris di atas dalam file /etc/apache2/apache2.conf

  2. Tambahkan baris ini di akhir file /etc/apache2/apache2.conf :

    ServerName localhost


1

Saya telah menyelesaikan pesan nama domain yang sepenuhnya memenuhi syarat pada kesempatan yang berbeda dengan menambahkan nama host server saya ke file /etc/apache2/httpd.conf dan ke /etc/apache2/apache2.conf file tersebut.

Tipe hostname -f terminal Anda. Permintaan ini akan mengembalikan nama host Anda.

Kemudian edit /etc/apache2/httpd.conffile (atau buat jika tidak ada alasannya) dan tambahkanServerName <your_hostname> .

Atau, saya juga bisa menghilangkan pesan dengan menambahkan ServerName <your_hostname>ke/etc/apache2/apache2.conf file.

Jika semuanya berjalan dengan baik, saat Anda me-restart Apache, pesannya akan hilang.


1

Kebanyakan jawaban menyarankan untuk hanya menambahkan ServerName localhostke /etc/apache2/apache2.conf.

Tetapi mengutip dokumentasi Apache  :

Kehadiran pesan kesalahan ini juga menunjukkan bahwa Apache httpd tidak dapat memperoleh nama host yang sepenuhnya memenuhi syarat dengan melakukan pencarian terbalik pada alamat IP server Anda. Meskipun petunjuk di atas akan menghilangkan peringatan dalam hal apa pun, itu juga merupakan ide yang baik untuk memperbaiki resolusi nama Anda sehingga pemetaan terbalik ini berfungsi.

Oleh karena itu menambahkan garis seperti /etc/hostsitu mungkin merupakan solusi yang lebih kuat:

192.0.2.0  foobar.example.com  foobar

di mana 192.0.2.0 adalah alamat IP statis dari server yang dinamai foobardalam example.comdomain.

Seseorang dapat memeriksa FQDN misalnya dengan

hostname -A

(pintasan untuk hostname --all-fqdn).


1

Ternyata saya punya masalah ini dan itu karena saya menggunakan "tab" untuk baris indentasi bukannya spasi. Hanya memposting, kalau-kalau itu membantu siapa pun.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.