Linux
使用 apache2 在 localhost 上的 mailman web UI
我只對在 localhost 上執行 mailman 感興趣,並希望按照https://help.ubuntu.com/community/Mailman訪問 Web 界面,但在遵循 Michaels 的建議後得到 404:
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#
我相信這仍然是同樣的錯誤:
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:~#
使用以下指南Linux 幫助 - Mailman 設置指南
問題是 Debian 的預設配置中的 Apache(和你的,如發布的那樣)期望 Mailman 被提供,
/cgi-bin/mailman
而你想使用它/mailman
。違規行在您的
/etc/mailman/apache.conf
文件中:ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/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.
刪除本節前面的 # 符號
ScriptAlias
以啟用它。然後/etc/mailman/mm_cfg.py
對其指定的進行編輯。