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.