COP3832, Assignment 4
Due 3/13 at the start of class.
Hand in and upload copies of httpd.conf, srm.conf, and access.conf
You are to configure your server and get it running. Then do the following
-
Create three subdirectories of COP3832/data
-
In the include directory, create a file with some html code in it.
Do not create a complete html document, just a few headings will be enough.
Call the file include.html.
-
In the hw4 directory, create a file named ssi.shtml. Using
the following server side include command, include the file from the include
directory. Add this code to the code for a complete HTML code. Place in the
body where you would place any other text and tags. Be sure there is some
other text in the page, other than just this include file.
<!--#include virtual="/include/include.html" -->
Copy the file to the links directory
cp ssi.shtml ../links
-
Copy the file hello.cgi from my student home page to your directory.
Be sure that the script is readable and executable by the world and group.
cp ~tdowne99/COP3832/personal/hello.cgi .
Also copy it to the links directory
cp ~tdowne99/COP3832/personal/hello.cgi ../links
-
Create a link in the hw4 directory to your errors directory,
replace dlette07 with your user name.
ln -s /aul/homes/dlette07/COP3832/server/errors/
ownlink
Create a link in the hw4 directory to my student personal directory
ln -s /aul/homes/tdowne99/COP3832/personal/
otherlink
-
Change to the links directory and create the same two links again,
replace delette07 with your user name.
cd ../links
ln -s /aul/homes/dlette07/COP3832/server/errors/
ownlink
ln -s /aul/homes/tdowne99/COP3832/personal/
otherlink
-
Create the following Aliases in srm.conf
-
An alias named /ssi to your hw4 directory
-
An alias named /simple to your hw4 directory
-
An alias named /all to your hw4 directory
-
An alias named /cgi to your hw4 directory
-
An alias named /none to your hw4 directory
-
An alias named /content to your hw4 directory
-
An alias named /errors to your COP3832/server/errors directory
-
In access.conf, use the Location directive to allow the following features
in certain directories
-
ssi: allow fancy indexing and server side includes
-
all: allow fancy indexing and all options
-
simple: allow simple indexing
-
cgi: allow fancy indexing and execution of CGI scripts
-
none: allow no options, not even indexes
-
content: allow fancy indexing and content negotiation
-
User Directories: allow fancy indexing and includes (but not execs), do not
allow cgi scripting.
-
Note: The <Location> directive ignores any directives that effect symbolic
links (since they are already a type of symbolic link). Once symbolic links
are on for a physical directory, they cannot be turned off in a
<Location> directive.
-
In access.conf, use the Directory directive to do the following for the
links directory
-
allow fancy indexing
-
follow symbolic links if the owners match
-
change the icon for .shtml files to a different one of your choice from the
/icons directory (/depot/http/icons/)
-
change the icon for .cgi files to a different one of your choice from the
/icons directory (/depot/http/icons/)
-
change the icon for directories to a different one of your choice from the
/icons directory (/depot/http/icons/)
-
change the icon for the parent directory to a different one of your choice
from the /icons directory (/depot/http/icons/)
-
In the errors directory, create html files for the following errors. Be creative,
but the files should load quickly!
-
403 Forbidden
-
404 Not Found
-
500 Internal Server Error
-
Change the appropriate configuration file so that the above error messages
are displayed for the appropriate errors.
-
Create an index file (it will not be called index.html) in your personal
directory that can be viewed by other web servers. Try it out on my student
server:
mongoose.aul.fiu.edu:65432
-
Also, view my student page from your server. My student user name is
tdowne99. This should be a link to my student personal page through
your server, not through mine. Be sure that the scripts on my page
do not have access to your configuration files.
-
Create an index file (it will not be called index.html) in your data directory
that will have the following
-
A hypertext link to a file or directory that will create a 403 error.
Do not call your error file directly. Have a link to a file that will cause
the error page to display.
-
A hypertext link to a file or directory that will create a 404 error.
Do not call your error file directly. Have a link to a file that will cause
the error page to display.
-
A hypertext link to
/~tdowne99/500.cgi
This link will generate a 500 error
-
A link to /simple
-
A link to /ssi
-
A link to /cgi
-
A link to /all
-
A link to /none
-
A link to /content
-
A link to /links
Use the 3832.html to investigate what happens when you try to open each file
in each directory. Notice when ssi commands work, cgi works, links work.
Notice how the icons change in the /links directory. Notice when fancyindexing
works. Have fun.
Check my student server for an example of what the assignment looks like:
mongoose.aul.fiu.edu:65432