MMDF configuration (UUCP) 1/2

Chris Durham chrisdu at sco.COM
Sat Dec 22 08:38:07 AEST 1990




The following two documents, (the second in the next post) were written
to address MMDF configuration issues.  They are intended to provide the
maximum amount of information to the maximum amount of people, while
maintaining correctness in all cases.  It is possible that there may be
other ways to accomplish with MMDF the things I present here.  The
methods chosen are for ease of use and understanding.  I hope these
guides are of some assistance.  I recently posted an earlier revision of
these guides to sco-list at uunet.UU.NET.  Note that the versions that
follow replace all previous versions you may have seen or been sent by
us at SCO.  There are certainly more features of MMDF that are not
described here, but the following documents address the majority of MMDF
questions that are asked of SCO Support.  Finally, I'd like to point out
these guides assume that you are starting with a default configuration,
to not do so would probably increase the size of the guides
considerably. 

Followups have been directed to comp.unix.sysv386 and sco.opendesktop

-chris durham
=======================================================================
=======================================================================
 
Configuring MMDF in a UUCP environment under SCO UNIX System V/386.

				by
			 chrisdu at sco.COM
			     Rev. 1.1

The following document outlines how to configure the (M)ulti-(C)hannel
(M)emorandum (D)istribution (F)acility (MMDF) mail system under SCO UNIX
System V/386 Release 3.2 Operating System and Open Desktop, with
specific emphasis on the UUCP channel. 

TABLE OF CONTENTS 

Section    I .......................................Introduction & Assumptions

Section   II .....................Mail between two machines connected via UUCP

Section  III ......................Mail to the Internet through a UUCP gateway

Section   IV .....Mail in a "hub" configuration with a gateway to the Internet

Section    V ..........................................Running Deliver Daemons

Section   VI .........................Troubleshooting & Contacting SCO Support

Section  VII ..............................The Internet, UUNET and UseNet News

Section VIII ..............................................Further Information

I. Introduction and Assumptions
-------------------------------

As stated above, this document will show, in a step by step manner, how
to configure the MMDF mail system between machines connected via UUCP.

Several assumptions are made.  First, it is assumed that a UUCP connection 
is already configured and is working between the systems involved.  Second, 
in each section it is assumed that MMDF configuration files are in a default 
state, and that they have not been modified previously, unless otherwise 
specified.  Most sections will have three subsections: an "Objective" which 
will state what is to be accomplished; an "Assumptions" which will state any 
additional assumptions; and a "Procedure" which will outline the steps that 
need to be taken in order for the "Objective" to be achieved.

Note that it might be necessary to assign a password for the user 'mmdf' on 
all machines before proceeding past this point, as by default, mmdf does not 
have a password and hence cannot log into the system.

II. Mail between two machines connected via UUCP
------------------------------------------------

Objective: This section will show how to set up two machines over UUCP for
	   transfer of mail with MMDF.  Let us assume that the two machine
	   names are 'fred' and 'barney'.  A pictoral representation is:

		fred--(UUCP)--barney

Assumptions: The assumption here is that there is a working UUCP connection
	     between fred and barney. 

Procedure: 
		1. Log in as 'mmdf' on fred.
	
		2. Make sure the following lines exist in /usr/mmdf/mmdftailor:

			MLDOMAIN	UUCP
			MLNAME		fred
			; MLOCMACHINE	systemid
			UUname		fred
			UUXSTR		"uux -"

		3. Edit /usr/mmdf/table/local.dom and make sure the following
		   lines exist:

			fred:		fred.UUCP
			fred.UUCP:	fred.UUCP

		4. Edit /usr/mmdf/table/local.chn and make sure the following
		   lines exist:

			fred:		fred
			fred.UUCP:	fred
		
		5. Edit /usr/mmdf/table/uucp.dom and make sure the following
		   lines exists:

			barney:		barney.UUCP
		   	barney.UUCP:	barney.UUCP

		6. Edit /usr/mmdf/table/uucp.chn and make sure the following
		   line exists:

			barney.UUCP:	barney!%s

		7. Modify the uucp channel entry in /usr/mmdf/mmdftailor:

MCHN	uucp, show="SCO UUCP Delivery", que=uucp, tbl=uuchn, ap=822,
	pgm=uucp, mod=reg

		8. Modify the local channel entry in /usr/mmdf/mmdftailor:

