Chapter W21. WebSite Setup
 
 
Goals for this chapter: rpm packages covered in this chapter: 
  • httpd (/etc/rc.d/init.d/httpd)
  • caching-nameserver (/etc/named.conf)
  • bind (/etc/rc.d/init.d/named)
  • netcfg (netcfg)
 
The spirit of the universe is at once destructive and creative--
                                                                                                                                                            it creates while it destroys,
                                                                                                                                                          and destroys while it creates,
                                                                                                                                        and we must inevitably resign ourselves to this."

                                                                                                                                                                  --Albert Schweitzer


CheckList to setup your Website

This chapter is usefull for WebMasters novice and experts. This chapter resume the entire WebMaster course listing the necessary steps for a quick Webserver setup. We understand here, "WebServer setup" the steps to run locally in your company.

Of course, you need a T-1 or DSL connection. ADSL generally is to slow howevery you can try. ISDN is also slow to setup a Webserver.

Therefore we start to speak on

The FlowChar to setup your Web server is as follows:

1. Check at NetworkSolutions if your Website is available, reserve and pay it for one or two years.
2. Order your high-speed phone connection, T-1, or DSL or other. The company will assign you an IP range to be used only by you worldwide. You will use this range to setup your WebServer(s).
3. Update your Apache configuration file.
4. Update your DNS configuration file.
5. Create a new mail domain or use actual domain for e-mail.
6. Testing.

Subscribe at NetworkSolutions.com

NetworkSolutions.com is the company (now a Verisign company) that grants the company identity on the Web.

For example suppose that you are looking to use the Website RMPParadaise.ORG, then you need to visit networksolutions.com and check if this URL (Website) is available or not.

If the website is available you can reserve and pay it for one, two, five or ten years.

The ".ORG" are more unexpensive than ".COM", because they are ORGANIZATION, generally offering free service. However after this task the name "RPMPARADAISE.ORG" is yours for the time you pay, like a rent. If you don't renew, anyone else may pay and take your site.
 
 

Network Solutions supports three types of information:

Now, you can correct your identity like phone number, address and other information.

Of course you need to update the DNS information to be handled by you!

If you have an account you may login and handle directly this. Go to DNS modify screen and update it.

Simply update your default info, anc click continue.
 
 




The update is not inmediate. All the updates become public at 5:00 AM and 5:00 PM Eastern Time.

Officially:

Every day at 5:00 AM and 5:00 PM Eastern Time, new and corrected
information is shared with computers all over the world. If your
request was processed by either of these times, your modification
will be included in these updates.  However, your modified
record may not be visible in Network Solutions' WHOIS database
for 24-48 hours from the time of the zone file update.

Generally the day after you will have your DNS:




Now, you update your local DNS info see Update the DNS (you can update also before, without to wait for Networksolutions, and when they update your Website is up, automatically).

Networksolutions grants the  identity for all the websites. Therefore probably you know the phone number, sometimes a 800 or 888 number but where is located this company or its Web site?. Networksolutions helps to know also this information.

However to know only the remote IP address you may use:

[root@www /root]# dig www.networksolutions.com

; <<>> DiG 9.1.0 <<>> www.networksolutions.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6723
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3

;; QUESTION SECTION:
;www.networksolutions.com.      IN      A

;; ANSWER SECTION:
www.networksolutions.com. 86400 IN      A       216.168.224.69

;; AUTHORITY SECTION:
networksolutions.com.   86400   IN      NS      ns1.netsol.com.
networksolutions.com.   86400   IN      NS      ns2.netsol.com.
networksolutions.com.   86400   IN      NS      ns3.netsol.com.

;; ADDITIONAL SECTION:
ns1.netsol.com.         86400   IN      A       216.168.224.200
ns2.netsol.com.         86400   IN      A       216.168.254.69
ns3.netsol.com.         86400   IN      A       216.168.224.201

;; Query time: 566 msec
;; SERVER: 151.99.125.3#53(151.99.125.3)
;; WHEN: Fri Sep  7 16:09:47 2001
;; MSG SIZE  rcvd: 187

[root@www /root]#
 

