Tidak dapat secara andal menentukan nama domain server yang sepenuhnya memenuhi syarat

110

Saya baru saja menginstal Apache 2.2.17, dan saya menggunakannya untuk pertama kali.

Sekarang ketika saya mencoba untuk memulai server menggunakan perintah service httpd startitu memberi saya pesan:

httpd: Tidak dapat secara andal menentukan nama domain server yang sepenuhnya memenuhi syarat, menggunakan :: 1 untuk ServerName

Sekarang saya pikir saya harus mengatur Nama Server dan alamat IP saat saya mencari melalui Google. Tapi saya tidak tahu di file mana saya harus mengatur.

Bagaimana cara memperbaiki masalah ini?

mahesh
sumber

Jawaban:

66

Ya, Anda harus mengatur ServerName:

http://wiki.apache.org/httpd/CouldNotDetermineServerName

http://httpd.apache.org/docs/current/mod/core.html#servername

Anda dapat menemukan informasi tentang tata letak yang digunakan oleh berbagai distribusi httpd di sini:

http://wiki.apache.org/httpd/DistrosDefaultLayout

Dalam kasus Anda, file yang akan diedit adalah /etc/httpd/conf/httpd.conf

noodl
sumber
Halo terima kasih banyak atas jawaban Anda, saya telah mengedit /etc/httpd/conf/httpd.conf dan mencoba mengatur ServerName sebagai berikut Listen 80 NameVirtualHost 172.20.30.40:80 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot / home / user / Softwares / mysite / </VirtualHost>** Tapi saya masih mendapatkan pesan kesalahan di bawah .. ** Memulai httpd: Peringatan: DocumentRoot [/ home / user / Softwares / mysite] tidak ada httpd: Tidak dapat menentukan server secara lengkap nama domain yang memenuhi syarat, menggunakan :: 1 untuk ServerName
mahesh
81
  1. sudo vim /etc/apache2/httpd.conf
  2. Masukkan baris berikut di httpd.conf: ServerName localhost
  3. Mulai ulang Apache: sudo /etc/init.d/apache2 restart
Douglas Miranda
sumber
2
Pada RPi saya, saya harus meletakkan file httpd.conf di /etc/apache2/conf.d agar bisa berfungsi.
samkass
Menggunakan Ubuntu 13.04, saya harus memasukkannya ke /etc/apache2/conf.d/httpd.conf juga, tidak ada yang berhasil ...
user1853181
Terima kasih ini menyelesaikan masalah saya juga. Saya baru-baru ini menetapkan nama host sebenarnya di / etc / hosts dan ini merusak apache sampai saya menetapkan ServerName localhost dalam konteks global. Sekarang vhost berfungsi kembali dan sertifikat SSL disajikan dengan benar.
AaronM
15

Saya TIDAK salah mendapatkan Nama Server. Di dalam konfigurasi VirtualHost Anda yang menyebabkan pesan peringatan ini, ini adalah konfigurasi umum di dekat bagian atas httpd.conf Anda yang secara default diberi komentar .

Perubahan

#ServerName www.example.com:80

untuk:

  ServerName 127.0.0.1:80
zzapper
sumber
10

Di bawah Debian Squeeze;

  1. Edit file conf Apache2: vim /etc/apache2/apache2.conf
  2. Masukkan baris berikut di apache2.conf: ServerName localhost
  3. Mulai ulang Apache2: apache2ctl restart atau /etc/init.d/apache2 restart

Seharusnya berfungsi dengan baik (itu menyelesaikan masalah dalam kasus saya)

tks noodl untuk tautan pada tata letak yang berbeda. :)

Bernard Sfez
sumber
4

Pilihan lainnya adalah memastikan bahwa nama host lengkap yang memenuhi syarat (FQDN) terdaftar di / etc / hosts. Ini berfungsi untuk saya di Ubuntu v11.10 tanpa harus mengubah konfigurasi Apache default.

