DeadmanDAO Mail Server: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
 
(53 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:OpenDevOps]]
[[Category:OpenDevOps]]


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.
= Host Machine =


Mailchimp is out because it was bought for so much money that the money squeeze is going to be intense.
== Create Instance ==
 
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 ===
# go to interserver
# go to interserver
# create an instance
# create an instance
## Single Slice ($6/mo at this time)
## Single Slice ($6/mo at this time)
## Debian
## Debian 9 (Deb 9 has Mailman 2, Deb 10 has Mailman 3)
## KVM
## KVM
# Log in root@ip.address using password you provided
# set reverse DNS to diffie.deadmandao.com
# Note the IP address


=== Update to Latest ===
=== Update to Latest ===
Log in root@ip.address using password you provided


<pre>
<pre>
Line 34: Line 27:


=== Add User Account ===
=== Add User Account ===
Log in root@ip.address
<pre>
<pre>
apt-get -y install sudo
apt-get -y install sudo
Line 40: Line 36:
exit
exit
</pre>
</pre>
= Host MX Settings =
Log in to bob@ip.address


== Set SPF ==
== Set SPF ==
Line 69: Line 69:
> 66.23.226.216 diffie.deadmandao.com diffie
> 66.23.226.216 diffie.deadmandao.com diffie
sudo reboot
sudo reboot
hostname
hostname --all-fqdn
dnsdomainname
</pre>
</pre>


== SMTP Server ==
Log in to bob@diffie.deadmandao.com


<pre>
<pre>
apt-get install postfix
hostname
hostname --all-fqdn
dnsdomainname
</pre>
</pre>


deadmandao.com is the host domain
= Postfix =


== Mailman ==
== SMTP Server ==
 
* 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>
cd /path/to/project
sudo 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>
<pre>
sudo apt install mailman3-full
sudo apt-get install postfix
</pre>
</pre>


== Webserver ==
* Internet Site
* deadmandao.com is the host domain
* send a test email


<pre>
<pre>
sudo apt-get install apache2
echo "Subject: sendmail test" | /usr/sbin/sendmail -v emailaddress
</pre>
</pre>


=== Enable UWSGI, Link Mailman ===
Had trouble with IPv6 in Debian 9 ("Network is unreachable"). Used the following in main.cf to switch to IPv4 only.


Something Like
<pre>
<pre>
sudo a2enmod proxy_uwsgi
# inet_protocols = all
sudo ln -s /etc/mailman3/apache.conf /etc/apache2/sites-available/100-mailman.conf
inet_protocols = ipv4
sudo a2ensite 100-mailman
sudo service apache2 restart
</pre>
</pre>


=== Add TLS/SSL ===
= Mailman Install =


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


==== Add Snapd ====
= Client-Side =
 
<pre>
sudo apt update
sudo apt install snapd
sudo snap install core
sudo snap refresh core
</pre>


==== Snap Install Certbot ====
== GMail ==


<pre>
* https://www.digitalocean.com/community/questions/using-gmail-with-postfix-smtp-server
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
</pre>


==== Get a Cert for Apache ====
== FairEmail (Android App) ==


<pre>
* https://email.faircode.eu/
sudo certbot --apache -d deadmandao.com -d www.deadmandao.com -d mail.deadmandao.com -d diffie.deadmandao.com
</pre>

Latest revision as of 20:50, 12 June 2022


Host Machine

Create Instance

Interserver Web Interface

  1. go to interserver
  2. create an instance
    1. Single Slice ($6/mo at this time)
    2. Debian 9 (Deb 9 has Mailman 2, Deb 10 has Mailman 3)
    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

Log in root@ip.address

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

Host MX Settings

Log in to bob@ip.address

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

Log in to bob@diffie.deadmandao.com

hostname
hostname --all-fqdn
dnsdomainname

Postfix

SMTP Server

sudo apt-get install postfix
  • Internet Site
  • deadmandao.com is the host domain
  • send a test email
echo "Subject: sendmail test" | /usr/sbin/sendmail -v emailaddress

Had trouble with IPv6 in Debian 9 ("Network is unreachable"). Used the following in main.cf to switch to IPv4 only.

# inet_protocols = all
inet_protocols = ipv4

Mailman Install

DeadmanDAO_Mailman_Attempt

Client-Side

GMail

FairEmail (Android App)