Is also important to said that the organization that assign the Internet IP numbers is "iana.org", and Network Solutions grants the who is who, in all the security sense, domain name with the IP address and to the company or the person.

Create the ethernet address alias

Now, that your website address URL is reserved and the payment is complete, you can setup your webserver to handle it.

The first step is to create an alias for the Webserver.

Run, netcfg and click on "Interface" button:
 

Create an alias on the ethernet interface connected to the 
Internet Router. For example 213.82.126.12.

This range of IP address are assigned by the phone company that setup the
Internet connection in your home or office.

You need to choose an internet address in the range they assign to you
no others.

Then assign to this interface an alias in the Hosts list.

For example: 

213.82.126.12   rpmparadaise.futuretg.com    rpmparadaise

This is for internal use.

To allow that the Internet can see your Website, www.rpmparadaise.org, you need to make some updates, to Apache and the DNS.

The Apache updates will be necessary to create a local directory where HTML files and the Website will be installed. The DNS entries will be necessary to translate the assigned address (in this case:) 213.82.126.12 to your rpmparadaise.org the entire planet.

In the words, the local assignment:

213.82.126.12   rpmparadaise.futuretg.com

must be public to the entire world. The DNS service allow this. See Chapter 18: Setting up DNS, for more information.

Update Apache configuration file

Now, we need to create a directory to install the WebServer files. For example:

[root@www www]# mkdir /mnt/www/RPMParadaise.org/

Now, we need to update the

<VirtualHost 213.82.126.12>
    DocumentRoot /mnt/www/RPMParadaise.org
    ServerName store.futuretg.com
    ErrorLog logs/www.rpmparadaise.org.error_log
    CustomLog logs/www.rpmparadaise.org.access_log common
</VirtualHost>

[root@www named]# /etc/rc.d/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[root@www named]#

After this command your server will support your Website.

Update the DNS
 

Add an entry equivalent to:

// 213.82.126.12
zone "RPMParadaise.org" {
        type master;
        file "named.rpmparadaise";
};

in /etc/named.conf file.

Then, duplicate a normal DNS file and modify to the entries to work with your new website.

The "named.conf" file includes a directory to search

The directory is available in the first lines of the file:

options {
        directory "/etc/named";
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
        // query-source address * port 53;
};

Now, we move to that directory and apply our changes.

[root@www /etc]# cd named
[root@www named]# ls
[root@www named]# ls
127.0.0              named.futuretg           named.local          named.thunderlinux
named.bye_bye        named.linuxcourse        named.local.2liv     named.yourlinux
named.ca             named.linuxdistributors  named.local.rpmsave  root.cache
named.ftlinuxcourse  named.linuxutilities     named.marinelinux
named.ftosx_apps     named.linuxwebcampus
[root@www named]#
[root@www named]# cp named.linuxutilities named.rpmparadaise
[root@www named]#
 
 
 
Before to apply the changes After to apply the changes
@               IN      SOA     www.linuxutilities.org. hostmaster.www.futuretg.com. (
                        2001051502 ; serial
                        86400 ; refresh
                        7200 ; retry
                        2592000 ; expire
                        432000 ; default_ttl
                        )
@               IN      MX      5       www.futuretg.com.
@               IN      NS      www.futuretg.com.
@               IN      NS      dns.futuretg.com.
@               IN      NS      www.linuxutilities.org.
www             IN      A       213.82.126.4
@               IN      SOA     www.rpmparadaise.org.   hostmaster.www.rpmparadaise.org. (
                   2001090701 ; serial
                        86400 ; refresh
                        7200 ; retry
                        2592000 ; expire
                        432000 ; default_ttl
                        )
@               IN      MX      5       www.futuretg.com.
@               IN      NS      www.futuretg.com.
@               IN      NS      dns.futuretg.com.
@               IN      NS      www.rpmparadaise.org.
www             IN      A      213.82.126.12

Please note that we don't update the MX record, because we prefer to mantain a centralized e-mailing handling. Changes are in Red.

Is clear that the SOA record must be changed.

Also is clear that we need to create the relative record IN NS www.rpmparadaise.org and the record IN A for the IP address, in this case for 213.82.126.12