MCHN	local, show="Local Delivery", que=local, tbl=local, ap=same,
	pgm=local, mod=reg


	        9. Make sure the local and uucp domain entries in
		   /usr/mmdf/mmdftailor are as follows.  Note: They 
		   do not have to be next to each other:

MDMN	"UUCP", show="Local domain", table=locdom
MDMN	"UUCP", show="UUCP Domain", table=uudom

               10. Change directories to /usr/mmdf/table

	       11. Execute:

			./dbmbuild 

		   to compile the MMDF database.

	       12. Log out of mmdf and log in as root.

		   Set up deliver daemons for the local channel and the
		   uucp channel. See section V, "Running Deliver Daemons",
		   for instructions on configuring deliver daemons.

	       13. Shut down the system and reboot. 

	       14. Log in as mmdf on machine barney.

	       15. Make sure the following lines exist in /usr/mmdf/mmdftailor:

			MLDOMAIN	UUCP
			MLNAME		barney
			; MLOCMACHINE	systemid
			UUname		barney
			UUXSTR		"uux -"

	       16. Edit /usr/mmdf/table/local.dom and make sure the following
		   lines exist:

			barney:		barney.UUCP
			barney.UUCP:	barney.UUCP

	       17. Edit /usr/mmdf/table/local.chn and make sure the following
		   lines exist:

			barney:		barney
			barney.UUCP:	barney
		
	       18. Edit /usr/mmdf/table/uucp.dom and make sure the following
		   lines exist:

			fred:		fred.UUCP
		   	fred.UUCP:	fred.UUCP

	       19. Edit /usr/mmdf/table/uucp.chn and make sure the following
		   line exists:

			fred.UUCP:	fred!%s

	       20. Modify the uucp channel entry in /usr/mmdf/mmdftailor:

MCHN	uucp, show="SCO UUCP Delivery", que=uucp, tbl=uuchn, ap=822,
	pgm=uucp, mod=reg

	       21. Modify the local channel entry in /usr/mmdf/mmdftailor:

MCHN	local, show="Local Delivery", que=local, tbl=local, ap=same,
	pgm=local, mod=reg


	       22. Make sure the local and uucp domain entries in
		   /usr/mmdf/mmdftailor are as follows.  Note: They 
		   do not have to be next to each other:

MDMN	"UUCP", show="Local domain", table=locdom
MDMN	"UUCP", show="UUCP Domain", table=uudom

               23. Change directories to /usr/mmdf/table

	       24. Execute:

			./dbmbuild 

		   to compile the MMDF database.

	       25. Log out of mmdf and log in as root.

		   Set up deliver daemons for the local channel and the
		   uucp channel. See section V, "Running Deliver Daemons",
		   for instructions on configuring deliver daemons.

	       26. Shutdown the system and reboot.

	       Machines fred and barney are now configured to send mail 
	       to each other with MMDF.  Addressing should be as:
	       user at barney or user at fred.


III. Mail to the Internet through a UUCP gateway
-------------------------------------------------

For a summary of what the "Internet" is, see section VII: "The Internet,
UUNET, and UseNet News".

Objective: This section will show how to connect a machine to an
	   Internet gateway via UUCP for exchange of mail.  Let us 
	   assume that the Internet machine is uunet.UU.NET, and 
	   that the machine we are connecting to the Internet is 
	   'bedrock.UUCP'.  A pictoral representation is:

		bedrock--(UUCP)--uunet--Internet

Assumptions: The assumption here is that there is a working UUCP connection
	     between bedrock and uunet. 


Procedure: The following steps need to be done on bedrock:

		1. Log in as mmdf.
	
		2. Make sure the following lines exist in /usr/mmdf/mmdftailor:

			MLDOMAIN	UUCP
			MLNAME		bedrock
			; MLOCMACHINE	systemid
			UUname		bedrock
			UUXSTR		"uux -"

		3. Edit /usr/mmdf/table/local.dom and make sure the following
		   lines exist:

			bedrock:	bedrock.UUCP
			bedrock.UUCP:	bedrock.UUCP

		4. Edit /usr/mmdf/table/local.chn and make sure the following
		   lines exist:

			bedrock:	bedrock
			bedrock.UUCP:	bedrock
		
		5. Edit /usr/mmdf/table/root.dom and make sure the following
		   line exists:

			uunet.UU.NET:	uunet.UU.NET

		6. Edit /usr/mmdf/table/uucp.dom and make sure the following
		   line exists:

			uunet:		uunet.UUCP

		7. Edit /usr/mmdf/table/uucp.chn and make sure the following
		   lines exist:

			uunet.UU.NET:	uunet!%s
			uunet.UUCP:	uunet!%s

		8. Modify the uucp channel entry in /usr/mmdf/mmdftailor:

