Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
WEBMLMD(1)		     Double Precision, Inc.		      WEBMLMD(1)

NAME
     webmlmd - WebMLM interface to couriermlm

SYNOPSIS
     cp /usr/local/libexec/courier/webmail/webmlm /var/www/cgi-bin

     webmlmd {[start] | [restart] | [stop]} {/usr/local/etc/courier/webmlmrc}

DESCRIPTION
     WebMLM  is  a  service  that offers an alternative web-based access to some
     couriermlm commands, as an alternative to submitting them via E-mail.

     At this time, WebMLM implements requests to subscribe and unsubscribe  from
     the mailing list, and configuration of basic mailing list settings.

     Before  configuring  WebMLM,  the	mailing list must be set up using couri-
     ermlm(1).	WebMLM is not a separate application, it is an add-on to  couri-
     ermlm.  WebMLM will not work correctly until the mailing list is fully con-
     figured,  and  all  .courier  files,  that correspond to this list, are in-
     stalled.

OVERVIEW
     WebMLM consists of three parts:

     *	 A configuration file, (default:  /usr/local/etc/courier/webmlmrc)  that
	 enumerates  all  couriermlm-created  mailing list directories for which
	 WebMLM will offer its services (a single instance of WebMLM can support
	 multiple mailing list directories). The configuration file also  speci-
	 fies  the name of a local filesystem socket (a named pipe) where webmlm
	 and webmlmd programs talk to each other, and several  other  configura-
	 tion parameters.

     *	 webmlmd  is  a  background  daemon process that reads the configuration
	 file, creates the communication socket specified by  the  configuration
	 file, and listens for web requests.

     *	 webmlm  is  a small stub program which must be installed as a script in
	 Apache http server's cgi-bin directory.   Apache  runs  the  script  to
	 process every request received from a web client/browser.  webmlm reads
	 web browser's request, reads the configuration file, opens the communi-
	 cation  socket  file specified in the configuration file, sends the re-
	 quest to the webmlmd daemon process, and waits for webmlmd's  response,
	 which is forwarded to the web browser/client.

	     Note
	     webmlm	is     originally     installed    in	 the	/usr/lo-
	     cal/libexec/courier/webmail directory, and must be manually  copied
	     to  Apache's  cgi-bin  directory. Most installable Courier packages
	     (including the Courier RPM package  built	using  its  default  RPM
	     build  script)  have a separate subpackage that installs webmlm di-
	     rectly into the cgi-bin directory. Installing the subpackage is all
	     that's needed in those cases.

     Use the following process to web-enable couriermlm-managed mailing lists:

      1. Configure the LISTNAME, LISTDESCR, LISTPW and URL couriermlm  list  op-
	 tions.

      2. Set up the webmlmrc configuration file.

       3. Start  webmlmd,  and	arrange start it automatically during the system
	 boot.

      4. Install webmlm in your web server's cgi-bin directory.

CONFIGURE COURIERMLM LIST OPTIONS
     Use the "couriermlm set directory name=value" command, for each  couriermlm
     list directory to set the following settings:

     LISTNAME
	 The mailing list's short title, or caption. Example: "The courier-users
	 mailing list".

     LISTDESCR
	 This  is  a longer, more verbose description of this mailing list. This
	 setting is displayed, as raw HTML, on the list's main page. This is  an
	 optional setting.

     URL
	 The  URL  to the main page for this mailing list. You'll need to figure
	 out what this URL should be set to by planning ahead where webmlm  gets
	 installed, in the last step in this installation process.

	 After	installing webmlm in Apache's cgi-bin directory, the URL for the
	 webmlm  command  would  probably  be  something  like	 "http://server-
	 name/cgi-bin/webmlm".	The  list's URL is the name of the list's direc-
	 tory appended to webmlm's URL.

	 For example, if the couriermlm mailing list directory is /var/lists/de-
	 vel-list,  its  URL   MUST   be   "http://servername/cgi-bin/webmlm/de-
	 vel-list".

     LISTPW
	 This  is  the	password  to the mailing list administration screen. The
	 password must be set using the couriermlm command.

	     Note
	     We are not talking military-grade security, here!	Do  not  recycle
	     sensitive	passwords  for	this  purpose. The password is saved, in
	     plain text, in the options file in the mailing list directory.  You
	     should  consider removing the world read and execute permissions on
	     the mailing list directory. Changing the permissions on the options
	     file is ineffective, it will be restored the next time any configu-
	     ration setting is changed.

	     Furthermore, authorization for the administration	screen	is  pro-
	     vided  by storing the list password in a browser cookie, which also
	     gets transmitted over the network, in the clear. Consider using SSL
	     with webmlmd.

	     This is a simple password-based implementation. High levels of  se-
	     curity  require  a  lot of care to set up, and are usually somewhat
	     complicated to implement and manage. Keep that in mind.

     Put apostrophes around each option setting when running couriermlm. Most of
     these configuration settings (especially LISTDESCR) contain  special  shell
     characters and must be quoted.