Of course is necessary to update the SERIAL number that regards this website.

The Serial number present the following format:

YYYYMMDDSS

YYYY: Is the Year if the four digit format: like 2001, 1987, etc.
MM       Is the month of the year in the two digit format: like 09 (September) or 12 (December).
DD:       Is the day of the month in the two digit format: like 07 or 31 or 12.
SS:        Is the serial number that inform the dns server about how many changes are made. 01 means fresh first time. 02 second update, etc.

Because the date is :

[root@www named]# date
Fri Sep  7 10:07:55 EDT 2001
[root@www named]#

We setup the serial number: 2001090701

Of course we need to re-start the DNS service to apply the changes.
 

[root@www named]# /etc/rc.d/init.d/named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]
[root@www named]#
 

Locally will work inmmediately. The Internet will see your changes in about 48 hours after this change.

[root@www named]# ping www.rpmparadaise.org
PING www.rpmparadaise.org (213.82.126.12) from 213.82.126.12 : 56(84) bytes of data.
64 bytes from www.rpmparadaise.org (213.82.126.12): icmp_seq=0 ttl=255 time=107 usec
64 bytes from www.rpmparadaise.org (213.82.126.12): icmp_seq=1 ttl=255 time=47 usec
 

Is important to the new DNS does not enter in conflit with past DNS entries.

Checking mail

E-mail is more simple and inmmediate mode to contact people and companies worldwide.

The e-mail (Electronic service) is handled generally by the service/daemon: sendmail.

In Chapter 19 we cover the simply steps on the sednmail configuration.

Here we will present a checkout for sendmail, one of the most important contribs to the Internet development.
 

1. Check if sendmail is running.
To test if your system is accept  e-mails, you need to check if sendmail is running
[root@www /root]# ps ax | grep sendmail
  861 ?        S      0:00 sendmail: accepting connections
 6458 pts/0    S      0:00 grep sendmail
[root@www /root]#

2. Check if your mail domain is running.

Sendmail, handles the mode the mail works on TCP/IP ... but we need TPC/IP.

Therefore you need not only the alias for the Ethernet interface, but also this interface must run, and must be configured in the named MX entry. Check Chapter 18 for details.

In other words, check if the mail interface is running.

[root@www /root]# ping mail.futuretg.com
PING mail.futuretg.com (80.204.186.108) from 80.204.186.108 : 56(84) bytes of data.
64 bytes from mail.futuretg.com (80.204.186.108): icmp_seq=0 ttl=255 time=80 usec
64 bytes from mail.futuretg.com (80.204.186.108): icmp_seq=1 ttl=255 time=48 usec

--- mail.futuretg.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.048/0.064/0.080/0.016 ms
[root@www /root]#
 

3. Check local and mail remote presence.

If both checks works then you may force a final check.

Send to yourself an email, for example: "gorlando@futuretg.com" and also send an email to a wrong email address.

For example, send an email to a friend changing some letters, like johnsmith@#!@#@aol.com.

If the "aol.com" sendmail will reply, informing that there are no people with this email ... everything is OK. You will start to receive e-mails soon.

How to Setup an FTP Server

Setup a FTP server is easy. You need to have an additional entry for this service.

Run, netcfg:
 
 

At first create an alias on the ethernet interface connected to the 
Internet Router. For example 213.82.126.15
Then assign to this interface an alias in the Hosts list.
For example: 213.82.126.15   ftp.futuretg.com    ftp
This is for internal use.

If you want that the Internet knows your FTP server, then you need to create an entry in the DNS configuration file relative to the www.futuretg.com.

Remember to remove the "ftp" entry in "/etc/ftpusers", otherwise will be impossible to access the site as anonymous.

Testing your site.

The first test you need to do is test, if you are connected. To do that simply click a

[root@www /root]# ping www.networksolutions.com
PING www.networksolutions.com (216.168.224.69) from 213.82.126.2 : 56(84) bytes of data.
64 bytes from www.networksolutions.com (216.168.224.69): icmp_seq=0 ttl=238 time=2.039 sec
64 bytes from www.networksolutions.com (216.168.224.69): icmp_seq=4 ttl=238 time=2.065 sec
64 bytes from www.networksolutions.com (216.168.224.69): icmp_seq=6 ttl=238 time=2.059 sec

