Ketika server Ubuntu Apache saya (Apache 2) dimulai saya mendapatkan pesan peringatan yang berbunyi:
[warn] NameVirtualHost *:80 has no VirtualHosts
Namun, server web berfungsi dengan baik. Apa yang mungkin saya salah dalam konfigurasi situs saya untuk membuatnya memberi saya peringatan ini?
File konfigurasi yang dimaksud (terletak di /etc/apache2/sites-available
) berbunyi seperti (perincian dihapus karena singkatnya)
<VirtualHost *>
<Location /mysite>
# Configuration details here...
</Location>
# Use the following for authorization.
<LocationMatch "/mysite/login">
AuthType Basic
AuthName "My Site"
AuthUserFile /etc/sitepasswords/passwd
Require valid-user
</LocationMatch>
</VirtualHost>
Mungkinkah fakta yang saya gunakan <Location>
menjadi bagian dari masalah?
sumber
<VirtualHost _default_ thehostname.com>
Itu bisa jadi karena Anda memiliki direktif NameVirtualHost di lebih dari satu tempat.
Saya tidak tahu tentang distribusi lain, tetapi di Ubuntu / Debian, konfigurasi Apache dibagi menjadi beberapa file, jadi Anda harus memeriksa di mana duplikasinya (httpd.conf, apache2.conf, ports.conf, conf.d / *).
Oh, dan saya baru saja menemukan sumber yang hebat ini dengan informasi lebih lanjut: Konfigurasi Apache Umum .
sumber
NameVirtualHost *:80
masukports.conf
dan masukconf.d/virtualhosts
, yang tampaknya merupakan bug Ubuntu.Pada kotak Debian / Lenny: Di /etc/apache2/ports.conf ada pernyataan NameVirtualHost tambahan - yang bisa menjadi penyebab masalah ini (ada juga pernyataan yang sama di / etc / apache2 / sites-available / default) . Saya mengomentari pernyataan itu dan kesalahannya hilang.
sumber
Anda memiliki NameVirtualHost tanpa entri VirtualHost yang cocok.
Ini biasanya tidak fatal, hanya kesalahan informatif.
sumber
Itu karena baris NameVirtualHost Anda memiliki nomor port di atasnya (
:80
), tetapi bagian VirtualHost Anda tidak.sumber
AS Rune menyebutkan, pada sistem Debian NameVirtualHost muncul di banyak file - ports.conf, conf.d / virtual.conf dan mungkin file conf Anda sendiri di situs-tersedia
Pastikan itu ada di satu tempat sebagai NameVirtualHost *: 80 (milik saya di conf.d / virtual.conf) dan peringatan harus pergi.
Seperti yang disebutkan Anda juga perlu membuat arahan VirtualHost untuk setiap situs yang tersedia memiliki format ini
<VirtualHost *:80>
sumber
Saya memiliki masalah yang sama, tetapi saya menonaktifkan situs default Apache dalam beberapa saat. Saya mengetik sesuatu seperti
Setelah saya mencoba me-restart Apache 2, saya menerima pesan ini:
Lalu saya aktifkan situs 'default' dari Apache 2 lagi dan semuanya berfungsi lagi, perintah yang digunakan adalah:
Itu semua orang!
sumber