it-swarm-tr.com

Apache 2 başlatma uyarısı: NameVirtualHost *: 80'de VirtualHost yok

Ubuntu Apache sunucum (Apache 2) başladığında, aşağıdakileri okuyan bir uyarı mesajı alıyorum:

[warn] NameVirtualHost *:80 has no VirtualHosts

Ancak, web sunucusu iyi çalışıyor. Sitemin yapılandırmasında bana bu uyarıyı vermesi için yanlış olan ne olabilir?

Söz konusu yapılandırma dosyası (/etc/Apache2/sites-available) gibi okuyor (ayrıntılar kısalık için kaldırıldı)

<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>

<Location> sorunun bir parçası olmak?

68
Kit Roed

Değişiklik

<VirtualHost *>

okumak

<VirtualHost *:80>

Ya da (NameVirtualHost *: 80) Apache2 Confing dosyanıza iki kez eklendi. (Varsayılan olarak ports.conf dosyasına eklenir)

Bu hatayı gidermelidir.

Kenara: Bu hatayı görmezden gelmemelisiniz. Apache'nin yapılandırması, özellikle sanal ana bilgisayarları (örn. Incet /etc/httpd/vhosts.d/*) globbing yaparken kararlı değil. Bu, ana bilgisayarların açıkça yüklenme sırasını denetlemediğiniz anlamına gelir, böylece bir IP için varsayılan vhost ilk yüklenen olur ve istenmeyen sonuçlara yol açabilir.

Bunun bir örneği, IP için varsayılan vhost, name yerine bu IP'de de kullanılabilir olacaktır. Bu, müşteriler için kafa karıştırıcı olabilecek ad yerine sitelerin IP'sine bakılarak bilgilerin Google'a sızmasına neden olabilir.

Yukarıdaki NameVirtualHost hatası, Apache'nin en uygun olmayan şekilde bir şeyler yüklediğine dair bir ipucu olabilir, bu yüzden bunu göz ardı etmemelisiniz.

53
Dave Cheney

Bunun nedeni birden fazla yerde NameVirtualHost yönergesine sahip olmanız olabilir.

Diğer dağıtımları bilmiyorum, ancak Ubuntu/Debian'da Apache'nin yapılandırması birkaç dosyaya bölünmüş, bu yüzden çoğaltmanın nerede olduğunu kontrol etmeniz gerekecek (httpd.conf, Apache2.conf, ports.conf, conf.d/*).

Oh, ve ben daha fazla bilgi ile bu büyük kaynağı buldum: Ortak Apache Yanlış Yapılandırmalar .

51
Ivan

Debian/Lenny kutusunda: /etc/Apache2/ports.conf dosyasında ek bir NameVirtualHost ifadesi vardır - bu sorunun nedeni olabilir (/ etc/Apache2/sites-available/default içinde de aynı ifade vardır) . Bu ifadeyi yorumladım ve hata hayal kırıklığına uğradı.

9
Rune

Eşleşen VirtualHost girişi olmayan bir NameVirtualHost var.

Bu genellikle ölümcül değildir, sadece bilgilendirici bir hatadır.

3
Dominic Eidson

Çünkü NameVirtualHost satırınızın üzerinde bir bağlantı noktası numarası var (:80), ancak VirtualHost bölümleriniz bunu yapmaz.

3
derobert

AS Rune, Debian sistemlerinde NameVirtualHost birçok dosyada görünür - ports.conf, conf.d/virtual.conf ve muhtemelen kendi conf dosyalarınız int kullanılabilir siteler

NameVirtualHost *: 80 (mayın conf.d/virtual.conf içinde) olarak tek bir yerde bulunduğundan emin olun ve uyarılar geçerli olmalıdır.

Belirtildiği gibi, kullanılabilir her site için VirtualHost yönünü şu biçime sahip olmanız gerekir <VirtualHost *:80>

2
Mo01

Aynı sorun var, ama bir an için varsayılan Apache sitesini devre dışı bırakıyorum. Gibi bir şey yazarım

# a2dissite default

Apache 2'yi yeniden başlatmayı denedikten sonra şu mesajı alıyorum:

"[uyar] NameVirtualHost *: 80'de VirtualHost yok"

Sonra Apache 2'nin 'varsayılan' sitesini tekrar etkinleştiriyorum ve her şey tekrar çalışıyor, kullanılan komut:

# a2ensite default

Hepsi bu kadar millet!

2
Tiago