GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo instalar Mailman en un VPS con DirectAdmin

Este es un tutorial sobre cómo instalar Mailman en un VPS con un panel de control DirectAdmin instalado.
Mailman es un software gratuito para administrar listas de boletines electrónicos y discusiones por correo electrónico.

Para instalarlo, ejecute los siguientes comandos:

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

No olvide cambiar 'su_contraseña' y 'su-nombre-de-host.com' en consecuencia.

Edite su archivo de configuración Exim ‘/etc/exim.conf’ y agregue las siguientes líneas:

Antes de Primary_hostname agregar:

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

Después de comenzar, los enrutadores agregan:

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

Después de comenzar los transportes, agregue:

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

Agregue las siguientes líneas a su archivo '/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"

Luego, ejecuta los siguientes comandos:

newaliases

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

Cree un script de inicio:

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

Ejecute los siguientes comandos:

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

Edite el archivo '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'}

Agregue la siguiente línea al archivo de configuración de Apache ‘/etc/httpd/conf/httpd.conf’:

Include conf/extra/mailman.conf

Cree un archivo de configuración 'mailman.conf' (cambie 'Your_IP_address' con su IP actual):

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

Cree un archivo '.htaccess':

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

Cree un archivo '.htpasswd':

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

Reinicie sus servicios Exim y Apache para que los cambios surtan efecto e inicie el servicio Mailman:

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

Eso es todo. Debería poder crear una nueva lista de correo ingresando la información relevante en:

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

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo instalen por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Panels
  1. Cómo instalar Virtualmin en un VPS Linux

  2. Instalar un certificado SSL en un VPS Linux con el panel de control de DirectAdmin

  3. Cómo instalar Laravel en un servidor DirectAdmin

  4. Cómo instalar PrestaShop en un VPS Ubuntu 14.04

  5. Cómo instalar y configurar SuiteCRM con OPcache en un VPS Ubuntu 14.04

Cómo instalar DirectAdmin en AlmaLinux 8

Cómo instalar DirectAdmin en CentOS 7

Cómo instalar DirectAdmin en CentOS 6

Cómo instalar DirectAdmin en Ubuntu 14.04

¿Cómo instalar Magento 2.4.2 en Centos 7.x con cPanel?

Cómo instalar EspoCRM con Nginx en un Ubuntu VPS