A short link to this page is https://wiki.list.org/x/4030625

Clear message

5.2. Will Mailman work with Windows 2000?

Yes. Here are the steps required to make it work using exim as an MTA and IIS as a web server.

Pre-requisites

Warning: This list of cygwin required components may be incomplete. Send changes to transom@extremelogic.com.

Cygwin (www.cygwin.com)

    * Admin:
          o Cron
          o Cygrunsrv
    * Base
    * Devel
          o Autoconf
          o Automake
          o Make
          o GCC
    * Interpreters
          o Python

You must set the system environment variable CYGWIN=ntsec for mailman to work

Exim (ftp://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/porters/Humblet_Pierre_A/V1.1/)

   1. Open the cygwin bash prompt
   2.  cd /
   3. tar xvzf /path/to/exim-4.04-cygwin-1.3-bin.tar.gz
   4. You should read /usr/local/exim/README.CYGWIN. It has detailed info on exim.
   5. add exim user to windows 2000
   6. from the Windows 2000 command prompt: net user exim /add
   7. add group mm
   8. from the Windows 2000 command prompt net localgroup mm /add
   9. add exim to the mm group
  10. from the Windows 2000 command prompt net localgroup mm exim /add
  11. open cygwin prompt and fix passwd and group files
  12.  mkpasswd -l | grep exim >> /etc/passwd
  13. mkgroup -l | grep mm >> /etc/group
  14. change exim to be in mm group in /etc/passwd
  15. update /etc/aliases (include in doc)
  16. get /usr/local/exim/configure from CVS or production (include in doc)
  17. change hostname in configure to reflect the server's FQDN
  18. install the exim service cygrunsrv -I exim -e CYGWIN=ntsec -p /usr/local/bin/exim -a "-bdf -q15m"
  19. Change ownership on the /usr/local/exim directory
  20. chown -R exim.mm /usr/local/exim
  21. start the exim service cygrunsrv -S exim
  22. check the exim.log in /var/log/ for errors

Mailman (www.list.org)

Note: GNU Mailman running under cygwin on Windows 2000 cannot be used to create private mailing lists. All mailing lists will be public.

   1. extract the mailman archive to a directory
   2. create a user named mailman
   3. from the Windows 2000 command prompt: net user mailman /add
   4. add mailman to the mm group
   5. from the Windows 2000 command prompt net localgroup mm mailman /add
   6. Set a password for the mailman user
   7. net user mailman newpassword
   8. create the cygwin user with mkpasswd
   9.  mkpasswd -l | grep mailman >> /etc/passwd
  10. make mm mailman's group in /etc/group
  11. Run the configure script for mailman
  12. cd /path/to/extracted/mailman
  13. Make sure mailman's home directory exists and is set GID
  14. chown -R mailman.mm /home/mailman/
  15. chmod g+s /home/mailman/
  16. ./configure --with-mail-gid=mm --with-cgi-gid=mm --with-groupname=mm --with-cgi-
      ext=.exe
  17. make
  18. make install
  19. copy wrapper.exe.exe from the installation (under src) directory to /home/mailman/mail/wrapper.exe
  20. login as mailman and run ~/bin/checkperms -f until it stops bitching
  21. change to the /home/mailman/mail/ directory and mv each .exe.exe file to .exe (remove the extraneous .exe)
  22. create the virtual directory mailman and point to c:\cygwin\home\mailmain\cgi-bin
  23. The vdir should have script and execute permissions
  24. Open properties on the mailman vdir, directory security, anonymous access, edit, click on edit under anonymous access - change the anonymous access user to mailman. Do not check "allow IIS to manage password"
  25. Add read permissions to "other" from the private archive directory
  26. chmod o+r /home/mailman/archives/private
  27. create the virtual directory pipermail and point to c:\cygwin\home\mailman\archives\private
  28. set the default doc to index.html
  29. copy cygwin1.dll into a dir on the path like c:\winnt\system32
  30. Install the cron service
  31. cygrunsrv -I cron -p /usr/sbin/cron -a -D
  32. logon as mailman and add the crontab
  33. cd /home/mailman/cron/
  34. crontab crontab.in

Common Problems

When you compile mailman, you must tell it an appropriate group id to run the scripts under. The checkperms -f script will correct these permissions. However, programs running under cygwin cannot bet setuid or setgid without being patched specifically for cygwin because Windows does not incorporate setuid or setgid functionality as UNIX does. For this reason several parts of mailman must be tweaked manually to run as the mailman user.

Administration

To add new lists:

   1. run /home/mailman/bin/newlist
   2. add the output of the script to /etc/aliases

Test your mailman installation:

   1. Add a new list
   2. Open http://yourhost/mailman/listinfo.exe and subscribe yourself to the list (the list admin does not get list mail by default)
   3. send a test message to the list

Converted from the Mailman FAQ Wizard

This is one of many Frequently Asked Questions.