Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm interested only in running mailman on localhost and would like access to the web interface, as per https://help.ubuntu.com/community/Mailman, but am getting 404, after following Michaels suggestions:

root@dur:/etc/mailman# 
root@dur:/etc/mailman# ll /etc/apache2/sites-enabled/
total 8
drwxr-xr-x 2 root root 4096 Aug 27 16:01 ./
drwxr-xr-x 7 root root 4096 Aug 27 15:59 ../
lrwxrwxrwx 1 root root   26 Aug 27 15:58 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root   24 Aug 27 16:01 mailman -> /etc/mailman/apache.conf
root@dur:/etc/mailman# 
root@dur:/etc/mailman# cat apache.conf
# Sample configuration for Debian mailman with Apache

# We can find mailman here:
#ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/
# And the public archives:
Alias /pipermail/ /var/lib/mailman/archives/public/
# Logos:
Alias /images/mailman/ /usr/share/images/mailman/

# Use this if you don't want the "cgi-bin" component in your URL:
# In case you want to access mailman through a shorter URL you should enable
# this:
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
# In this case you need to set the DEFAULT_URL_PATTERN in
# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie
# authentication code to work.  Note that you need to change the base
# URL for all the already-created lists as well.

<Directory /usr/lib/cgi-bin/mailman/>
    AllowOverride None
    Options ExecCGI
    AddHandler cgi-script .cgi
    Order allow,deny
    Allow from all
</Directory>
<Directory /var/lib/mailman/archives/public/>
    Options FollowSymlinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory /usr/share/images/mailman/>
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


## The following describes how to configure mailman on
## a dedicated virtual host, courtesy Marco d'Itri.

# Add these lines in /etc/mailman/mm_cfg.py:
#DEFAULT_EMAIL_HOST = 'lists.example.net'
#DEFAULT_URL_HOST = 'lists.example.net'
#DEFAULT_URL_PATTERN = 'http://%s/'

#<VirtualHost *>
#ServerName lists.example.net
#DocumentRoot /var/www/lists
#ErrorLog /var/log/apache2/lists-error.log
#CustomLog /var/log/apache2/lists-access.log combined
#
#<Directory /var/lib/mailman/archives/>
#    Options FollowSymLinks
#    AllowOverride None
#</Directory>
#
#Alias /pipermail/ /var/lib/mailman/archives/public/
#Alias /images/mailman/ /usr/share/images/mailman/
#ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
#ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
#ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
#ScriptAlias /create /usr/lib/cgi-bin/mailman/create
#ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
#ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
#ScriptAlias /options /usr/lib/cgi-bin/mailman/options
#ScriptAlias /private /usr/lib/cgi-bin/mailman/private
#ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
#ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
#ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
#</VirtualHost>

root@dur:/etc/mailman# 
root@dur:/etc/mailman# cat mm_cfg.py
# -*- python -*-

# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301 USA


"""This is the module which takes your site-specific settings.

From a raw distribution it should be copied to mm_cfg.py.  If you
already have an mm_cfg.py, be careful to add in only the new settings
you want.  The complete set of distributed defaults, with annotation,
are in ./Defaults.  In mm_cfg, override only those you want to
change, after the

  from Defaults import *

line (see below).

Note that these are just default settings - many can be overridden via the
admin and user interfaces on a per-list or per-user basis.

Note also that some of the settings are resolved against the active list
setting by using the value as a format string against the
list-instance-object's dictionary - see the distributed value of
DEFAULT_MSG_FOOTER for an example."""


#######################################################
#    Here's where we get the distributed defaults.    #

from Defaults import *

##############################################################
# Put YOUR site-specific configuration below, in mm_cfg.py . #
# See Defaults.py for explanations of the values.            #

#-------------------------------------------------------------
# The name of the list Mailman uses to send password reminders
# and similar. Don't change if you want mailman-owner to be
# a valid local part.
MAILMAN_SITE_LIST = 'mailman'

#-------------------------------------------------------------
# If you change these, you have to configure your http server
# accordingly (Alias and ScriptAlias directives in most httpds)
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
PRIVATE_ARCHIVE_URL = '/cgi-bin/mailman/private'
IMAGE_LOGOS         = '/images/mailman/'

#-------------------------------------------------------------
# Default domain for email addresses of newly created MLs
DEFAULT_EMAIL_HOST = 'dur.bounceme.net'
#-------------------------------------------------------------
# Default host for web interface of newly created MLs
DEFAULT_URL_HOST   = 'dur.bounceme.net'
#-------------------------------------------------------------
# Required when setting any of its arguments.
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

#-------------------------------------------------------------
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'en'

#-------------------------------------------------------------
# Iirc this was used in pre 2.1, leave it for now
USE_ENVELOPE_SENDER    = 0              # Still used?

#-------------------------------------------------------------
# Unset send_reminders on newly created lists
DEFAULT_SEND_REMINDERS = 0

