Tuesday, July 30, 2013

Session 5: Apache Web Server

OVERVIEW
Apache Web Server
Apache offers compression methods the help reduce the size or weight of web pages served over HTTP. Also, it supports pass authentication, digital certificate authentication, graphical user interface (GUI), and virtual hosting. Apache's goal is not to be the fastest web server, but to have a high performance as a web server.


PROBLEM STATEMENT
The goal of the activity is to research on how to successfully install and configure Apache to the computer, and the configuration files it has. After the installation and configuration, the computer should display a webpage that says "It works" when accessed using localhost.


GUIDES IN SOLVING THE PROBLEM
Installation and Configuration of Apache
Process in installing and configuring Apache:
1. Installation begins by simply downloading a version of Apache at apache.org.

2. The downloaded version is in the form of .tar.gz, so we needed to extract it.
                   $ gzip -d httpd-NN.tar.gz
                   $ tar xvf httpd-NN.tar
 (*Note: NN must be replaced by the version number of the Apache you've downloaded.)
After the extraction, the current directory must be set to where the Apache source code is before proceeding to the compiling of the server.

*[In the laboratory, I used the $ sudo apt-get install apache2 command to install Apache]

3. To configure Apache, type $ ./configure --prefix=PREFIX. PREFIX must be replaced with the file system path where the server should be installed. The default path is /usr/local/apache2 if PREFIX is not specified.

4. To build different modules of Apache package, use $ make.

5. To install package under the configured installation PREFIX, use $ make install.
Installation of Apache
6. After the installation, and configuration, try to access he default web page of the server. Use the localhost to access this page. The web page should say "It works!" like the screenshot below. It means that the installation of Apache is successful.
It Works! Installation Successful
7. And to test if Apache is running, use this command:
               $sudo /etc/init.d/apache2 start
Starting Apache

Apache Configuration Files
The configuration files can be found at /etc/apache2.
Some of the configuration files are as follows:
apache2.conf : It is the main Apache2 configuration file. It contains the settings that are global to Apache2.

httpd.conf : Historically, it is the main Apache2 configuration file, named after the httpd daemon. Now the file is typically empty, as most configuration option has been moved to some directories. The file can be used for user specific configuration options that globally affect Apache2.

ports.conf : It contains the directories that determine which TCP ports Apache2 is listening on.
[Reference: https://help.ubuntu.com/lts/serverguide/httpd.html]



LEARNING AND INSIGHTS
Basically, the installation of the Apache in the laboratory is too slow, maybe because of the internet connection is too slow, which is needed to download necessary files.


CONCLUSION
The necessary requirements in this activity is met. The research on Apache helps  a lot on its installation and configuration process.




Session 4: DHCP

OVERVIEW
Dynamic Host Configuration Protocol (DHCP)
DHCP uses a remote server to control the network configuration of the hosts (computers). It uses the client-server model

DHCP messages used to establish a connection between host and server:
- DHCPDISCOVER is used to initiate an interaction between the host and the server. The host initiates the action by sending this message to the server, and it is the start of the process.
- DHCPOFFER is the reply of the DHCP server to the client who send a request to the server. It contains the network information to be assigned to the client such as the host's IP address, subnet mask, and gateway address. 
- DHCPREQUEST is the client's response to the DHCPOFFER message of the server. It indicates the acceptance of the network configuration given by the server to the client.
- DHCPACK is the message of acknowledgement that the server permitted the client to use the network configuration sent earlier using the DHCPOFFER message. Also, this is the end of the process started with the DHCPDISCOVER message.

Step-by-Step DHCP Process
The illustration shows how DHCP works. The processes was explained above using the DHCP messages needed to establish connection between a client and a server.

Monday, July 29, 2013

Session 3: DNS Server

OVERVIEW
Domain Name System (DNS)
Domain Name System or DNS, can also be referred as Domain Name Service is the mapping of a domain name to its IP address. Example of this mapping, Domain Name: uplb.edu.ph <=> IP Address: 202.92.144.108
So when you type thee IP address on the web browser, it will only redirect the page to the UPLB homepage, same as when you type the domain name.

Domain Name System Server (DNS Server)
DNS Server's purpose is to collect the domain name mapping available in the server.
Process of DNS Mapping:
     - Web Browser sends request for a domain name or IP address to the DNS Resolver. The DNS Resolver is built-in in operating systems.
     - DNS Resolver will contact the DNS Server to locate the domain name or IP address on its database.
     - If the DNS Server already locate the domain name or IP address, it will send the domain name or IP address back to the Web Browser.
     - Web Browser can now display the content of the domain name or IP address.

Concepts/Functionalities of DNS Server
CACHING -  storing mapping of domain name to a local copy.
REDUNDANCY - the mapping can be distributed to other location.


PROBLEM STATEMENT 
The goal of this activity is to create a DNS server that will accommodate five different hosts (computers), and to be able for the other hosts to communicate with each other using the established DNS server.


GUIDES IN SOLVING THE PROBLEM
To be able to create a DNS server, the following steps or process should be followed.
Steps/Process:
1. Install the package bind using this command:
                 $ sudo apt-get install bind9.
2. Go to the directory where bind is $ cd /etc/bind.
3. Edit the named.conf.local file.
Edit named.conf.local file


The named.conf.local file will be responsible for the creation of the domain name where all the hosts will be connected. The IP address of the domain name will also be included in this file.

4. Create a forward zone file $ sudo vi db.bioneel.com.
Creation of the forward zone file named db.bioneel.com
The forward zone file named db.bioneel.com contains the mapping domain name to the IP addresses of the hosts that will connect to domain bioneel.com.

5. Create the reverse zone file $ sudo vi db.192.168.1
Creation of the reverse zone file named db.192.168.1
The reverse zone file named db.192.168.1 contains the mapping of the IP addresses to the domain name of the hosts that will connect to the domain bioneel.com.

6. Edit the resolv.conf file located in the etc folder.
Edit the resolv.conf file in the etc folder
The resolv.conf file should contain the domain name where the hosts will connect named as bioneel.com, and the IP address of your computer that will connect to the server.

7. Check the forward zone and reverse zone file if there errors using the named-checkzone
Use the named-checkzone to check errors on the forward zone and reverse zone files
$ named-checkzone bioneel.com db.bioneel.com will check the forward zone file db.bioneel.com for errors. If the terminal return an OK message, then there exist no errors on the file.

$ named-checkzone 192.168.1 db.192.168.1 will check the reverse zone file db.192.168.1 for errors. If the terminal return an OK message, then there exist no errors on the file.

8. After checking the errors, use $ sudo /etc/init.d/bind9 restart to ready the server for communication.

9. After the terminal return the message OK, try to ping the computers connected to the server. (*Note: Only the specified hosts in the forward zone and reverse zone files are capable of connecting to the server.)

 **When trying to ping the other computers using its IP address, i.e. ping 192.168.1.7 the computer will be unreachable. But, when trying to use the domain name of the computer, i.e. ping mbgaspar.bioneel.com, there sis a connection established.


LEARNING AND INSIGHTS
Establishing connection with the other computers using the concept of the DNS server is really hard (based on what we experienced in the laboratory). Concepts on establishing a server should be fully understand. On our case, we cannot connect to each other at first because we all have different domain name (main domain name for connecting the other computers). The result is that we cannot communicate with each other. So when we fixed this problem, we can now establish connection to each other =)
***CONFESSION:
There are no screenshots on the supposed connection established between my computer to the other computers. But, I have tried it on the original week this activity was conducted. I haven't taken the screenshots because it is already time. We needed to already get out of the room because the next class is already there. But, I have tried to established connection to other computers on the last minutes of the class. I really do :D


CONCLUSION
The activity shows the student on how difficult it is to establish connection on five different hosts using the setup DNS server. Even though difficulties arise, the activity pushed through because everyone have the will to share their knowledge with everyone to have the correct output. It is important that the concepts on DNS server are fully understood to complete this activity.