You can also

[root@www /root]# traceroute !$
traceroute www.networksolutions.com
traceroute to www.networksolutions.com (216.168.224.69), 30 hops max, 38 byte packets
 1  213.82.126.1 (213.82.126.1)  2.152 ms  1.119 ms  1.097 ms
 2  r-ts1-cesped.interbusiness.it (195.31.13.185)  12.383 ms  9.178 ms  9.534 ms
 3  r-ts21-fa2.interbusiness.it (195.31.14.236)  9.849 ms  9.458 ms  9.753 ms
 4  r-mi213-ts21.interbusiness.it (151.99.98.117)  19.481 ms  18.919 ms  19.344 ms
 5  r-mi226-fa4.interbusiness.it (151.99.75.217)  18.365 ms  19.201 ms  19.871 ms
 6  mi5-tinc-5-it.seabone.net (195.22.196.81)  21.264 ms mi5-ibs-1adsllight-it.seabone.net (195.22.196.77)  20.342 ms mi5-tinp-5-it.seabone.net (195.22.196.85)  18.988 ms
 7  500.POS3-2.GW8.NYC4.ALTER.NET (157.130.40.57)  113.703 ms  114.160 ms  114.949 ms
 8  * 172.ATM2-0.XR2.NYC4.ALTER.NET (146.188.180.62)  115.255 ms *
 9  188.at-2-1-0.TR2.NYC9.ALTER.NET (152.63.21.146)  2021.273 ms  2039.217 ms  2020.193 ms
10  * * 125.at-5-0-0.TR2.DCA6.ALTER.NET (152.63.2.201)  2063.227 ms
11  286.at-5-0-0.XR2.TCO1.ALTER.NET (152.63.34.37)  2053.529 ms  2043.531 ms  2049.998 ms
12  * * 192.ATM7-0.GW6.TCO1.ALTER.NET (152.63.37.41)  2040.462 ms
13  * * *
14  www.networksolutions.com (216.168.224.69)  2042.282 ms *  2072.990 ms
[root@www /root]#

Now that that you know that there are a flow of data between your server and the rest of the world, you can check if your system receive emails. To receive an email you can send an email to some robots that check URL and FTP, like Mind-It or any other system.

All the e-mails are placed in: "/var/spool/mail"

If the actual date

[root@www /root]# date
Fri Sep  7 11:30:44 EDT 2001

is near to one of the files listed in the directory:




The question three you need to answer is: Are your websites receiving hits?. If the files listed in "/etc/httpd/logs" haves a date and time near to the actual date, then your sistes are receiving hits! ... and of course everything is OK!

 
Like a resume we list here what do you need to test if your Webserver is running:
 

1. Are you connected ? ping a remote webserver or dns.
2.  Are you receiving e-mails? If no go to step 5 otherwise continue.
3. Are your website receiving hits ? If yes go to Step 5.
4. Check Apache and DNS configuration
5. Check sendmail and back to step 2. (Check mail section)
6. Exit.
 
Exercises
  1. Create your own Website following the instruction listed in this chapter.
 
Test
  1. What means SOA in the DNS configuration ?
  2. Is possible to handle multiple mailing services, for example: info@linuxutilities.org for linuxutilities.org, info@rpmparadaise.org for rpmparadaise.org on the same server ? What is necessary to modify ?
  3. What is the command to restart the apache service ?
  4. What is the command to restart the named service ?
  5. What is the organization that grants who is who in the web?
  6. What is the command to know a remote webserver IP ?
  7. What is the directory where are installed the mail?
  8. What is the directory where are located the DNS configuration files?
  9. What is the directory where are installed the HTPD logs?
  10. How you know if the Website are receiving access (hits)?
  11. What is the worldwide organizatio that provides the Internet numbers ?

 

Check the Interactive Exam Cram WebMaster: Try the interactive cram ...

Read the answers to the exercises.
 

Internet Resources for this Chapter.