SETTING UP THE WEBMLMRC CONFIGURATION FILE
     A	 default   webmlmd   configuration   file   is	 installed  as	/usr/lo-
     cal/etc/courier/webmlmrc. The file contains a description of each	required
     configuration setting. Briefly:

     PORT
	 The  filesystem  socket  port	file.  This is a local filesystem socket
	 that's used to process web requests. The directory  that  contains  the
	 filesystem socket must either be owned by the same userid that owns the
	 couriermlm  mailing  list directory, or webmlmd must be started as root
	 (in the next step of this installation process). The  default	/usr/lo-
	 cal/etc/courier/webmlmrc  configuration file sets the filesystem socket
	 file to a Courier directory that's only writable by  root,  so  webmlmd
	 needs	to be started by root, in the step step, in the default configu-
	 ration.

	 Additionally, the filesystem socket port file must be accessible by the
	 userid that executes web cgi-bin scripts. This is the nobody  user,  in
	 Apache's default configuration.

     LISTS
	 A  colon-separated  list of couriermlm mailing list directories, as ab-
	 solute paths. A single instance of WebMLM is capable of handling multi-
	 ple lists, provided that:

	  1. The names of all mailing list directories, the last  components  of
	     all directories, are unique.

	   2. All  mailing  list  directories  are  owned by the same userid and
	     groupid.

	 Otherwise, multiple, separate instances of WebMLM must be set up.

STARTING WEBMLMD
     The following command starts webmlmd:

	 webmlmd start configfile

     This command should be added to your system start up script (replacing con-
     figfile with the absolute pathname to the configuration file).

	 Note

	 Most installable Courier packages (including the  Courier  RPM  package
	 built	using  its  default  RPM  build script) install a system startup
	 script. The script invokes the appropriate magical incantation  if  the
	 configuration	file  (/usr/local/etc/courier/webmlmrc)  has a non-empty
	 LISTS setting. Initially, LISTS is empty and nothing happens. Once  the
	 mailing list directories are defined, the startup script will take care
	 of starting webmlmd.

     The  webmlmd  command  returns  immediately, it continues to run as a back-
     ground daemon process). To stop the daemon process:

	 webmlmd stop configfile

     As mentioned previously, webmlmd must be either invoked as root,  or  under
     the  same	userid	that  owns  the  mailing list directories, provided that
     PORT's directory is writable by the userid.

INSTALLING WEBMLM
     Install the webmlm program by either manually copying it from the	/usr/lo-
     cal/libexec/courier/webmail  directory  to your Apache's cgi-bin directory.
     Most  pre-built  Courier  packages  typically  do	not  have   a	/usr/lo-
     cal/libexec/courier/webmail directory, but have have an optional subpackage
     that installs webmlm directly into the cgi-bin directory

MULTIPLE WEBMLM INSTANCES
     Sometimes,  very specialized environments may require multiple instances of
     WebMLM. For example, to support mailing list directories that are owned  by
     different	userids.  This	may not be supported by most generic, pre-built,
     Courier packages, and must be done manually.

   Install multiple copies of webmlm
     Make separate copies of the  webmlm  program,  one  for  each  instance  of
     WebMLM.  Install  them all in your web server's cgi-bin directory. This can
     be done with soft or hard links, but there must be  separate  instances  of
     webmlm.

     Each  instance of webmlm reads a configuration file whose name is formed by
     appending "rc" to the  command,  and  looking  for  the  file  in	/usr/lo-
     cal/etc/courier.	For   example,	the  unmodified  webmlm  reads	/usr/lo-
     cal/etc/courier/webmlmrc. If a second copy named webmlm2  exists,	it  will
     read /usr/local/etc/courier/webmlm2rc.

     Additionally,  the optional WEBMLMRC_DIR environment variable overrides the
     /usr/local/etc/courier portion of the  configuration  filename.  If  webmlm
     finds  that  this	environment  variable  is  set, its contents replace the
     "/usr/local/etc/courier"  portion.  For  example,	a  webmlm   that   reads
     "/etc/lists" from WEBMLMRC_DIR will open the /etc/lists/webmlmrc configura-
     tion  file.  Similarly,  if its own name, in the web server's script direc-
     tory, is webmlm2, it will open /etc/lists/webmlm2rc.

     Use Apache's "SetEnv" directory to set environment variables:

	 SetEnv WEBMLMRC_DIR /etc/lists

     Use whatever mechanism makes sense for you to arrange a  unique  configura-
     tion file for each copy of the webmlm command.

SEE ALSO
     couriermlm(1)[1]

AUTHOR
     Sam Varshavchik
	 Author

NOTES
      1.

		 couriermlm(1)

	 http://www.courier-mta.org/couriermlm.html

Courier Mail Server		   01/22/2022			      WEBMLMD(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=webmlmd&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help