#-------------------------------------------------------------
# Uncomment this if you configured your MTA such that it
# automatically recognizes newly created lists.
# (see /usr/share/doc/mailman/README.Exim4.Debian or
# /usr/share/mailman/postfix-to-mailman.py)
# MTA=None   # Misnomer, suppresses alias output on newlist

#-------------------------------------------------------------
# Uncomment if you use Postfix virtual domains (but not
# postfix-to-mailman.py), but be sure to see
# /usr/share/doc/mailman/README.Debian first.
# MTA='Postfix'

#-------------------------------------------------------------
# Uncomment if you want to filter mail with SpamAssassin. For
# more information please visit this website:
# http://www.jamesh.id.au/articles/mailman-spamassassin/
# GLOBAL_PIPELINE.insert(1, 'SpamAssassin')

# Note - if you're looking for something that is imported from mm_cfg, but you
# didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py.
root@dur:/etc/mailman# 

It's still the same error I believe:

root@dur:~# 
root@dur:~# tail /var/log/apache2/error.log 
[Mon Aug 27 19:16:41 2012] [notice] caught SIGTERM, shutting down
[Mon Aug 27 19:16:42 2012] [notice] Apache/2.2.22 (Ubuntu) configured -- resuming normal operations
[Mon Aug 27 19:16:48 2012] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Mon Aug 27 19:16:48 2012] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Mon Aug 27 19:16:54 2012] [error] [client 127.0.0.1] File does not exist: /var/www/mailman
[Mon Aug 27 19:20:55 2012] [error] [client 127.0.0.1] File does not exist: /var/www/sites-available
[Mon Aug 27 19:25:05 2012] [error] [client 127.0.0.1] attempt to invoke directory as script: /usr/lib/cgi-bin/mailman/, referer: http://serverfault.com/questions/421756/mailman-web-ui-on-localhost-with-apache2
[Mon Aug 27 19:28:45 2012] [error] [client 127.0.0.1] File does not exist: /var/www/mailman
[Mon Aug 27 19:29:01 2012] [error] [client 127.0.0.1] File does not exist: /var/www/mailman
[Mon Aug 27 19:29:21 2012] [error] [client 127.0.0.1] File does not exist: /var/www/mailman
root@dur:~# 
share|improve this question
    
looks like list.org/mailman-install/node10.html is the fine manual page on this. –  Thufir Aug 27 '12 at 20:24
    
So what's your Apache configuration? –  Michael Hampton Aug 27 '12 at 20:26
    
@MichaelHampton I updated the question a bit. I think the problem is with the symbolic link. maybe an alias would be easier? Not sure how to use an alias here. –  Thufir Aug 27 '12 at 20:41
    
Yes, but you didn't update the question with the requested information. –  Michael Hampton Aug 27 '12 at 21:09
    
@MichaelHampton do you mean where apache is located? /etc/apache2/ –  Thufir Aug 27 '12 at 23:22

3 Answers 3

up vote -1 down vote accepted

I went back to:

https://help.ubuntu.com/community/Mailman

and eventually navigated to

http://dur.bounceme.net/cgi-bin/mailman/admin

Which, for my purposes, works.

share|improve this answer

The problem is that Apache in Debian's default configuration (and yours, as posted) is expecting Mailman to be served from /cgi-bin/mailman whereas you want to use /mailman instead.

The offending line is in your /etc/mailman/apache.conf file:

ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/

Comment this by adding a # sign in front of it.

Further down in the comments you will see the following explanation:

# Use this if you don't want the "cgi-bin" component in your URL:
# In case you want to access mailman through a shorter URL you should enable
# this:
#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
# In this case you need to set the DEFAULT_URL_PATTERN in
# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie
# authentication code to work.  Note that you need to change the base
# URL for all the already-created lists as well.

Remove the # sign in front of ScriptAlias in this section to enable it. Then make the edit to /etc/mailman/mm_cfg.py that it specifies.

share|improve this answer
    
OK, I think that I have done those edits, which make sense, and have restarted Apache, but still get a 404 from localhost/mailman –  Thufir Aug 28 '12 at 2:24

use following guide Linux Help - Mailman Setup Guide

share|improve this answer
    
beyond "Now you will have to set your default adminstrator password for the MailMan web interface." there wasn't much at that guide about apache. –  Thufir Aug 27 '12 at 20:51
    
what about part of apache's configuration??? –  alexus Aug 27 '12 at 20:53
    
I did: root@dur:/etc/mailman# /usr/sbin/mmsitepass thisisabadpassword Password changed. root@dur:/etc/mailman# pardon, maybe I'm blind, I don't see anything else relating to apache2. –  Thufir Aug 27 '12 at 20:56
    
omg, open page and then use search for httpd.conf and you'll see ScriptAlias, Direcotry and Alias directives (that's apache config that you're missing) –  alexus Aug 27 '12 at 21:02
    
you are right, since I installed apache with aptitude and it's running, I wasn't looking at the section where apache is installed. My httpd.conf file is empty, zero bytes. not sure whether that's normal for Ubuntu or is problematic. –  Thufir Aug 27 '12 at 22:47

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.