Mailman 3 mit Ubuntu 26.04
Der folgende Beitrag befasst sich mit verschiednen Aspekten im Zusammenhang mit einer Mailman 3 Installation. Zunächst soll gezeigt werden, wie Mailman 3 möglichst einfach mit MariaDB, Nginx, Posfix und Hyperkitty auf Basis von APT auf Ubuntu 26.04 Server installiert werden kann. Anschließend werden verschiedene Aspekte der Konfiguration in den Blick genommen und gezeigt, welche Einstellungen gesetzt werden sollten.
Variablen setzen
SITE_OWNER=[email protected]" WEB_HOST="lists.vbox.local" MAIL_DOMAIN="lists.vbox.local"MariaDB installieren und konfigurieren
Installation mit APT.
apt install -y mariadb-serverMariaDB für den Einsatz mit Mailman 3 optimieren
cat >/etc/mysql/mariadb.conf.d/99-mailman.cnf <<'EOF' [mysqld] innodb_file_per_table=1 innodb_buffer_pool_size=512M innodb_log_file_size=256M max_allowed_packet=256M character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci EOFWeitere notwendige Pakete installieren
apt install -y dbconfig-mysql apt install -y python3-mysqldb apt install -y python3-pymysqlMailman 3 installieren
apt install -y mailman3-fullDie folgenden Fragen können für einen lokale Testinstallatione wie folgt beantwortet werden. Für den Regelbetrieb müssen sie entsprechend der Gegebenheiten angepasst werden.
Postfix
- General mail configuration type
- 5 = Local only
- System mail name
- lists.vbox.local
Mailman3
- Configure database for mailman3 with dbconfig-common?
- Yes
- MySQL application password for mailman3
- leer lassen ODER eigenes Passwort vergeben
- Password confirmation
- ggf. Passwort wiederholen
- Password of the database’s administrative user?
- leer lassen
Mailman3-Web
- Configure database for mailman3-web with dbconfig-common?
- yes
- MySQL application password for mailman3-web?
- leer lassen ODER eigenes Passwort vergeben
- Password confirmation
- ggf. Passwort wiederholen
- Password of the database’s administrative user
- leer lassen
- General mail configuration type
Datenbankkonfiguration abschließen
dpkg --configure -aDienste neu starten
systemctl restart mailman3 systemctl restart mailman3-webSite Owner setzen
sed -i \ "s/^site_owner:.*/site_owner: ${SITE_OWNER}/" \ /etc/mailman3/mailman.cfgsystemctl restart mailman3Postfix konfigurieren
postconf -e \ 'relay_domains=hash:/var/lib/mailman3/data/postfix_domains' postconf -e \ 'transport_maps=hash:/var/lib/mailman3/data/postfix_lmtp' systemctl reload postfixMailman-Web konfigurieren
Hier wird die Beispielkonfiguration mailman.example.com mit den richtige Daten erstetzt.
mkdir -p /var/log/nginx/mailman3 touch /var/log/nginx/mailman3/access.log touch /var/log/nginx/mailman3/error.log sed -i \ "s/server_name mailman.example.com;/server_name ${WEB_HOST};/" \ /etc/mailman3/nginx.conf ln -sf \ /etc/mailman3/nginx.conf \ /etc/nginx/conf.d/mailman3.conf rm -f /etc/nginx/sites-enabled/default nginx -t systemctl reload nginxMailman-Web Superuser erstellen
Hier muss ein Passwort für den Webadmin vergeben werden.
mailman-web createsuperuser \ --username admin \ --email "${SITE_OWNER}"Django Site konfigurieren
cd /usr/share/mailman3-web python3 manage.py shell -c " from django.contrib.sites.models import Site s = Site.objects.get(id=1) s.domain='${WEB_HOST}' s.name='${WEB_HOST}' s.save() print(list(Site.objects.values())) " systemctl restart mailman3-web