How to Fix _default_ VirtualHost overlap on port 80, the first has precedence

Question :
I running wordpress blog on apache web server on Virtual private server (VPS). I had the problem when i restarted the httpd service on my VPS. This error came after i setup multiple domain on my httpd config file, meaning i used more than one VirtualHost on httpd.conf :

[root@vps ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: [Thu May 01 00:01:03 2014] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
                                                           [  OK  ]

Solution :

After a few hours troubleshooting and googling to internet, i managed to fix the issue. When we decide to run multiple domain in one web server or web hosting world called it shared hosting service, you need to configure name-based virtual hosts on your apache httpd service. NameVirtualhost is require to be included in httpd.conf file as below :

..
..
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
..
..

Then restart the apache httpd. Issue resolved!

How to Install Apache httpd on Linux Fedora 16 Server

This post will guide you how to install apache httpd service on linux Fedora 16. Apache HTTP is a popular web server for linux servers. Follow this steps to install apache httpd service.

Simply run this command :

[root@fedora16 ~]# yum install httpd -y
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i686 0:2.2.21-1.fc16 will be installed
--> Processing Dependency: httpd-tools = 2.2.21-1.fc16 for package: httpd-2.2.21-1.fc16.i686
--> Processing Dependency: /etc/mime.types for package: httpd-2.2.21-1.fc16.i686
--> Processing Dependency: libaprutil-1.so.0 for package: httpd-2.2.21-1.fc16.i686
--> Processing Dependency: libapr-1.so.0 for package: httpd-2.2.21-1.fc16.i686
--> Processing Dependency: apr-util-ldap for package: httpd-2.2.21-1.fc16.i686
--> Running transaction check
---> Package apr.i686 0:1.4.5-1.fc16 will be installed
---> Package apr-util.i686 0:1.3.12-1.fc16 will be installed
---> Package apr-util-ldap.i686 0:1.3.12-1.fc16 will be installed
---> Package httpd-tools.i686 0:2.2.21-1.fc16 will be installed
---> Package mailcap.noarch 0:2.1.38-1.fc16 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                Arch            Version                  Repository                    Size
====================================================================================================
Installing:
 httpd                  i686            2.2.21-1.fc16            Fedora16-Repository          811 k
Installing for dependencies:
 apr                    i686            1.4.5-1.fc16             Fedora16-Repository          103 k
 apr-util               i686            1.3.12-1.fc16            Fedora16-Repository           82 k
 apr-util-ldap          i686            1.3.12-1.fc16            Fedora16-Repository           16 k
 httpd-tools            i686            2.2.21-1.fc16            Fedora16-Repository           69 k
 mailcap                noarch          2.1.38-1.fc16            Fedora16-Repository           29 k

Transaction Summary
====================================================================================================
Install       6 Packages

Total download size: 1.1 M
Installed size: 3.4 M
Downloading Packages:
----------------------------------------------------------------------------------------------------
Total                                                               2.1 MB/s | 1.1 MB     00:00
Running Transaction Check
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : mailcap-2.1.38-1.fc16.noarch                                                     1/6
  Installing : apr-1.4.5-1.fc16.i686                                                            2/6
  Installing : apr-util-1.3.12-1.fc16.i686                                                      3/6
  Installing : httpd-tools-2.2.21-1.fc16.i686                                                   4/6
  Installing : apr-util-ldap-1.3.12-1.fc16.i686                                                 5/6
  Installing : httpd-2.2.21-1.fc16.i686                                                         6/6

Installed:
  httpd.i686 0:2.2.21-1.fc16

Dependency Installed:
  apr.i686 0:1.4.5-1.fc16                           apr-util.i686 0:1.3.12-1.fc16
  apr-util-ldap.i686 0:1.3.12-1.fc16                httpd-tools.i686 0:2.2.21-1.fc16
  mailcap.noarch 0:2.1.38-1.fc16

Complete!

Configure your system to start Apache at boot time :

[root@fedora16 ~]# systemctl enable httpd.service

Start Apache service :

[root@fedora16 ~]# systemctl start httpd.service

How to Install Httpd on CentOS 5.7

Apache httpd is one of the most popular web servers and has a lot of features that make it very extensible and useful for many different types of websites.This steps has been tested on CentOS 5.7 with direct internet connection.

Simply run this command to install apache httpd service on CentOS 5.7:

    [root@CentOS57 ~]# yum install httpd
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirror.yourconnect.com
     * extras: mirrors.sin1.sg.voxel.net
     * updates: mirror.yourconnect.com
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package httpd.i386 0:2.2.3-53.el5.centos.3 set to be updated
    base/filelists                                                              | 2.9 MB     00:25
    extras/filelists_db                                                         | 199 kB     00:03
    updates/filelists_db                                                        | 1.9 MB     00:22
    --> Processing Dependency: /etc/mime.types for package: httpd
    --> Processing Dependency: libapr-1.so.0 for package: httpd
    --> Processing Dependency: libaprutil-1.so.0 for package: httpd
    --> Running transaction check
    ---> Package apr.i386 0:1.2.7-11.el5_6.5 set to be updated
    ---> Package apr-util.i386 0:1.2.7-11.el5_5.2 set to be updated
    --> Processing Dependency: libpq.so.4 for package: apr-util
    ---> Package mailcap.noarch 0:2.1.23-1.fc6 set to be updated
    --> Running transaction check
    ---> Package postgresql-libs.i386 0:8.1.23-1.el5_7.3 set to be updated
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===================================================================================================
     Package                  Arch            Version                           Repository        Size
    ===================================================================================================
    Installing:
     httpd                    i386            2.2.3-53.el5.centos.3             updates          1.2 M
    Installing for dependencies:
     apr                      i386            1.2.7-11.el5_6.5                  base             124 k
     apr-util                 i386            1.2.7-11.el5_5.2                  base              80 k
     mailcap                  noarch          2.1.23-1.fc6                      base              14 k
     postgresql-libs          i386            8.1.23-1.el5_7.3                  updates          197 k
    
    Transaction Summary
    ===================================================================================================
    Install       5 Package(s)
    Upgrade       0 Package(s)
    
    Total download size: 1.6 M
    Is this ok [y/N]: y
    Downloading Packages:
    (1/5): mailcap-2.1.23-1.fc6.noarch.rpm                                      |  14 kB     00:00
    (2/5): apr-util-1.2.7-11.el5_5.2.i386.rpm                                   |  80 kB     00:00
    (3/5): apr-1.2.7-11.el5_6.5.i386.rpm                                        | 124 kB     00:01
    (4/5): postgresql-libs-8.1.23-1.el5_7.3.i386.rpm                            | 197 kB     00:02
    (5/5): httpd-2.2.3-53.el5.centos.3.i386.rpm                                 | 1.2 MB     00:11
    ---------------------------------------------------------------------------------------------------
    Total                                                               99 kB/s | 1.6 MB     00:16
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing     : apr                                                                         1/5
      Installing     : mailcap                                                                     2/5
      Installing     : postgresql-libs                                                             3/5
      Installing     : apr-util                                                                    4/5
      Installing     : httpd                                                                       5/5
    
    Installed:
      httpd.i386 0:2.2.3-53.el5.centos.3
    
    Dependency Installed:
      apr.i386 0:1.2.7-11.el5_6.5                 apr-util.i386 0:1.2.7-11.el5_5.2
      mailcap.noarch 0:2.1.23-1.fc6               postgresql-libs.i386 0:8.1.23-1.el5_7.3
    
    Complete!
    

Set httpd service to auto start at boot:

    [root@CentOS57 ~]# chkconfig httpd on
    

Start and troubleshoot httpd start error:

    [root@CentOS57 ~]# service httpd start
    
    Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    

Check the server hostname or server fully qualified domain name:

    [root@CentOS57 ~]# hostname
    CentOS57
    

Change the ServerName on line 265 to your hostname above.

    [root@CentOS57 ~]# vi /etc/httpd/conf/httpd.conf
    
      263 # redirections work in a sensible way.
        264 #
        265 ServerName CentOS57:80
        266
        267 #
    

Start the Httpd service using the following command :

    [root@CentOS57 ~]# service httpd start
    Starting httpd:                                            [  OK  ]
    

or

    [root@CentOS57 ~]# /etc/init.d/httpd start
    Starting httpd:                                            [  OK  ]