DeadmanDAO Mail Server: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
 
(72 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.
=== Interserver Web Interface ===
# go to interserver
# create an instance
## Single Slice ($6/mo at this time)
## Debian 9 (Deb 9 has Mailman 2, Deb 10 has Mailman 3)
## KVM
# set reverse DNS to diffie.deadmandao.com
# Note the IP address


Mailman is robust once deployed and the initial build-out is not too painful.
=== Update to Latest ===


Log in root@ip.address using password you provided


= DeadmanDAO Mailman Build-out =
<pre>
apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade # if needed
reboot
</pre>
 
=== Add User Account ===


== Create Instance ==
Log in root@ip.address
# 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>
<pre>
apt-get update
apt-get -y install sudo
apt-get upgrade
adduser bob
apt-get install sudo
usermod -G sudo bob
exit
</pre>
</pre>
= Host MX Settings =
Log in to bob@ip.address


== Set SPF ==
== Set SPF ==
<pre>
<pre>
apt-get install net-tools
sudo apt-get install net-tools
ifconfig
sudo ifconfig
</pre>
</pre>


Line 49: Line 63:


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


== Webserver ==
Log in to bob@diffie.deadmandao.com


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


Put something up in /var/www/html
= Postfix =


=== Add TLS/SSL ===
== SMTP Server ==
 
https://certbot.eff.org/instructions?ws=apache&os=debianbuster
 
==== Add Snapd ====


<pre>
<pre>
sudo apt update
sudo apt-get install postfix
sudo apt install snapd
sudo snap install core
sudo snap refresh core
</pre>
</pre>


==== Snap Install Certbot ====
* Internet Site
* deadmandao.com is the host domain
* send a test email


<pre>
<pre>
sudo snap install --classic certbot
echo "Subject: sendmail test" | /usr/sbin/sendmail -v emailaddress
sudo ln -s /snap/bin/certbot /usr/bin/certbot
</pre>
</pre>


==== Get a Cert for Apache ====
Had trouble with IPv6 in Debian 9 ("Network is unreachable"). Used the following in main.cf to switch to IPv4 only.


<pre>
<pre>
sudo certbot --apache -d deadmandao.com -d www.deadmandao.com -d mail.deadmandao.com -d diffie.deadmandao.com
# inet_protocols = all
inet_protocols = ipv4
</pre>
</pre>


== SMTP Server ==
= Mailman Install =


<pre>
[[DeadmanDAO_Mailman_Attempt]]
apt-get install postfix
</pre>


deadmandao.com is the host domain
= Client-Side =


== Mailman ==
== GMail ==


* https://docs.mailman3.org/en/latest/pre-installation-guide.html
* https://www.digitalocean.com/community/questions/using-gmail-with-postfix-smtp-server


=== Install PIP ===
== FairEmail (Android App) ==
<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)
* https://email.faircode.eu/
<pre>
python manage.py collectstatic
</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)