Open main menu

CDOT Wiki β

OPS335 Web Server Lab

Revision as of 14:50, 7 February 2012 by Paul.W (talk | contribs) (Install and test Apache)

Basic Apache (Web Server) Setup

This lab will show you how to set up the Apache Web server using a Fedora 16 installed PC. You will need at least two systems to do this lab. The first could be Fedora on your removable hard drive while the second could be a virtual machine.

Prerequisites

Your hard drive should have Fedora 16, 64 bit Live edition already installed.
You should have at least one VM installed: also Fedora 16, 64 bit Live edition.
Both your host and guest should have default firewalls enabled.
Both your host and guest should have SELinux enabled.
Both host and guest should have all software updated.

Ensure the clocks on both machines are set to the correct date and time.

Testing your network

  • Start Firefox on your host and authenticate yourself on Sene2net with your LEARN account.
  • Ensure you can surf the web on your host machine.
  • Start Firefox on your guest.
  • Ensure you can surf the web on your guest. NOTE: you should not have to authenticate yourself on the guest.

Install and test Apache

  • Login to vm02 and install the following three packages:
 yum install httpd httpd-tools system-config-httpd
  • Still on vm02 you can now start your web server with this command and enable the service to start at boot.
systemctl start httpd.service
systemctl enable httpd.service
  • Flush your existing iptables rules on vm02.
    • Add a rule to allow NEW connections to your ssh server and httpd.
    • Add a rule to allow all RELATED and ESTABLISHED connections.
    • Change the default policy on the INPUT chain to DROP.
  • Using Firefox on the host go to address for vm02 "192.168.X.3" (your ip addressing may differ). You should get the "Fedora Test Page" which indicates your web server is running. Do not continue until this step works.
  • You should also be able to open the webpage using the hostname.
  • Now create your own test page named index.html and put it into directory /var/www/html/. Reload the web page on the host - you should see your own test page now.
  • Repeat the above steps for vm03.
  • Now, as root on f16 (the gateway/host), try to forward incoming http connections to our server on vm02. Use an iptables command something like this
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.X.3
  • To test this setup you'll need to ask a classmate on another PC to try to use Firefox to view your web page. S/he'll have to enter your external interface IP number (142.204.141.yyy) in Firefox's address window.
  • Finally, as root on vm02, use the following command to view/adjust your web server parameters:
system-config-httpd
  • Change your listen port to 8080 and restart your web server.
  • Go back to f16 and redo your iptables command to forward port 80 connections to the new port 8080 on vm01.
  • Verify that other students on other PCs can still view your web page. If this doesn't work you may have to add a rule to the firewall on vm01 to allow connections on port 8080.

Completing the Lab

Answer the following questions and and email them to your teacher in ASCII text format

  1. Give the full path names of the Apache log files.
  2. What directory is the default server root? Give the full path name.
  3. What directory is the default document root? Give the full path name.
  4. What is the default configuration file for the Apache web server on Fedora 16? Give the full path name.
  5. What is the default maximum number of connections allowed on the server by default?
  6. What user/group does Apache run under on Fedora 16?
  7. What exact command did you use to allow requests to port 80 to be forwarded to 8080 on your VM?
  8. What specific command (give full details) would you need to use on f16 to forward ssh connections to vm01?
  9. What is the web site for Apache?
  10. What is Apache's current version number? Note: this may be different from the version running on Fedora 16.