Dies ist ein Tutorial zur Installation von Mailman auf einem VPS mit installiertem DirectAdmin-Kontrollfeld.
Mailman ist eine kostenlose Software zur Verwaltung von E-Mail-Diskussions- und E-Newsletter-Listen.
Um es zu installieren, führen Sie die folgenden Befehle aus:
cd /usr/local/src /usr/sbin/useradd -r -s /bin/false mailman mkdir /usr/local/mailman chown mailman:mailman /usr/local/mailman chmod 02775 /usr/local/mailman wget http://ftp.gnu.org/gnu/mailman/mailman-2.1.15.tgz tar xzf mailman-2.1.15.tgz cd mailman-2.1.15 ./configure --with-cgi-gid=apache make make install chmod 755 /usr/local/mailman/cgi-bin chmod u-s,g-s /usr/local/mailman/cgi-bin/* chmod 777 /usr/local/mailman/logs chown -R mailman:mailman /usr/local/mailman chown nobody:mailman /usr/local/mailman/logs/error /usr/local/mailman/bin/newlist -q -e your-hostname.com mailman [email protected] your_password
Bitte vergessen Sie nicht, „Ihr_Passwort“ und „Ihr-Hostname.com“ entsprechend zu ändern.
Bearbeiten Sie Ihre Exim-Konfigurationsdatei „/etc/exim.conf“ und fügen Sie die folgenden Zeilen hinzu:
Fügen Sie vor primary_hostname hinzu:
MAILMAN_HOME=/usr/local/mailman MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
Nach dem Beginn der Router fügen Sie hinzu:
mailman_router: driver = accept require_files = MAILMAN_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport
Fügen Sie nach Beginn der Transporte hinzu:
mailman_transport:
driver = pipe
command = MAILMAN_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = apache
group = apache Fügen Sie Ihrer ‚/etc/aliases‘-Datei die folgenden Zeilen hinzu:
mailman: "|/usr/local/mailman/mail/mailman post mailman" mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/local/mailman/mail/mailman join mailman" mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman" mailman-request: "|/usr/local/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"
Führen Sie dann die folgenden Befehle aus:
newaliases /usr/local/mailman/bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman
Erstellen Sie ein Init-Skript:
vi /etc/init.d/mailman
#!/bin/sh
#
# mailman This shell script starts and stops GNU Mailman.
PYTHON=/usr/bin/python
MAILMANHOME=/usr/local/mailman
MAILMANCTL=$MAILMANHOME/bin/mailmanctl
SRC_CRON_SCRIPT=$MAILMANHOME/cron/crontab.in
DST_CRON_SCRIPT=/etc/cron.d/mailman
function InstallCron()
{
install -m644 -o root -g root $SRC_CRON_SCRIPT $DST_CRON_SCRIPT
}
function RemoveCron()
{
cat > $DST_CRON_SCRIPT <<EOF
# DO NOT EDIT THIS FILE!
#
# Contents of this file managed by /etc/init.d/mailman
# Master copy is /usr/local/mailman/cron/crontab.in
# Consult that file for documentation
EOF
}
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
prog="mailman"
function start()
{
echo -n $"Starting $prog: "
daemon $PYTHON $MAILMANCTL -s -q start
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
touch /var/lock/subsys/$prog
InstallCron
fi
echo
return $RETVAL
}
function stop()
{
echo -n $"Shutting down $prog: "
daemon $PYTHON $MAILMANCTL -q stop
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
rm -f /var/lock/subsys/$prog
RemoveCron
fi
echo
return $RETVAL
}
function restart()
{
stop
start
RETVAL=$?
return $RETVAL
}
case "$1" in
'start')
start
RETVAL=$?
;;
'stop')
stop
RETVAL=$?
;;
'restart')
restart
RETVAL=$?
;;
'condrestart')
$PYTHON $MAILMANCTL -q -u status
retval=$?
if [ $retval -eq 0 ]
then
restart
RETVAL=$?
fi
;;
'status')
$PYTHON $MAILMANCTL -u status
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart}"
;;
esac
exit $RETVAL Führen Sie die folgenden Befehle aus:
chmod 755 /etc/init.d/mailman chkconfig --add mailman
Bearbeiten Sie die Datei „mm_cfg.py“:
vi /usr/local/mailman/Mailman/mm_cfg.py
DEFAULT_EMAIL_HOST = 'mail.your_domain.com'
DEFAULT_URL_HOST = 'www.your_domain.com'
IMAGE_LOGOS = '/mailman_images/'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
VIRTUAL_HOSTS = {'www.your-domain.com': 'your-domain.com'} Fügen Sie der Apache-Konfigurationsdatei „/etc/httpd/conf/httpd.conf“ die folgende Zeile hinzu:
Include conf/extra/mailman.conf
Erstellen Sie eine Konfigurationsdatei „mailman.conf“ (ändern Sie „Ihre_IP-Adresse“ durch Ihre tatsächliche IP):
vi /etc/httpd/conf/extra/mailman.conf
Alias /mailman_images/ /usr/local/mailman/icons/ Alias /mailman/archives/ /usr/local/mailman/archives/public/ Alias /pipermail/ /usr/local/mailman/archives/public/ ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/ RedirectMatch ^/mailman[/]*$ http://Your_IP_address/mailman/listinfo
Erstellen Sie eine „.htaccess“-Datei:
vi /usr/local/mailman/.htaccess
AuthName "Mailman" AuthType Basic AuthUserFile /usr/local/mailman/cgi-bin/.htpasswd require valid-user
Erstellen Sie eine ‚.htpasswd‘-Datei:
cd /usr/local/mailman/cgi-bin/ touch .htpasswd
htpasswd -c .htpasswd mailman
Starten Sie Ihre Exim- und Apache-Dienste neu, damit die Änderungen wirksam werden, und starten Sie den Mailman-Dienst:
/etc/init.d/exim restart /etc/init.d/httpd restart /etc/init.d/mailman start
Das ist es. Sie sollten in der Lage sein, eine neue Mailingliste zu erstellen, indem Sie die entsprechenden Informationen eingeben unter:
https://Your_IP_address/mailman/create username: mailman password: your_password
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie zu installieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.