A few years ago Mailman got a bit bitchy, and this was the first hint of the monster that it would eventually become.
Mailman insists on having a mailing list named “mailman” before it will even run–this is, ostensibly, for messages for the administrator(s) of the system. It used to be that you’d just create an alias for the purpose, but that is no longer considered sufficient by the mailman developers.
Anyway, this is a Virtualmin Professional system, installed with install.sh? If so, what OS/version? (The lack of this list would indicate a bug in the installer, because it’s supposed to create one.)
To resolve the problem, find the newlist command (depends on your OS/version) and use it to create a list named "mailman" with your email address as the administrator. Follow the instructions it provides and add the aliases that it prints out when the list is created to your /etc/aliases file. Save it, and run "newaliases".
Once that’s done Mailman will fire right up.
Actually, now that I think of it…Jamie might have added an automatic way to do this in the virtualmin-mailman module. See if there’s a button for it or something in that module…might save you a little time.
Yeah, this is to deal with the fact that Mailman hates virtual hosting.
Seriously, it’s possible to make it all work on a “normal” URL, but you have to create a special domain for it that is not subject to suexec. It’s a bit tricky, because Mailman has to run as the Apache user. The only way we could get around that would be a private installation of mailman per domain, which is even uglier.