Difference between revisions of "OPS335 Web Server Lab"

From CDOT Wiki
Jump to: navigation, search
(Basic Apache (Web Server) Setup)
(Basic Apache (Web Server) Setup)
Line 10: Line 10:
 
Both host and guest should have all software updated.<br />
 
Both host and guest should have all software updated.<br />
 
Ensure the clocks on both machines are set to the correct date and time.}}
 
Ensure the clocks on both machines are set to the correct date and time.}}
PART B - Testing your network (same as Lab #4)
+
===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.
  
Start Firefox on your host and authenticate yourself on Sene2net with your LEARN account.
+
=== Install and test Apache ===
Ensure you can surf the web on your host machine.
+
*Now login to vm01 (your guest VM) and install the following three packages, if they are not already installed, like this
Start Firefox on your guest.
+
  yum install httpd
Ensure you can surf the web on your guest. NOTE: you should not have to authenticate yourself on the guest.
+
  yum install httpd-tools
PART C - Install and test Apache
+
  yum install system-config-httpd
Now login to vm01 (your guest VM) and install the following three packages, if they are not already installed, like this
+
*Still on vm01 you can now start your web server with this command
yum install httpd
+
service httpd start
yum install httpd-tools
+
*Using Firefox on vm01 go to address "localhost". You should get the "Fedora Test Page" which indicates your web server is running. Do not continue until this step works.
yum install system-config-httpd
+
*Now create your own test page named index.html and put it into directory /var/www/html/. Reload the Firefox "localhost" web page - you should see your own test page now.  
Still on vm01 you can now start your web server with this command
+
*Try viewing this web page from f13 (the gateway/host). You'll need to enter the IP address of f13 in your Firefox browser. By default this address should be something like 192.168.122.aaa. If this doesn't work you may have to add a rule to the firewall on vm01 to allow incoming connections on port 80.
service httpd start
+
*Edit the /etc/hosts file on each PC in your network and include the IP address and host name for both PCs. Now try accessing your web site by name in stead of IP number. Note: we're not using DNS so /etc/hosts file should work in its place.
Using Firefox on vm01 go to address "localhost". You should get the "Fedora Test Page" which indicates your web server is running. Do not continue until this step works.
+
*Now, as root on f13 (the gateway/host),  try to forward incoming http connections to our server on vm01 (the guest). Use an iptables command something like this
Now create your own test page named index.html and put it into directory /var/www/html/. Reload the Firefox "localhost" web page - you should see your own test page now.  
+
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.122.aaa  
Try viewing this web page from f13 (the gateway/host). You'll need to enter the IP address of f13 in your Firefox browser. By default this address should be something like 192.168.122.aaa. If this doesn't work you may have to add a rule to the firewall on vm01 to allow incoming connections on port 80.
+
Note: aaa is the IP address of your guest VM
Edit the /etc/hosts file on each PC in your network and include the IP address and host name for both PCs. Now try accessing your web site by name in stead of IP number. Note: we're not using DNS so /etc/hosts file should work in its place.
+
*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.  
Now, as root on f13 (the gateway/host),  try to forward incoming http connections to our server on vm01 (the guest). Use an iptables command something like this
+
*Finally, as root on vm01, use the following command to view/adjust your web server parameters:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.122.aaa  
+
system-config-httpd
note: aaa is the IP address of your guest VM
+
*Change your listen port to 8080 and restart your web server.
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.  
+
*Go back to f13 and redo your iptables command to forward port 80 connections to the new port 8080 on vm01.
Finally, as root on vm01, use the following command to view/adjust your web server parameters:
+
*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.
system-config-httpd
+
===Completing the Lab===
and change your listen port to 8080 and restart your web server.
+
Answer the following questions and and email them to your teacher in ASCII text format
Go back to f13 and redo your iptables command to forward port 80 connections to the new port 8080 on vm01.
+
#What is your full name and 9-digit Seneca student ID?
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.
+
#What HTML code did you use for your own web page in step 4? Include the complete listing.
PART I - Answer the following questions and and email them to your teacher in ASCII text format.
+
#Give the full path names of the Apache log files.
What is your full name and 9-digit Seneca student ID?
+
#What directory is the default server root?  Give the full path name.
What HTML code did you use for your own web page in step 4? Include the complete listing.
+
#What directory is the default document root? Give the full path name.
Give the full path names of the Apache log files.
+
#What is the default configuration file for the Apache web server on Fedora 13? Give the full path name.
What directory is the default server root?  Give the full path name.
+
#What is the default maximum number of connections allowed on the server by default?
What directory is the default document root? Give the full path name.
+
#What user/group does Apache run under on Fedora 13?
What is the default configuration file for the Apache web server on Fedora 13? Give the full path name.
+
#What exact command did you use in step 11 of part C?
What is the default maximum number of connections allowed on the server by default?
+
#What specific command (give full details) would you need to use on f13 to forward ssh connections to vm01?
What user/group does Apache run under on Fedora 13?
+
#What is the web site for Apache?
What exact command did you use in step 11 of part C?
+
#What is Apache's current version number? Note: this may be different from the version running on Fedora 13.
What specific command (give full details) would you need to use on f13 to forward ssh connections to vm01?
+
#What is displayed by the iptables-save command on both f13 and vm01 at the end of this lab?
What is the web site for Apache?
+
#Finally, show part (a small segment) of the Apache access log file that indicate successful access to your web site.
What is Apache's current version number? Note: this may be different from the version running on Fedora 13.
 
What is displayed by the iptables-save command on both f13 and vm01 at the end of this lab?
 
Finally, show part (a small segment) of the Apache access log file that indicate successful access to your web site.
 

Revision as of 16:52, 5 September 2011

Basic Apache (Web Server) Setup

This lab will show you how to set up the Apache Web server using a Fedora 13 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.

Important.png
Prerequisites

Your hard drive should have Fedora 13, 64 bit Live edition already installed.
You should have at least one VM installed: also Fedora 13, 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

  • Now login to vm01 (your guest VM) and install the following three packages, if they are not already installed, like this
 yum install httpd
 yum install httpd-tools
 yum install system-config-httpd
  • Still on vm01 you can now start your web server with this command
service httpd start
  • Using Firefox on vm01 go to address "localhost". You should get the "Fedora Test Page" which indicates your web server is running. Do not continue until this step works.
  • Now create your own test page named index.html and put it into directory /var/www/html/. Reload the Firefox "localhost" web page - you should see your own test page now.
  • Try viewing this web page from f13 (the gateway/host). You'll need to enter the IP address of f13 in your Firefox browser. By default this address should be something like 192.168.122.aaa. If this doesn't work you may have to add a rule to the firewall on vm01 to allow incoming connections on port 80.
  • Edit the /etc/hosts file on each PC in your network and include the IP address and host name for both PCs. Now try accessing your web site by name in stead of IP number. Note: we're not using DNS so /etc/hosts file should work in its place.
  • Now, as root on f13 (the gateway/host), try to forward incoming http connections to our server on vm01 (the guest). Use an iptables command something like this
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.122.aaa 

Note: aaa is the IP address of your guest VM

  • 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 vm01, 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 f13 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. What is your full name and 9-digit Seneca student ID?
  2. What HTML code did you use for your own web page in step 4? Include the complete listing.
  3. Give the full path names of the Apache log files.
  4. What directory is the default server root? Give the full path name.
  5. What directory is the default document root? Give the full path name.
  6. What is the default configuration file for the Apache web server on Fedora 13? Give the full path name.
  7. What is the default maximum number of connections allowed on the server by default?
  8. What user/group does Apache run under on Fedora 13?
  9. What exact command did you use in step 11 of part C?
  10. What specific command (give full details) would you need to use on f13 to forward ssh connections to vm01?
  11. What is the web site for Apache?
  12. What is Apache's current version number? Note: this may be different from the version running on Fedora 13.
  13. What is displayed by the iptables-save command on both f13 and vm01 at the end of this lab?
  14. Finally, show part (a small segment) of the Apache access log file that indicate successful access to your web site.