DeadmanDAO Mail Server: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
Line 45: Line 45:
exit
exit
</pre>
</pre>
Log in to bob@diffie.deadmandao.com


== Set SPF ==
== Set SPF ==

Revision as of 22:34, 9 January 2022


AWS SES may be the solution: https://docs.aws.amazon.com/ses/latest/dg/lists-and-subscriptions.html

No, it doesn't have nearly the capabilities of a real mailing list system.

Mailchimp is out because it was bought for so much money that the money squeeze is going to be intense.

Other commercial providers are not significantly less risky than Mailchimp.

Mailman is robust once deployed and the initial build-out is not too painful.

MailingListDeadmanFirstPass


DeadmanDAO Mailman Build-out

Create Instance

Interserver Web Interface

  1. go to interserver
  2. create an instance
    1. Single Slice ($6/mo at this time)
    2. Debian
    3. KVM
  3. set reverse DNS to diffie.deadmandao.com
  4. Note the IP address

Update to Latest

Log in root@ip.address using password you provided

apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade # if needed
reboot

Add User Account

apt-get -y install sudo
adduser bob
usermod -G sudo bob
exit

Log in to bob@diffie.deadmandao.com

Set SPF

sudo apt-get install net-tools
sudo ifconfig

That'll give you the ip4 and ip6 addresses, which go into the DNS text record:

  • v=spf1 ip4:66.23.226.216 ip6:fe80::216:3eff:fe24:10e1 -all

Set Other DNS

  • A Record, diffie, 66.23.226.216
  • A Record, @, 66.23.226.216
  • CNAME Record, www, diffie.deadmandao.com
  • CNAME Record, mail, diffie.deadmandao.com
  • TXT Record, diffe, v=spf1 ip4:66.23.226.216 ip6:fe80::216:3eff:fe24:10e1 -all
  • MX Record, deadmandao.com, mail.deadmandao.com, 10

Set Hostname

sudo apt-get install emacs-nox
sudo emacs -nw /etc/hostname
> diffie
sudo emacs -nw /etc/hosts
> 66.23.226.216	diffie.deadmandao.com diffie
sudo reboot
hostname
hostname --all-fqdn
dnsdomainname

SMTP Server

sudo apt-get install postfix

deadmandao.com is the host domain

Mailman

Install PIP

sudo apt install python3-pip

Django Command Reference

Run the dev webserver

cd /path/to/project
sudo python manage.py runserver

Pull all the static files to a single location (for serving via Apache, for example)

python manage.py collectstatic

Install Mailman3 Full Suite

Lots of dependencies here.

sudo apt install mailman3-full

Webserver

sudo apt-get install apache2

Enable UWSGI, Link Mailman

Something Like

sudo a2enmod proxy_uwsgi
sudo ln -s /etc/mailman3/apache.conf /etc/apache2/sites-available/100-mailman.conf
sudo a2ensite 100-mailman
sudo service apache2 restart

Add TLS/SSL

https://certbot.eff.org/instructions?ws=apache&os=debianbuster

Add Snapd

sudo apt update
sudo apt install snapd
sudo snap install core
sudo snap refresh core

Snap Install Certbot

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Get a Cert for Apache

sudo certbot --apache -d deadmandao.com -d www.deadmandao.com -d mail.deadmandao.com -d diffie.deadmandao.com