Tuesday, October 25, 2011

How to Host Multiple Domains on Single IP

We are going to learn in this tutorial how to host multiple domains on a single IP.

Bind Installation
———————-

yum install bind bind-utils bind-* caching-*

Now we are going to configure the Bind Service you can copy the files content and modify with your required settings.

cd /var/named/chroot/etc

vi named.conf

Named.conf Contents

options
{
        directory "/var/named"; // the default
        dump-file               "data/cache_dump.db";
        statistics-file         "data/named_stats.txt";
        memstatistics-file      "data/named_mem_stats.txt";

};

zone "." IN {
        type hint;
        file "named.root";
};

zone "localhost" IN {
        type master;
        file "localhost.fwd";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "localhost.rev";
        allow-update { none; };
};

zone "maindomain.com" IN {
        type master;
        file "maindomain.com.fwd";
        allow-update { none; };
};

zone "domain1.com" IN {
        type master;
        file "domain1.com.fwd";
        allow-update { none; };
};

zone "domain2.com" IN {
        type master;
        file "domain2.com.fwd";
        allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "maindomain.rev";
        allow-update { none; };
};

cd ..
cd var/named

Now create named.root file # This file is used for root dns

vi named.root

Named.root File Contents


; root “.” zone hints file, queried of a.root-servers.net. by system-config-bind
; version of root zone: 2011061400
. 518400 IN NS b.root-servers.net.
. 518400 IN NS i.root-servers.net.
. 518400 IN NS l.root-servers.net.
. 518400 IN NS f.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS k.root-servers.net.
. 518400 IN NS h.root-servers.net.
. 518400 IN NS g.root-servers.net.
. 518400 IN NS a.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS m.root-servers.net.
. 518400 IN NS e.root-servers.net.
. 518400 IN NS j.root-servers.net.
b.root-servers.net. 3600000 IN A 192.228.79.201
i.root-servers.net. 3600000 IN A 192.36.148.17
i.root-servers.net. 3600000 IN AAAA 2001:7fe::53
l.root-servers.net. 3600000 IN A 199.7.83.42
l.root-servers.net. 3600000 IN AAAA 2001:500:3::42
f.root-servers.net. 3600000 IN A 192.5.5.241
f.root-servers.net. 3600000 IN AAAA 2001:500:2f::f
d.root-servers.net. 3600000 IN A 128.8.10.90
d.root-servers.net. 3600000 IN AAAA 2001:500:2d::d
k.root-servers.net. 3600000 IN A 193.0.14.129
k.root-servers.net. 3600000 IN AAAA 2001:7fd::1
h.root-servers.net. 3600000 IN A 128.63.2.53
h.root-servers.net. 3600000 IN AAAA 2001:500:1::803f:235

Save & Exit

Now Create Zone Files which we mentioned in named.conf file

localhost.fwd
localhost.rev
maindomain.com.fwd
maindomain.com.rev
domain1.com.fwd
domain2.com.fwd

vi localhost.fwd

Localhost.fwd file contents

$ORIGIN localhost.
$TTL 86400
@     IN     SOA     ns1.maindomain.com.     root.maindomain.com. (
        20110930 ; Serial number
        3H ; Refresh 1 day
        15M ; Retry 2 hours
        1W ; Expire 41.67 days
        1D ) ; Minimum TTL 2 days

@         IN     NS     ns1.maindomain.com.

localhost.     IN     A     127.0.0.1

Save & Exit


vi localhost.rev


Localhost.rev file contents

$ORIGIN 0.0.127.in-addr.arpa.
$TTL 86400
@     IN     SOA     ns1.maindomain.com.     root.maindomain.com. (
        20110930 ; Serial number
        3H ; Refresh 1 day
        15M ; Retry 2 hours
        1W ; Expire 41.67 days
        1D ) ; Minimum TTL 2 days

@             IN     NS     ns1.maindomain.com.

1.0.0.127.in-addr.arpa.     IN     PTR      localhost.


vi maindomain.com.fwd


Maindomain.com.fwd Contents

$ORIGIN maindomain.com.
$TTL 86400
@     IN     SOA     ns1.maindomain.com.     root.maindomain.com. (
        20110930 ; Serial number
        3H ; Refresh 1 day
                     15M ; Retry 2 hours
                     1W ; Expire 41.67 days
                     1D ) ; Minimum TTL 2 days

@                           IN    NS     ns1.maindomain.com.
@                       IN         MX 10       ns1.maindomain.com.
ns1.maindomain.com.      IN          A           192.168.0.220
www                 IN       CNAME          ns1


vi maindomain.com.rev

Maindomain.com.rev Contents

$ORIGIN 0.168.192.in-addr.arpa.
$TTL 86400
@     IN     SOA     ns1.maindomain.com.     root.maindomain.com. (
        20110930 ; Serial number
        3H ; Refresh 1 day
                     15M ; Retry 2 hours
                     1W ; Expire 41.67 days
                     1D ) ; Minimum TTL 2 days

@                           IN    NS     ns1.maindomain.com.
@                       IN         MX 10       ns1.maindomain.com.
220.0.168.192.in-addr.arpa.     IN     PTR     ns1.maindomain.com.


vi domain1.com.fwd

domain1.com.fwd Contents

$ORIGIN domain1.com.
$TTL 86400
@     IN     SOA     ns1.maindomain.com.     root.maindomain.com. (
        20110930 ; Serial number
        3H ; Refresh 1 day
                     15M ; Retry 2 hours
                     1W ; Expire 41.67 days
                     1D ) ; Minimum TTL 2 days

@                           IN    NS     ns1.maindomain.com.
@                       IN         MX 10       ns1.maindomain.com.
www                     IN         CNAME    ns1.maindomain.com.

domain2.com.fwd Contents

$ORIGIN domain2.com.
$TTL 86400
@     IN     SOA     ns1.maindomain.com.  root.maindomain.com. (
        20110930 ; Serial number
        3H ; Refresh 1 day
                     15M ; Retry 2 hours
                     1W ; Expire 41.67 days
                     1D ) ; Minimum TTL 2 days

@                           IN    NS     ns1.maindomain.com.
@                       IN         MX 10       ns1.maindomain.com.
www                     IN         CNAME   ns1.maindomain.com.


Start Named Service

service named start

chkconfig named on

Install Apache Server
=================

yum install httpd

vi /etc/httpd/conf/httpd.conf

You need to add These Lines at the end of httpd.conf file
———————————————————————-

NameVirtualHost 192.168.0.220:80

    <VirtualHost 192.168.0.220:80>
    ServerName www.domain1.com
    DocumentRoot /var/www/domain1/
    </VirtualHost>

    <VirtualHost 192.168.0.220:80>
    ServerName www.domain2.com
    DocumentRoot /var/www/domain2/
    </VirtualHost>

Create these directories which we mention above

mkdir -p /var/www/domain1
mkdir -p /var/www/domain2

touch /var/www/domain1/index.html
echo "welcome to Domain 1 " > /var/www/domain1/index.html

touch /var/www/domain2/index.html
echo "welcome to Domain 2 " > /var/www/domain2/index.html

Now browse www.domain1.com & www.domain2.com

No comments:

Post a Comment