Mailman es un software de gestión de listas de correo escrito en perl y desarrollado por el proyecto GNU. Vamos a instalar este mailman para lists.capa8.net
Lo primero será instalar postfix
root@lists:~# apt-get install postfix
Cuando nos aparece el menú ncurses le indicamos que lo dejamos sin configuración.
Vamos a /etc/postfix y creamos el fichero main.cf y le ponemos este contenido
# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = tesla.$mydomain mydomain = capa8.net myorigin = /etc/mailname mydestination = $myhostname, localhost.localdomain, localhost, localhost.$mydomain, lists.capa8.net, lists.capa8.cat alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases #alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases #virtual_alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/virtual-mailman #virtual_alias_maps = hash:/etc/postfix/todevnull.cf mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all #relays_version = 3 # Mailman parameters unknown_local_recipient_reject_code = 550 owner_request_special = no mailman_destination_recipient_limit = 1 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining, reject_non_fqdn_recipient, reject_non_fqdn_sender, reject_unauth_destination #reject_unknown_recipient_domain, #reject_unknown_sender_domain, #check_relay_domains, # check_sender_access hash:/etc/postfix/usuarios #smtpd_recipient_restrictions = # permit_mynetworks # permit_sasl_authenticated, #relayhost = 127.0.0.1 inet_protocols = ipv4 # Pujar el límit d'enviament de mailas a 20MB message_size_limit = 230960000 transport_maps = hash:/etc/postfix/transport broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous
En /etc/hosts ponemos que lists.capa8.net y lists.capa8.cat sea él mismo
127.0.0.1 localhost lists.capa8.net lists.capa8.cat lists
Una vez configurado postfix lo reiniciamos para ver que las configuraciones son correctas
root@lists:/etc/postfix# service postfix restart [ ok ] Stopping Postfix Mail Transport Agent: postfix. [ ok ] Starting Postfix Mail Transport Agent: postfix.
Ahora vamos a instalar mailman en el directorio /var/lib/mailman, pero antes para ello hemos preparado una partición lvm que pueda ser fácilmente ampliable, ya que este servidor es una maquina virtual. Más información aquí.
Instalamos el paquete lvm2
root@lists:~# apt-get install lvm2
Ahora la partición víctima /dev/sdb en este caso! :) Recuerdo que esta partición debe estar formateada como partición Linux LVM (8e)
root@lists:/etc/postfix# fdisk /dev/sdb Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): Using default value 1 First sector (2048-20971519, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): Using default value 20971519 Command (m for help): t Selected partition 1 Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4be38b31 Device Boot Start End Blocks Id System /dev/sdb1 2048 20971519 10484736 8e Linux LVM Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Ahora vamos a crear el volumen físico LVM
root@lists:/etc/postfix# pvcreate /dev/sdb1 Writing physical volume data to disk "/dev/sdb1" Physical volume "/dev/sdb1" successfully created
Ahora el grupo de volumen
root@lists:/etc/postfix# vgcreate volgroup_01 /dev/sdb1 Volume group "volgroup_01" successfully created
Para ver como queda
root@lists:/etc/postfix# pvscan PV /dev/sdb1 VG volgroup_01 lvm2 [10.00 GiB / 2.00 GiB free] Total: 1 [10.00 GiB] / in use: 1 [10.00 GiB] / in no VG: 0 [0 ]
Y el volumen lógico (del disco de 10Gb que tengo voy a usar 8Gb de momento)
root@lists:/etc/postfix# lvcreate -L8G -n vol_mailman volgroup_01 Logical volume "vol_mailman" created root@lists:/etc/postfix# lvscan ACTIVE '/dev/volgroup_01/vol_mailman' [8.00 GiB] inherit
Para ver el volumen lógico:
root@lists:/etc/postfix# lvscan ACTIVE '/dev/volgroup_01/vol_mailman' [8.00 GiB] inherit
Y ahora le damos formato de partición ext4 al volumen lógico
root@lists:/etc/postfix# mkfs.ext4 /dev/volgroup_01/vol_mailman
Ahora vamos a crear el punto de montaje (importante hacerlo antes de instalar mailman, sino va a tocar mover todos los ficheros).
root@lists:~# vi /etc/fstab /dev/mapper/volgroup_01-vol_mailman /var/lib/mailman ext4 auto 0 0
Creamos el punto de montaje
root@lists:~# mkdir /var/lib/mailman
Lo montamos y miramos que se haya montado en modo rw
root@lists:~# mount /var/lib/mailman root@lists:~# mount /dev/mapper/volgroup_01-vol_mailman on /var/lib/mailman type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
Ahora ya podemos proseguir con la instalación de mailman
root@lists:~# apt-get install mailman
Saldrá un menú de ncurses donde indicaremos los idiomas que queremos instalar en nuestro mailman. En cualquier momento si necesitamos añadir alguno podemos añadirlo haciendo un dpkg-reconfigure mailman.
Al final de la instalación nos dice esto
[warn] Site list for mailman missing (looking for list named 'mailman'). ... (warning). [warn] Please create it; until then, mailman will refuse to start. ... (warning).
Para sacar el warning, creamos una primera lista llamada mailman, que nos va a servir también para hacer pruebas
root@lists:~# cd /var/lib/mailman/bin root@lists:/var/lib/mailman/bin# ./newlist mailman Enter the email of the person running the list: usuario@dominio.net Initial mailman password: To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program: ## mailman mailing list mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" Hit enter to notify mailman owner...
Y volvemos a iniciar mailman
root@lists:/var/lib/mailman/bin# service mailman restart [....] Restarting Mailman master qrunner: mailmanctlPID unreadable in: /var/run/mailman/mailman.pid [Errno 2] No such file or directory: '/var/run/mailman/mailman.pid' Is qrunner even running? . ok
Y este es el output del restart si mailman ya estaba funcionando
root@lists:/var/lib/mailman/bin# service mailman restart [ ok ] Restarting Mailman master qrunner: mailmanctl[....] Waiting...done. . ok
Ahora toca configurar apache para poder acceder a la administración web de las listas. Vamos a crear el virtualhost para lists.capa8.net
root@lists:/etc/apache2/sites-available# vi lists.capa8.net <VirtualHost *:80> ServerName lists.capa8.net ServerAdmin info@capa8.net DocumentRoot /usr/lib/cgi-bin/mailman/ DirectoryIndex listinfo index.html ErrorLog /var/log/apache2/lists.capa8.net-error.log CustomLog /var/log/apache2/lists.capa8.net-access.log combined Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /images/mailman/ /usr/share/images/mailman/ # Redirigeix automaticamnet a HTTPS RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName lists.capa8.net ServerAdmin info@capa8.net DocumentRoot /usr/lib/cgi-bin/mailman/ DirectoryIndex listinfo index.html ErrorLog /var/log/apache2/lists.capa8.net-ssl-error.log CustomLog /var/log/apache2/lists.capa8.net-ssl-access.log combined Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /images/mailman/ /usr/share/images/mailman/ # SSL Engine SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt.insecure SSLCertificateKeyFile /etc/apache2/ssl/server.key.insecure <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> 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 </VirtualHost> </IfModule>
Habilitamos un par de módulos de apache y reiniciamos el servicio
root@lists:/etc/apache2/sites-available# a2enmod rewrite ssl Enabling module rewrite. Enabling module ssl. See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: service apache2 restart root@lists:/etc/apache2/sites-available# service apache2 restart [....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName . ok
Cargamos el virtualhost
root@lists:/etc/apache2/sites-available# a2ensite lists.capa8.net
Ahora generamos las llaves. En este caso vamos a generar unas no validadas (inseguras), pero si queremos crear unas válidas seguimos este post.
root@lists:/etc/apache2/ssl# openssl req -nodes -newkey rsa:2048 -keyout server.key.insecure -out server.csr.insecure root@lists:/etc/apache2/ssl# openssl x509 -req -in server.csr.insecure -signkey server.key.insecure -out server.crt.insecure
Y reiniciamos apache
root@lists:/etc/apache2/ssl# service apache2 restart [....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName . ok
Una cosa útil será cambiar el password del administrador de listas
root@lists:/etc/apache2/ssl# cd /var/lib/mailman/bin root@lists:/var/lib/mailman/bin# ./change_pw -a --password=passwordmailman New mailman password: passwordmailman
Antes de seguir adelante vamos a cambiar un par de cosas del fichero de configuración de mailman (estamos omitiendo el cgi-bin en la url)
root@lists:/etc/mailman# vi mm_cfg.py #------------------------------------------------------------- # If you change these, you have to configure your http server # accordingly (Alias and ScriptAlias directives in most httpds) #DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/' DEFAULT_URL_PATTERN = 'https://%s/' PRIVATE_ARCHIVE_URL = '/private' IMAGE_LOGOS = '/images/mailman/'
Reiniciamos mailman para aplicar el cambio de la configuración
root@lists:/etc/mailman# service mailman restart [ ok ] Restarting Mailman master qrunner: mailmanctl[....] Waiting...done. . ok
Arreglamos la configuración de las url
root@lists:/var/lib/mailman/bin# ./withlist -l -a -r fix_url -- -v Importing fix_url... Running fix_url.fix_url()... Loading list mailman (locked) Setting web_page_url to: https://lists.capa8.net/ Setting host_name to: lists.capa8.net Saving list Finalizing
Y ahora ya podemos acceder al administrador de listas via web:
https://lists.capa8.net
No entro con la administración de listas de mailman ya que esto da para otro post! :)
10 Best USA Dating Sites 2019 (5139 single women who want sex in your location): http://tamamnipent.cf/1yfj?&mwnap=xOreTtGObUY