DeadmanDAO Mail Server: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 12: Line 12:


[[MailingListDeadmanFirstPass]]
[[MailingListDeadmanFirstPass]]
= DeadmanDAO Mailman Build-out =
== Create Instance ==
# go to interserver
# create a single slice instance ($6/mo at this time)
## Debian
## KVM
# Log in root@ip.address using password you provided
<pre>
apt-get update
apt-get upgrade
apt-get install sudo
</pre>
== Set SPF ==
<pre>
apt-get install net-tools
ifconfig
</pre>
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 ==
<pre>
apt-get install emacs-nox
emacs -nw /etc/hostname
diffie
emacs -nw /etc/hosts
66.23.226.216 diffie.deadmandao.com diffie
reboot
hostname
hostname --all-fqdn
dnsdomainname
</pre>
== SMTP Server ==
<pre>
apt-get install postfix
</pre>
deadmandao.com is the host domain
== Mailman ==
* https://docs.mailman3.org/en/latest/pre-installation-guide.html
=== Install PIP ===
<pre>
sudo apt install python3-pip
</pre>
=== Django Command Reference ===
Run the dev webserver
<pre>
python manage.py runserver
</pre>
Pull all the static files to a single location (for serving via Apache, for example)
<pre>
python manage.py collectstatic
</pre>
=== Install Mailman3 Full Suite ===
Lots of dependencies here.
<pre>
sudo apt install mailman3-full
</pre>
== Webserver ==
Move this to after getting Mailman installed.
<pre>
apt-get install apache2
</pre>
=== Enable UWSGI, Link Mailman ===
Something Like
<pre>
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
</pre>
=== Add TLS/SSL ===
https://certbot.eff.org/instructions?ws=apache&os=debianbuster
==== Add Snapd ====
<pre>
sudo apt update
sudo apt install snapd
sudo snap install core
sudo snap refresh core
</pre>
==== Snap Install Certbot ====
<pre>
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
</pre>
==== Get a Cert for Apache ====
<pre>
sudo certbot --apache -d deadmandao.com -d www.deadmandao.com -d mail.deadmandao.com -d diffie.deadmandao.com
</pre>

Revision as of 22:16, 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

  1. go to interserver
  2. create a single slice instance ($6/mo at this time)
    1. Debian
    2. KVM
  3. Log in root@ip.address using password you provided
apt-get update
apt-get upgrade
apt-get install sudo

Set SPF

apt-get install net-tools
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

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

SMTP Server

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

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

Move this to after getting Mailman installed.

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