MCHN	uucp, show="SCO UUCP Delivery", que=uucp, tbl=uuchn, ap=822,
	pgm=uucp, mod=reg

		9. Modify the local channel entry in /usr/mmdf/mmdftailor:

MCHN	local, show="Local Delivery", que=local, tbl=local, ap=same,
	pgm=local, mod=reg

	       10. Modify the badhosts channel entry in /usr/mmdf/mmdftailor.
		   This will cause all mail not recognized locally to be
		   delivered to uunet.UU.NET:

MCHN	badhosts, show="Last-Chance Routing", que=badhosts, tbl=uuchn,
	ap=822, pgm=uucp, mod=reg, host=uunet.UU.NET

	      11. Make sure the local and uucp domain entries in
		  /usr/mmdf/mmdftailor are as follows.  Note: They 
		  do not have to be next to each other.

MDMN	"UUCP", show="Local domain", table=locdom
MDMN	"UUCP", show="UUCP Domain", table=uudom

              12. Change directories to /usr/mmdf/table

	      13. Execute:

			./dbmbuild 

		  to compile the MMDF database.

	      14. Execute:

			mkdir /usr/spool/mmdf/lock/home/q.badhosts

		  The new directory should have owner and group mmdf.

	      15. Log out of mmdf and log in as root.

	          Set up deliver daemons for the local,uucp, and badhosts
		  channels. See section V, "Running Deliver Daemons",
		  for instructions on configuring deliver daemons.

	      16. Shut down the system and reboot. 

	      MMDF should now be configured to deliver mail that cannot
	      be recognized locally to uunet.UU.NET.  Mail does not have 
	      to be addressed as: uunet!andrew.cmu.EDU!cd0v; correct
	      Internet style addresses of cd0v at andrew.cmu.EDU will work
	      properly.

IV. Mail in a "hub" configuration with a gateway to the Internet
-----------------------------------------------------------------

For a summary of what the "Internet" is, see section VII: "The Internet,
UUNET, and UseNet News".

Objective: Let us assume there is another host connected to bedrock
	   called 'rubble'.  We wish to set up a MMDF connection 
	   between rubble and bedrock that will enable rubble to 
	   send and receive Internet mail through uunet.UU.NET. 
	   A pictoral representation is:

		rubble--(UUCP)--bedrock--(UUCP)--uunet--Internet

Assumptions:  The machines bedrock and uunet are set up as in the
	      previous section.  Also, rubble and bedrock have a
	      a working UUCP connection. 

Procedure:	1. Log in as mmdf on bedrock.

		2. Edit /usr/mmdf/table/uucp.dom and ADD the
		   following line:

			rubble:		rubble.UUCP
		
		3. Edit /usr/mmdf/table/uucp.chn and ADD the
		   following line:

			rubble.UUCP:	rubble!%s

		4. Execute the following commands:

			cd /usr/mmdf/table
			./dbmbuild
		
		5. Log out of bedrock.

		6. Log in as mmdf on rubble.

		7. Make sure the following lines exist in /usr/mmdf/mmdftailor:

			MLDOMAIN	UUCP
			MLNAME		rubble
			; MLOCMACHINE	systemid		
			UUname		rubble
			UUXSTR		"uux -"

		8. Edit /usr/mmdf/table/local.dom and make sure the following
		   lines exist:

			rubble:		rubble.UUCP
			rubble.UUCP:	rubble.UUCP

		9. Edit /usr/mmdf/table/local.chn and make sure the following
		   lines exist:

			rubble:		rubble
			rubble.UUCP:	rubble

	       10. Edit /usr/mmdf/table/uucp.dom and make sure the following
		   line exists:

			bedrock:	bedrock.UUCP

	       11. Edit /usr/mmdf/table/uucp.chn and make sure the following
		   line exists:

			bedrock.UUCP:	bedrock!%s

	       12. Modify the uucp channel entry in /usr/mmdf/mmdftailor:

MCHN	uucp, show="SCO UUCP Delivery", que=uucp, tbl=uuchn, ap=822,
	pgm=uucp, mod=reg

	       13. Modify the local channel entry in /usr/mmdf/mmdftailor:

MCHN	local, show="Local Delivery", que=local, tbl=local, ap=same,
	pgm=local, mod=reg

	       14. Modify the badhosts channel entry in /usr/mmdf/mmdftailor.
		   This will cause all mail not recognized locally to be
		   delivered to bedrock.UUCP:

