Great Circle Associates Majordomo-Users
(July 1996)

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: MajorDomo Admin program.
From: <m . hampson @ ic . ac . uk>
Date: Tue, 23 Jul 1996 09:34:22 +0100
To: majordomo-workers @ GreatCircle . COM
Cc: majordomo-users @ GreatCircle . COM

I have generated some tools to help the administration of majordomo
lists. If these are of interest to anyone they can be ftp'd from

Any feedback would be useful.

The README is appended.


	--- MajorDomo Admin program. mdadmin and clients. ---

	This package is a selection of perl programs and
	a java program to help administration of majordomo
	mailing lists.

	o This release is 1.0 Beta 1 of all components.

	o Can be obtained from

The package comprises of:

	in.mdadmind - A server side perl script that performs
		      various management functions.

	mda	    - A perl client program to manage lists.
	elman	    - a JAVA client program to manage lists.


	o Standard querying of existing lists (eg finding members
	  viewing available lists) normally done through the mail

	o Standard modifications normally done through the mail interface
	  (eg (un)subscribing people, changing password, editing the list

	o Admin task not normally available through the mail interface.
	  Namely, creating and deleting lists.
The command to create new lists supports commonly used (at least by me)
config variables as parameters and may also create archives and digest
lists. It also maintains an file of aliases required for sendmail to
support the list, which can be included into the main alias file for
the machine. The delete command removes lists files and the aliases
(but leaves archive files).


Installation of the server.

Step 1.
	Ensure you have a working majordomo 1.93 installed on your mail list
	server host together with perl 4.x.

Step 2. untar the distribution in /usr/local. It will create the directory
	mdadmin. If you don't install in /usr/local/mdadmin you may have
	to play around with some of the location variables in the perl
	Ensure all files are owned by user majordom (or whatever user
	majordomo runs under at your site).

Step 3.	Edit the file and change the variables at the top.
	These are as follows:-

	mdadmin_domain - Set to your mail domain name.
	mdadmin_home   - Set to /usr/local/mdadmin or where ever you 
		   	 installed the package. NB If elsewhere you
			 will have to modify some other occurrences of
			 this string.
	mdadmin_digest_dir  - Where digests are to go.
	mdadmin_archive_dir - Where Archives are to go.
			- Name of a program/script that you need to
		          write to take the majordomo alias file
			  /usr/local/mdadmin/aliases and incorporate it
			  into to real aliases file (and tell sendmail
			  it been changed)
			  If null no action is taken.
			- Suffix to use for the majordomo outgoing lists.
			  Often this is this string "outgoing". However
			  if users can guess this string they can bypass
			  the moderation checking in MajorDomo. Therefore
			  I suggest you set it to an unknown password.

Step 4.
	Most list operations require the client user to supply the list password.
	However the commands for creating and deleting lists require a special
	password (a bit like a super user password) that should only be known to
	people allow to create and delete lists.

	Choose a value for this password and put it in the file 
	/usr/local/mdadmin/.passwd in plain text. Then type

	chmod 400 /usr/local/mdadmin/.passwd

	I know this is not exactly state of the art security. Maybe it will be
	better next release :-)

Step 5.
	Edit the file (ie the real one in the majordomo installation
	directory) and change the value of the
	variable @archive_dirs which is used to say which directories
	are valid archives. mdadmin needs to maintain its value.

	The value will look something like

	@archive_dirs = ( "/spool/archive/bblisa", "/usr/spool/archive/firewalls" );

	change it to 

	require "$homedir/" ;

	mdadmin maintains the variable in this aux file, to avoid changing all the time.

	The contenets of the file must be  something like this

	@archive_dirs = (

	Note that the layout is important as mdadmin need to automatically
	maintain it.  Start each directory at the start of a new line
	with the commas at the start of the line.

	If you have no lists with archives yet use

	@archive_dirs = (
	) ;

	Otherwise back stitch your existing lists in this file.
	NOTE: Make sure this file ( is owned and writable
	by the majordom user number.

Step 6. 
	Almost done. Pick a port to run in.mdadmind on. The clients default to
	1600 so use this if you can.

	Add the following to /etc/services 

	mdadmin         1600/tcp        majordomo

	Add the following to /etc/inetd.conf (and kill -HUP inetd)
	mdadmin  stream tcp nowait majordom /usr/local/mdadmin/in.mdadmind mdadmind

	Okay - the server is now ready to run. Test its there by telnetting to the 
	You should see the response ....
	220 mdadmind Go ahead Version 1.0

*** Notes for sites with lists already active ****

	If you already have lists active, you will be able to manage them with this
	package. However if you attempt to delete such a list its aliases will not
	be deleted from the mdadmin maintained alias file ('cos they are not there)

Installation of clients.

- installation of mda

	mda is a perl client which can be used on any machine. It communicates
	with the server over the network. It defaults to use port 1600, if
	using a different port edit mda and replace the port variable.

	Installation is as simple as copying to /usr/local/bin or where ever.
	Invoke mda as follows...

	mda [-d] [-p <port>] [-r <replyto>] <host>

	Where host is the mail list server running in.mdadmin and port is used
	to specify an explicit port number.
	The replyto is used for logging purposes and should be your email address.
	The d flag turns on debugging information.

	For more details on how to use mda read the README in its client subdirectory.

- installation of elman

	elman is a java client for managing Majordomo E-mail lists. It can run
	on any platform with a java virtual machine and provide a GUI for managing

	To install, copy the class files to an appropriate subdirectory and invoke
	the java interpreter on the elman class. As command line parameters it
	takes the server hostname, port  and a reply to mail address.

	invoke as...
	java Elman <host> <replyto email address> [<port>]


	elman only really works under openwindows under Solaris (or at a push
	X11 under Solaris). Its fails under windows 95 because of a java bug
 	in modal dialog processing. It fails on a MAC for the same reason
	plus passwords are echoed. Hopefully the next release of JAVA for
	these platforms will correct these problems.

   | Martyn Hampson          |    Tel:    0171 594 6973                 |
   | Imperial College        |    Fax:    0171 594 6958                 |
   | Computer Centre         |    E-Mail:            |
   | London SW7 2BP, ENGLAND |    "Don't just do something, sit there!" |

Indexed By Date Previous: noadvertise
Next: Re: mungedomain question
From: Richard Pieri <>
Indexed By Thread Previous: noadvertise
Next: How to eliminate the rather long technical header , and...
From: Ron Ehrens <>

Search Internet Search