Assignment for Week 4: Common network services

Description

In this assignment you'll enable two of the most common and important network services on your system: email and web service.

What you need to do

Note that for each of these, you are to build the package from source as described below and install it manually on your system, even if you have the same versions of Sendmail and Apache provided by your OS distributor.

  1. Install Sendmail 8.14.3 on your system. To simplify downloading the source directly to your lab computer (since FTP is denied by the lab's packet filtering), you can use one of these HTTP links:

    You can unpack the source with the command:

    zcat sendmail.8.14.3.tar.gz | tar xvf -

    This will create a sendmail-8.14.3 subdirectory, which is what the following instructions refer to.

    You should read and follow the directions in the INSTALL file. In general you should not need to make the site configuration files described in step 2. In step 4, you should probably copy the appropriate "generic-XXX.mc" to "sendmail.mc" (where XXX is the OS name that applies to your system, such as "generic-bsd-4.4.mc" or "generic-linux.mc"). If you make changes to those files, be sure to use RCS to track those changes. It's also up to you to decide how you want to deal with any existing Sendmail installation on your system before doing this; you may want to delete an existing Sendmail package before installing your own, or back up the existing Sendmail binaries and configuration. You may also need to create the user smmsp with uid 25 and group smmsp with gid 25, and the client spool directory /var/spool/clientmqueue (owner smmsp, group smmsp, mode 770). Besides installing the Sendmail binary, configuration, and any other auxiliary files in /etc/mail needed to get your configuration to work, make sure that your newly-installed Sendmail will start automatically when your system is rebooted; this may require editing an existing init script or creating a new one (such as /etc/init.d/sendmail, /etc/rc.d/init.d/sendmail, or adding a Sendmail section to your /etc/rc.local).

    Document the specific installation procedure you used to create your working Sendmail configuration at a level of detail that would allow you to easily reinstall Sendmail from scratch.

  2. Install the Apache 2.2.8 web server on your system. You can get the source from http://archive.apache.org/dist/httpd/httpd-2.2.8.tar.gz and unpack it with zcat httpd-2.2.8.tar.gz | tar xvf - which will create an httpd-2.2.8 subdirectory containing the source. Apache uses a variant of GNU autoconf, so the commands "./configure"; "make"; "make install" should install the necessary binaries and support files under /usr/local. Full instructions and additional information are provided in the file INSTALL. Again, track any changes you make to the default httpd.conf with RCS, and also it's up to you to figure out what you want to do with any existing web server packages (Apache or otherwise) on your system. Make sure that your Apache web server will start automatically when your system is booted by creating or editing an existing init script.

    Again, document the specific installation procedure for your working Apache configuration at a level of detail that would allow you to easily reinstall Apache from scratch.

What to turn in

Please follow the assignment submission guidelines when turning in material.

  1. Send me email from your system once you have Sendmail up and running. I'll send you a reply; send my entire reply (body and headers) back to me in another email message.
  2. Give me the sendmail.mc macro template (not the generated sendmail.cf file) that you used to generate your sendmail configuration, and its RCS log (as shown by rlog sendmail.mc).
  3. Put up a web page on your system in its global document root, and another in one of your personal accounts. Send me the URLs to each of these pages (i.e. "http://yoursystem.ilab.cs.uoregon.edu/foo.html" and "http://yoursystem.ilab.cs.uoregon.edu/~user/bar.html") and I'll try to retrieve them.
  4. Give me the httpd.conf file for your web server, and its RCS log (as shown by rlog httpd.conf).
  5. Give me the installation documents you created for your Sendmail and Apache installations.

These tasks need to be done by class time on Monday, July 21.

Each group member should also email to me separately their estimate of the percentage of the total work each group member (including themselves) contributed to this assignment, looking something like:

Alice: 40%
Bob: 30%
Carol: 30%

Evaluation

For this assignment, most of my evaluation will be based on whether you got your services working. Did you get Sendmail to send and receive mail? Does your web server serve up web pages? I'll also review your sendmail configuration template and web server configuration for any apparent errors or omissions.


Steve VanDevender
Last modified: Mon May 5 11:30:40 PDT 2008