Saturday, June 06, 2015

NameVirtualHost *:80 has no VirtualHosts



Apache2 Warning, pesannya seperti dibawah ini,
root@webserver:~# service apache2 restart
[....] Restarting web server: apache2[Sat Jun 06 08:16:03 2015] [warn] NameVirtualHost webserver.bangandi.web.id:80 has no VirtualHosts
 ... waiting [Sat Jun 06 08:16:04 2015] [warn] NameVirtualHost webserver.bangandi.web.id:80 has no VirtualHosts
. ok
Pesan diatas sebenarnya bukanlah error karena apache2 masih berjalan tanpa adanya masalah koneksi ke multi domain.mycompany.com, jadi apache2 hanya memberitahukan agar diperhatikan dan diperiksa bahwa ada duplikasi syntax Virtual Host [ VHost ], kemungkinan besar memang ada syntax yang di deklarasikan 2 kali atau karena hal lainnya.

Cara menelusuri dan memperbaikinya adalah sebagai berikut :
  1. Pada warning telah ditunjukkan pada webserver.bangandi.web.id, jadi periksa file konfigurasi VHost ini terlebih dahulu yang terletak di direktori /etc/apache2/sites-available dengan,
  2. nano /etc/apache2/sites-available/webserver.bangandi.web.id.conf
    Dalam kasus saya isinya seperti berikut ini,
    NameVirtualHost webserver.bangandi.web.id:80
    DocumentRoot "/var/www/webserver.bangandi.web.id"
    ServerName webserver.bangandi.web.id
    ServerAlias www.webserver.bangandi.web.id
    ServerAlias 11.7.70.4
    allow from 127.0.0.1
    allow from ::1
    ......
  3. Saya pun beralih ke file ports.conf yang terletak di direktori /etc/apache2 dengan,
  4. nano /etc/apache2/ports.conf
    Isinya seperti ini,
    ....
    # README.Debian.gz
    NameVirtualHost *:80
    Listen *:80
    ....
    Dugaan terakhir saya kesalahan konfigurasi terletak di file hosts, saya pun teringat pernah mengalami kejadian yang serupa seperti apache2 warning diatas.

  5. Dan beralih ke file hosts dengan,
nano /etc/hosts
Dalam kasus saya, isi file hosts seperti dibawah ini,
127.0.0.1       webserver.bangandi.web.id webserver localhost
11.7.70.4       webserver.bangandi.web.id webserver localhost
::1             webserver.bangandi.web.id webserver localhost
Saya ingat merubah konfigurasi file hosts pada bagian,
::1              webserver.bangandi.web.id webserver localhost
Lalu saya ubah kembali menjadi,
127.0.0.1       webserver.bangandi.web.id webserver localhost
11.7.70.4       webserver.bangandi.web.id webserver localhost
::1             localhost
Kemudian periksa dengan command,
service apache2 restart
Dan hasilnya seperti dibawah ini,
root@webserver:~# service apache2 restart
[ ok ] Restarting web server: apache2 ... waiting.

Done. Kesalahan tidak terletak pada file konfigurasi apache2 namun hanya pada file hosts saja. Jadi, kita hanya perlu lebih teliti.

Tips. Hati-hati dalam merubah konfigurasi file-file yang berhubungan dengan sistem apache2, buat backup file .conf terlebih dahulu, jika ada kesalahan yang dibuat maka masih bisa dikembalikan lagi ke konfigurasi terakhir kali.

Semoga Membantu!