SETTING UP WEB SERVE R
OMIS 660 Business Computing Environment and Networks Lab -03
Name: Keerthana Kammari (Z1849139), Venkata Sumanth Soma (Z1857679)
Department: Operations Management & Information Systems
Course Number: OMIS 660
Course Name: Business Computing Environments and Networks
Lab Number: 03
Title: Setting Up a Web Server
Professor: Dr. Yipeng Liu
Date of Submission: 11 -08 -2018
In this lab exercise, we get accustomed with the installation and configuration of apache web
server . We will be hosting various web pages by installing and instantiating Apache web server
The main objective of this lab is to do so me basic configurations on Web server, by making
necessary modifications to the DNS server and test to see whether all the web sites are working
through any browser on any client machine when connected to the same network as server.
Testing our own server locally .
Test the server by pinging the URL using remote workstation by make changes to the DNS server
To use the web server, we must first install the latest visual c++ redistributable for Visual Studio 2015.
Install the latest Apache server from Apache lounge from the following website:
Extract the Apache 2.4.37 Win64 and copy Apache24 folder to Program Files folder as shown below and
the path to access Apache24 is C:/Program Files/Apache24
Configuring the server by making the following changes in httpd.conf. file which will be inside the
Apacher foler/conf folder. Open the httpd.conf. file with a text editor
• Edit the httpd.conf file to configure the server in C: Program Files conf with ServerRoot :”C:/Program
Files/Apache24″ as shown below
• Next, we must change the Server Name as shown below:
• We will now change the directory index to Document Root , Directory and DirectoryIndex index.php
index.html as shown below
We will now navigate to: “C: Windows System32 drivers etc” and edit the file hosts by opening with any
Adding “127.0.0.1 localhost” in the “hosts” file at the top which will make sure that, whenever we open
the localhost in our browser the re quest will point to our computer itself where the server resides.
• After all the configurations, we will run the httpd executable from this path: “C: Program
Files Apache24 in”
• When we run https.exe file as a administrator, it will open and show a blank command prompt, which
confirms there are no errors in the configurations. The server can be stopped by closing the window.
• When the server is running, we can access it from browser by using localhost (type in, http://localhost/) to
access our web files. The server uses the web files in the htdocs folder i.e., “C: Program
Files Apache24 htdocs”. Following is a sample .html file in that folder location.
• We can also move the document root to a different older location other than the default htdocs folder. For
this, we open the “httpd.conf” file and change the location for the document root to : C:/wwwroot
The following screenshot shows accessing the server from browser:
• To allow the Apache web server to communicate through the windows firewall, we will need to go to
the Windows Control Panel, click on the “System and Security” followed by windows firewall as
shown in the below figure:
Now, Under Windows firewall Allowed Apps Change Settings Allow another app, then
we provide the path “C: Program Files Apache24 in httpd.exe” and then Add
Step -2: Configure the web server for your own domain :
• We need our own website up and running, so let’s reconfigure our webserver to serve our webpage.
And we must test it locally on the server machine to ensure that it is working properly.
Now, we should also change the directory to:
• Below is the wwwroot folder created in C:/ after we make the changes in conf file
• Let’s now save the file and restart the web server to check whether the changes has been effected. When
the server indicates that it is running, open a web browser and type “localhost” in the address window.
The server should display our company’s webpage.
Step 3: Configuring the additional domains
We need configure the additional domains. We will setup sites for two of them. In order get this, we
create “virtual hosts”, we use www.new -company -1.com and www.new -company -2.com as the domain
names for our c ustomers. We must edit the httpd.conf file to add name based virtual hosts and use the
single IP address of our local machine (server).
We need to start our Apache webserver. When our server receives a request for www.new -company –
1.com, it will serve the index.html file located within the c: wwwroot company1 directory. The
tags are needed to allow public access to the files contained within the directories that hold
our web files.
Step -4: Test your serve r locally:
To test our server, we need to make sure that stored cache is cleared. Let’s now make the changes in
the following path: go to internet explorer Tools Internet options General Settings. In
the “General” tab under the “Browsing History” section we click on “Settings”. At the top of the new
dialog box under the heading, “Check for newer versions of stored pages,” select the “Every time I
visit the webpage” radio button. Click “OK”.
• By default, Internet Explorer uses Protected Mode for websites. We must to notify the browser that
our hosted sites are Trusted Sites by adding the links . To add our domains to the Trusted sites list,
we click on the Tools icon followed by “Internet option s”. Click on the “Security” tab and the icon
for “Trusted sites”. Click the “Sites” button to add new sites to the list. Make sure that “Require
server verification (https:)…” option is not checked .
Step -5: DNS Redirection:
To access the DNS server, we must simulate the required DNS entry. This can be done by changing
the “hosts” file on client machine (located in the c: windows system32 drivers etc directory) by
opening it with a text editor and adding the following lines to the end of the file:
Also, we must check our IP address from command prompt then we go to the hosts files in
C:/Windows/System32/drivers/etc and edit the file adding the following lines;
192.168. 29 .152 www.my -domain -1.com
192.168. 29 .152 www.new -compa ny -1.com
192.168. 29 .152 www.new -company -2.com
• Now, the web browsers will display the web pages which we have installed in each directory just by
typing in the domain name for every website as a URL.
Domain – 1
Step -6: Test your web server remotely:
Our web browsers will now display the web pages that we installed in each directory simply by
typing in the domain name for each as a URL. To test our server remotely we need to use a different
computer within our wo rk group and try to connect to our sites by starting a web browser and typing
in the URLs: www.my -domain -1.com, www.new -company -1.com, and www.new -company -2.com.
This is achieved by configuring the web server’s IP address in the host file of client. The we b pages
we saved should then be displayed in the web browser.
This lab helped us understand how a server works and how hosting is done. We also got familiar with
the setting up of Apache software along with installation and configuration of it on our local machine
(system ) which will c onvert our system/machine into a webserver. We have also setup a client server
by configuring the client hosts file, adding en tries of IP address and corresponding URL. We learned
to setup three webpages using name -based virtual hosts and used our server’s single IP address for all
the websites that we created. We ‘ve also simulated the changes to the DNS sever configuring hosts
file and we can then see all the websites using the browser on a client machine in our network as well
as on our own machine .
1. Discuss some of the precautions you should take before taking your web site “live” on the
Internet. There is a web site called “Shields Up” that can help you answer this question. You
can access it here: http://grc.com/default.htm.Find the Shields Up li nk on this page and follow
it. Perform a port test on your server. Report your results.
One must take several precautions before launching any website. We should always have a backup
files for website which must be done on a regular basis. Also, one must make sure to check if the
webserver has been designed properly and local testing must be done. This can be achieved by using
analytics tool to gauge the performance and also check for the webserver congestion which must be
possible through various te sting software tools.
We must make sure that the website is adhering as per the rights of any organization before
publishing the website because any published website will have its own copyright. we have to
provide the confirmation for the content on the website, for example any multimedia content etc. The
requirement to host any multimedia website we should have more capacity to store all the contents of
the website. While streaming any multimedia websites it needs sufficient amount of traffic in the
allo cated bandwidth when exceeded it leads to website crash. Thus, a proper measure of bandwidth
should be assigned to the site.
The file management is very crucial before publishing any website with higher content in media
because it will be hard to stream t he multimedia content for example video files, audio clips etc.
which has a bigger file size which can slow down the website. The end user gets annoyed when
loading of the page takes longer than usual.
One of the major factors is optimizing the content ba sed on file size which helps in controlling the
format and size of the files. Consequently, Website needs to be up to date all the time which is the
primary layer of protection and prevents from security break issues.
Password Validation is very important for any website to prevent from hackers because hacking is a
major issue, so it should be strong. Giving admin access based on the website level of users before
deploying the code and making website go live. Authorizat ion for the website will add up an layer of
protection against the hackers. The website should be compatible with all the existing web browsers.
The port test results for common ports and service ports from http://grc.com/default.htm
2. This lab focused on name -based virtual hosts, but mention was made of IP -based virtual hosts.
Discuss IP -based virtual hosts and how they differ from name -based virtual hosts. Is it possible
to host more than one web site using different IP addresses if your server has only one network
interface card (NIC)? (A good resource for this is the Apache documentation.)
IP Based Virtual Host is the technique used to access different hosts from the server using
individual IP address, and this IP’s can be a ssigned to single NIC or even multiple NIC’s . In this
configuration, when we are pointing two websites (with different ip -address) to the server that runs
Apache, then that physical server should have two different ip -address configured. This means that
the server should have two ethernet cards, each one of them configured to the IP -address of the
corresponding website that Apache virtual host will be serving.
The term IP -based implies that the server should have an alternate IP address for every other IP –
based virtual host. In the following example, the server contains two NIC cards, one is configured
with 192.168.101.1 ip -address for example2.com, another is configured with 192.168.100.1 for
example1.com. Both these IP -address are served by a single Apache webserver running on th e
server using IP -Based virtual host.
Name -based virtual hosting is the simplest way, as only configuring DNS server to link each
hostname to the IP address and then configuring Apache HTTP Server , will host the websites using
single IP address. The main difference between DNS server and Apache HTTP server is that the
DNS server is designed to configures the host names to the exact IP address and Apache server is
modified to observe another host name.
It is possible to host multiple websites using different IP Address with only one Network Interface
Card. Single Configuration file (httpd.conf) will serv e as a request for the main server and all other
virtual servers. The virtual host directive in the configuration file is used to set values for Server
Name, Server Admin, Document Root to different values in each individual virtual host. This is
also important that when virtual server implementation is done, multiple virtual servers running
on the same physical hardware should have its own IP address.
Hence, virtual host refers to running more than one site on a single framework and these virtual
hosts can be either name -based or IP -based. Name -based will have several names running on every
IP address wh ereas IP -based will have an alternate IP address for each site.
3. What does URL stand for? Compare and contrast the following: URI, URL and URN. (Hint:
URL stands for term “Uniform Resource locator” . It is most common type of URI and is a link
between the server (where storage of the resource resides ) to the user. In general, URL is the path
from the server to the end user.URL helps us to find the website through the web browser in the
internet. URL can also be called as web address and it is the standard addressing system of the
World Wide Web. URL string can only contain alphanumeric and ! +_$ -*() characters and space
is not allowed in it .
URL has three components in general
• Domain Name
Protocol declares how the browser communicates with a server when pushing or receiving data
online, and widely used protocol is http/https (Hypertext Transfer Protocol/ Hypertext Transfer
Many other protocols th at are used in communication are as follows
• ftp (File Transfer Protocol)
• smtp (Simple Mail Transfer Protocol)
• pop (Post Office Protocol)
• imap (Internet Message Access Protocol)
From the above Figure 1.1 we can say that “somegreatmovie” is the domain nam e for the
mentioned URL, which is reference to identify the website in the internet. Path is typically the
location of the file or image on the web server, if the name of the file is not specified for e.g.
https://flipkart.com/blog/ so the browser will au tomatically look into the /blog/ folder for a file
called index or default later if nothing is found, then a “404 -Not Found” error will be returned by
the server to the user.
A Uniform Resource Identifier (URI) is made up of a set of characters for identif ying an physical
resource, whereas Uniform Resource Location (URL) uses a protocol like HTTP/HTTPS/FTP for
any kind of requests to send. Uniform Resource Name is the name of the resource inside the
directory for example if URL is http://www.foo.com/bar.html so URN is bar.html which is the
name of the resource inside domain www.foo.com . URN and URL are the subsets of the URI.
Uniform Resource Name (URN) usually does not specify or reveal on how we can find it on the web, it is
also used to distinguish concepts and ideas. URN’s represents a document which can at any point be
converted into a URL through a resolver and it doe s not have any limits in recognizing documents.
The obtained report can then be downloaded from the available URL.
The key difference between URL, URI and URN can be explained with an example. Let us consi der a name,
say Jerry Montag which will be an identifier. Now, the name will become the primary identity which is the
URI and this cannot be the URL because it cannot or will not define the location of Jerry. If we have Jerry’s
address and let us suppose i t to be at 740 Eco Park , will give us the location of the person. This will now
become the URL and URI . Last name of Jerry which is Montag will be used to identify as URN.