MCHN	badhosts, show="Last-Chance Routing", que=badhosts, tbl=uuchn,
	ap=822, pgm=uucp, mod=reg, host=bedrock.UUCP

	       15. Make sure the local and uucp domain entries in
		   /usr/mmdf/mmdftailor are as follows.  Note: They 
		   do not have to be next to each other:

MDMN	"UUCP", show="Local domain", table=locdom
MDMN	"UUCP", show="UUCP Domain", table=uudom

               16. Change directories to /usr/mmdf/table

	       17. Execute:

			./dbmbuild 

		   to compile the MMDF database.

	       18. Execute:

			mkdir /usr/spool/mmdf/lock/home/q.badhosts

		   The new directory should have owner and group mmdf.

	       19. Log out of mmdf and log in as root on rubble.

	           Set up deliver daemons for the local,uucp, and badhosts
		   channels. See section V, "Running Deliver Daemons",
		   for instructions on configuring deliver daemons.

	       20. Shut down the system and reboot. 

	       MMDF is now configured to send mail from rubble, through
	       bedrock, and out to the Internet.  Internet style addressing
	       can be used, as in cd0v at andrew.cmu.EDU.  It is easy to see
	       how this procedure can be modified for a "hub" configuration
	       of UUCP systems, all which use bedrock as their gateway to the 
	       Internet.  A pictoral representation of this is found below. 
	       Note that because bedrock is the gateway between all the 
	       systems, rubble and bambam can also exchange mail. Mail should 
	       be addressed Internet style, such as: root at sco.COM, or 
	       chris at bambam.


				uunet
				  |
				(UUCP)
				  |
				bedrock
			       /      \
			    (UUCP)    (UUCP)
			      /	 	 \
			   rubble	bambam	

V. Running Deliver Daemons
--------------------------

This section is to be read in conjunction with a previous section which
informed you to read this section.  Based on that previous section, several
deliver daemons need to be configured. 

If you are running SCO UNIX System V/386 Release 3.2.0 or Open Desktop Release 
1.0, complete the following steps:

		1. Configure the local deliver daemon. Edit the file 
		   /etc/rc2.d/S88USRDEFINE, and add the following lines 
	 	   to the bottom of the file:

[ -x /usr/mmdf/bin/deliver ] && {
	/bin/su mmdf -c "/usr/mmdf/bin/deliver -clocal -b -T60"
	}

		2. For each of the other deliver daemons that are to be added, 
	   	   (uucp, badhosts, or both), insert lines for these deliver 
	   	   daemons prior to the closing curly brace above. For example, 
 	   	   if both the uucp and badhosts deliver daemons are 
	    	   to be added, the above set of lines would look as follows:

[ -x /usr/mmdf/bin/deliver ] && {
	/bin/su mmdf -c "/usr/mmdf/bin/deliver -clocal -b -T60"
	/bin/su mmdf -c "/usr/mmdf/bin/deliver -cuucp -b -T60"
	/bin/su mmdf -c "/usr/mmdf/bin/deliver -cbadhosts -b -T60"
	}

	   	   Note: Do not add deliver daemons for channels that are
	   	   not configured.  Thus, if the badhosts channel is not
		   being configured, there should only be two lines between 
		   the curly braces above.

	        3. Continue with the configuration of MMDF at the place 
		   in this document where instructions were given to read 
		   this section.

If you are running SCO UNIX System V/386 Release 3.2 Operating System Version 
2.0, or a release of Open Desktop later than 1.0, then complete the following 
steps:


		1. Configure the local deliver daemon. Edit the file 
	           /etc/rc2.d/S86mmdf. You will see lines that read 
	           as follows:

	then
		[ -x /usr/mmdf/bin/deliver ] &&
		/bin/su mmdf -c "/usr/mmdf/bin/deliver -b -clocal"
	fi

	   	   Change these lines to read as follows:

	then
		[ -x /usr/mmdf/bin/deliver ] && {
		/bin/su mmdf -c "/usr/mmdf/bin/deliver -b -clocal -T60"
		}
	fi

		   Note the addition of the set of curly braces and the -T60.

		2. For each of the other deliver daemons that are to be added, 
		   (uucp, badhosts, or both), insert lines for these deliver 
		   daemons prior to the closing curly brace above. For example, 
	 	   if both the uucp and badhosts deliver daemons are 
		   to be added, the above set of lines would look as follows:

	then
		[ -x /usr/mmdf/bin/deliver ] && {
		/bin/su mmdf -c "/usr/mmdf/bin/deliver -b -clocal -T60"
		/bin/su mmdf -c "/usr/mmdf/bin/deliver -b -cuucp -T60"
		/bin/su mmdf -c "/usr/mmdf/bin/deliver -b -cbadhosts -T60"
		}
	fi

		   Note: Do not add deliver daemons for channels that are
		   not configured.  Thus, if the badhosts channel is not
		   being configured, there should only be two lines between 
		   the curly braces above.

		3. Continue with the configuration of MMDF at the place in 
		   this document where instructions were given to read this 
		   section.


