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 mailman@your-hostname.com 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.