Mailman Guide


  1. This is a relatively simple installation guide to install Mailman 2.1.5 onto a ClarkConnect 3.2r1 server.
  2. This guide is tested on the Mailman 2.1.5 package and ClarkConnect 3.2r1 Home edition.
  3. Commands shown in a black box must be executed in the Putty terminal window.
  4. Text shown in the dashed boxes must be entered into the file mentioned in the instructions.
  5. "Copy" is accomplished by a left-click on the mouse and dragging to highlight text.
  6. "Paste" is accomplished by a right-click on the mouse. Pasted items appear below the cursor postion.



  1. From the web interface, register the system from the Services > Register System menu and then update the system from the Services > Critical Updates menu.

  2. If necessary, in the Software > Web Server menu, enter the FQDN, select Update, and start the service.

  3. If necessary, in the Software > SMTP Mail menu, enter the FQDN, select Update, and start the service.

  4. Configure and start any other services as necessary (Samba, Firewall, etc...)

  5. From a remote workstation use Putty to open an SSH connection to the Clarkconnect server. Use a full-screen shell to aviod any line-wrap problems. Login as the root user and issue the following commands:


    • apt-get update
      apt-get install mailman
      
  6. Edit the mailman.conf file:

    • nano /etc/httpd/conf.d/mailman.conf
      
    • Locate the last line and change "www.example.com" to use your FQDN:
      RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo
      
    • Save the edited file
  7. Restart Apache:

    • apachectl restart
      
  8. Set a site-wide administrator password:

    • /usr/lib/mailman/bin/mmsitepass (password)
      
  9. (OPTIONAL) Set a site-wide list creater password with -c option:

    • /usr/lib/mailman/bin/mmsitepass -c (password)
      
  10. If necessary, change the Mailman configuration file to reflect different URL's.

    • nano /usr/lib/mailman/Mailman/mm_cfg.py
      
    • Scroll down to to find the line below and then READ THE INSTRUCTIONS!
    • If the FQDN of the host running Mailman is to be used for URL resolution, don't edit anything.

    • If the FQDN of the host running Mailman is NOT to be used for URL resolution, edit the DEFAULT_EMAIL_HOST & DEFAULT_URL_HOST lines.

      ##############################################################
      #    Here's where we override shipped defaults with settings #
      #    suitable for the RPM package.                           #
      
    • If necessary, save the edited file
  11. Create your first and required "mailman" mailing list for administrative notices:

    • /usr/lib/mailman/bin/newlist mailman
      
  12. After the mailman list is created, a string of aliases will be printed to the screen. Left-click and scroll to copy:

    • ## example mailing list
      example:              "|/usr/local/mailman/mail/mailman post mailman"
      example-admin:        "|/usr/local/mailman/mail/mailman admin mailman"
      example-bounces:      "|/usr/local/mailman/mail/mailman bounces mailman"
      example-confirm:      "|/usr/local/mailman/mail/mailman confirm mailman"
      example-join:         "|/usr/local/mailman/mail/mailman join mailman"
      example-leave:        "|/usr/local/mailman/mail/mailman leave mailman"
      example-owner:        "|/usr/local/mailman/mail/mailman owner mailman"
      example-request:      "|/usr/local/mailman/mail/mailman request mailman"
      example-subscribe:    "|/usr/local/mailman/mail/mailman subscribe mailman"
      example-unsubscribe:  "|/usr/local/mailman/mail/mailman unsubscribe mailman"
      
  13. Now open the /etc/aliases file:

    • nano /etc/aliases
      
    • Scroll to the bottom of the file and paste the alias string by simply performing a right-click:
    • ## example mailing list
      example:              "|/usr/local/mailman/mail/mailman post mailman"
      example-admin:        "|/usr/local/mailman/mail/mailman admin mailman"
      example-bounces:      "|/usr/local/mailman/mail/mailman bounces mailman"
      example-confirm:      "|/usr/local/mailman/mail/mailman confirm mailman"
      example-join:         "|/usr/local/mailman/mail/mailman join mailman"
      example-leave:        "|/usr/local/mailman/mail/mailman leave mailman"
      example-owner:        "|/usr/local/mailman/mail/mailman owner mailman"
      example-request:      "|/usr/local/mailman/mail/mailman request mailman"
      example-subscribe:    "|/usr/local/mailman/mail/mailman subscribe mailman"
      example-unsubscribe:  "|/usr/local/mailman/mail/mailman unsubscribe mailman"
      
    • Save the edited file
    • Create other lists as neccessary by repeating the last 3 steps for each mailing list.

  14. Regenerate the aliases database:

    • newaliases
      
  15. (re)Start the necessary services:

    • /sbin/service mailman start
      apachectl restart
      postfix reload
      
  16. Automatically start Mailman on reboot:

    • /sbin/chkconfig --level 35 mailman on
      



At this point, the list administrators should subscribe to the appropriate mailing lists. Use HTTPS access for the public subscription web page to provide security to new subscribers. The URL paths to access the lists are shown below.

Also, please follow and implement the SSL Certificate Guide before publicly announcing your mailing list.


General list information:
http://www.example.com/mailman/listinfo

Public list subscription:
https://www.example.com/mailman/listinfo/list-name

Administration:
https://www.example.com/mailman/admin/list-name