VI. Troubleshooting and Contacting SCO Support
----------------------------------------------

Before contacting SCO Support with a problem about MMDF, please take the
following steps to help diagnose the problem.

		1. Does the underlying network work?  Can you use the
		   uucp(C) command to transfer files between the two
		   systems? 

		2. When logged in as mmdf, note the output of the command:

			/usr/mmdf/bin/checkaddr <address>

		   where <address> is the address to which you intend to 
		   send mail.

		3. If you get output other than OK from the above command,
		   recheck the files in /usr/mmdf/table for accuracy.  Make 
		   sure the command ./dbmbuild is run when logged in as mmdf 
		   and that the directory is /usr/mmdf/table.

		4. If you need to call SCO Support, be sure to have the
		   following files ready when speaking with an engineer:

			/usr/mmdf/mmdftailor
			/usr/mmdf/table/*.chn
			/usr/mmdf/table/*.dom
			/usr/mmdf/log/*.log

		   We also recommend that you be in front of the machine that
		   is having the problem when speaking to an engineer in order
		   to try suggestions we may have.



	

VII. The Internet, UUNET, and UseNet News
-----------------------------------------
The Internet is a world-wide network of computers that allow the mutual
exchange of mail, files, and remote logins.  Machines on the Internet
are grouped according to domains.  Domains are administrative groupings
of machines.  There are several types of top-level domains, including:


	EDU		educational institutions
	COM		commercial institutions
	GOV		government institutions
	MIL		military institutions

A domain is usually defined as <organization>.<top-level-domain>.  Hence,
machines at The Santa Cruz Operation have a domain of sco.COM.  Machines
in a domain have "fully-qualified domain names" of:

<machine>.<organization>.<top-level domain>

Hence the machine 'scotch' at The Santa Cruz Operation has a 
"fully-qualified domain name" of:

	scotch.sco.COM

All machines and groups of machines that have a connection to the Internet
should be assigned a domain to prevent duplication of names on the network.
To apply for a domain name, and to get more information about the Internet,
contact:

DDN Network Information Center
SRI International
333 Ravenswood Avenue, Room EJ291
Menlo Park, CA 94025, USA

Phone: 1-800-235-3155

---------------------

uunet.UU.NET is a machine on the Internet that provides access to the
Internet for mail.  UUNET also provides access to UseNet News, a discussion 
oriented forum for a variety of topics that reaches thousands of sites 
worldwide.

Contact: 		UUNET Administration
Location: 		Fairfax, Virginia
Business Hours: 	9:00 to 18:00, Eastern Time
Subscription Number:    (703) 876 - 5050


SCO Support provides Support Level Supplement (SLS) unx194, a pre-compiled 
version of the UseNet News Software.  Contact SCO Support Media Department 
at (800) 347-4381 to obtain a copy.

SCO does not endorse UUNET or the Internet.  We provide this information
only as a service. 


VIII. Further Information
-------------------------

For information on configuring MMDF in a TCP/IP environment, see the 
SCO Support document entitled: "Configuring MMDF in a TCP/IP environment".

Also, for a better understanding of MMDF, see:

  SCO UNIX System V/386 Operating System System Administrator's Guide: 
  Chapter 21, Setting Up Electronic Mail

This is available with SCO UNIX System V/386 Release 3.2 Operating System
Version 2.0.



-- 
"For all their long civilization, Jim thought, Vulcans never bothered
to invent air conditioning. I wonder what logic explains that?"

                      -Admiral James T. Kirk, _STIV: The Voyage Home_
                                               by Vonda McIntyre
-Christopher Durham
Internet: chrisdu at sco.COM			    Technical Support
UUCP: ...!{uunet,ucscc}!sco!chrisdu	     The Santa Cruz Operation



More information about the Comp.unix.xenix.sco mailing list