GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come installare Mailman su un VPS con DirectAdmin

Questo è un tutorial su come installare Mailman su un VPS su cui è installato un pannello di controllo DirectAdmin.
Mailman è un software gratuito per la gestione delle discussioni sulla posta elettronica e degli elenchi di newsletter.

Per installarlo, esegui i seguenti comandi:

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

Per favore, non dimenticare di modificare "la tua_password" e "il tuo nome-host.com" di conseguenza.

Modifica il tuo file di configurazione Exim '/etc/exim.conf' e aggiungi le seguenti righe:

Prima di primary_hostname aggiungi:

MAILMAN_HOME=/usr/local/mailman
MAILMAN_WRAP=MAILMAN_HOME/mail/mailman

Dopo l'inizio router aggiungi:

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

Dopo l'inizio dei trasporti aggiungi:

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

Aggiungi le seguenti righe al tuo file '/etc/aliases':

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"

Quindi, esegui i seguenti comandi:

newaliases

/usr/local/mailman/bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman

Crea uno script di inizializzazione:

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

Esegui i seguenti comandi:

chmod 755 /etc/init.d/mailman
chkconfig --add mailman

Modifica il file "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'}

Aggiungi la seguente riga al file di configurazione di Apache '/etc/httpd/conf/httpd.conf':

Include conf/extra/mailman.conf

Crea un file di configurazione "mailman.conf" (cambia "Your_IP_address" con il tuo IP effettivo):

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

Crea un file '.htaccess':

vi /usr/local/mailman/.htaccess
AuthName "Mailman"
AuthType Basic
AuthUserFile /usr/local/mailman/cgi-bin/.htpasswd
require valid-user

Crea un file '.htpasswd':

cd /usr/local/mailman/cgi-bin/
touch .htpasswd
htpasswd -c .htpasswd mailman

Riavvia i tuoi servizi Exim e Apache per rendere effettive le modifiche e avvia il servizio Mailman:

/etc/init.d/exim restart
/etc/init.d/httpd restart
/etc/init.d/mailman start

Questo è tutto. Dovresti essere in grado di creare una nuova mailing list inserendo le informazioni pertinenti su:

https://Your_IP_address/mailman/create
username: mailman
password: your_password

Ovviamente non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di installarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Panels
  1. Come installare WordPress Multisite su Centos VPS con Nginx

  2. Come installare WordPress Multisite su Centos VPS con Apache

  3. Come installare Virtualmin su un VPS Linux

  4. Installa un certificato SSL su un VPS Linux con il pannello di controllo di DirectAdmin

  5. Come installare Laravel su un server DirectAdmin

Come installare DirectAdmin su AlmaLinux 8

Come installare DirectAdmin su CentOS 7

Come installare DirectAdmin su CentOS 6

Come installare DirectAdmin su Ubuntu 14.04

Come installare Magento 2.4.2 su Centos 7.x con cPanel?

Come installare EspoCRM con Nginx su un VPS Ubuntu