Lars Nordin
sumber
4
  1. sudo nano /etc/apache2/httpd.conf
  2. mencari teks ServerNamedi editor nano<Ctrl + W>
  3. Masukkan baris berikut di httpd.conf: ServerName localhost
  4. Mulai ulang Apache: sudo /usr/sbin/apachectl restart
Yevgeniy Afanasyev
sumber
3

"Untuk mengatasi masalah ini, Anda perlu mengatur ServerName.

1: $ vim /etc/apache2/conf.d/name Misalnya set tambahkan ServerName localhost atau nama lain:

2: ServerName localhost Mulai ulang Apache 2

3: $ service apache restart Untuk contoh ini saya menggunakan Ubuntu 11.10.1.125 "

Alice Wright
sumber
1

FQDN berarti nama yang diselesaikan melalui DNS. Ini harus seperti "nama-server.search-domain".

Peringatan yang Anda dapatkan hanya memberikan pemberitahuan bahwa httpd tidak dapat menemukan FQDN, jadi mungkin tidak berfungsi dengan benar untuk menangani host virtual berbasis nama. Jadi pastikan FQDN yang diharapkan terdaftar di server DNS Anda, atau secara manual tambahkan entri /etc/hostssebelum mencapai DNS.

shawmzhu
sumber
0

Dua hal tampaknya berhasil untuk saya:

  1. Letakkan semua alias untuk 127.0.0.1 di / etc / hosts dalam satu baris (mis 127.0.0.1 localhost mysite.local myothersite.local
  2. Setel ServerNamedi httpd.conf saya ke 0.0.0.0(localhost atau 127.0.0.1 tidak berfungsi untuk saya)

Mengedit / etc / hosts menghilangkan waktu respon yang lama dan mengatur ServerName menghilangkan peringatan OP untuk saya.

Benjamin Bojko
sumber
0

yang masih tidak bisa menyelesaikan masalah dan menggunakan mac, ikuti ini

1. buka folder root /

  1. cd usr / local / etc / apache2 / 2.4

3. sudo nano httpd.conf

4. ubah #servername ke ServerName 127.0.0.1:8080 tekan ctrl + o, + return + ctrl x

5. kemudian restart server apachectl restart

javaguru
sumber
0

Jika Anda menggunakan windows, ada situasi yang berbeda

Pertama buka c:/apache24/conf/httpd.conf. Folder Apache cukup tidak secara khusus di atas jalur

Setelah itu Anda harus mengkonfigurasi file httpd.conf.

Tepat setelah beberapa baris ada pola seperti:

#Listen _____________:80
Listen 80

Di sini Anda harus berubah untuk localhost.

Anda harus memasukkan alamat ipv4 untuk itu Anda dapat membuka localhost.

Lihat tautan video ini dan setelah itu sedikit lagi.

Ubah variabel lingkungan Anda:

Gambar untuk Variabel PENGGUNA Lingkungan dalam pengaturan Sistem

Di mana Anda harus memasuki jalur:

c:apache24/bin

dan
sama dalam variabel SISTEM

Gambar untuk jalur variabel sistem

Jika ada pertanyaan, jangan ragu untuk bertanya.

ankit
sumber
0

Jika Anda menggunakan windows, hapus komentar pada baris ini dan setel sebagai:

Line 227 : ServerName 127.0.0.1:80 
Line 235 : AllowOverride all 
Line 236 : Require all granted

Bekerja untuk saya!

hitesh kumar
sumber
0

Ini dua sen saya. Mungkin berguna untuk pembaca selanjutnya.

Saya mengalami masalah ini saat menggunakan Apache dalam wadah Docker. Saat saya memulai container dari gambar server web Apache, pesan ini muncul saat saya memulainya docker run -it -p 80:80 my-apache-container.

Namun, setelah memulai penampung dalam mode terpisah, menggunakan docker run -d -p 80:80 my-apache-container, saya dapat terhubung melalui browser.

Kaisar MC
sumber