diff --git a/README.md b/README.md index 74961d8..05f6f94 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # Exim +## TODO + +- Enable Spamd and ClamAV in exim4.conf +- Add and delete user diff --git a/exim4/exim4.conf b/exim4/exim4.conf index 119c846..1b6260e 100644 --- a/exim4/exim4.conf +++ b/exim4/exim4.conf @@ -12,14 +12,14 @@ CHECK_RCPT_REMOTE_LOCALPARTS = ^[./|] : ^.*[@%%!`#&?] : ^.*/\\.\\./ DKIM_ENABLE = 1 DKIM_SELECTOR = x -DKIM_PRIVATE_KEY = /etc/exim4/dkim/private.key +DKIM_PRIVATE_KEY = /etc/exim4/dkim.key DKIM_CANON = relaxed DKIM_STRICT = 1 TLS_ENABLE = 1 TLS_ADVERTISE_HOSTS = * -TLS_CERTIFICATE = /etc/exim4/tls/mail.crt -TLS_PRIVATEKEY = /etc/exim4/tls/mail.key +TLS_CERTIFICATE = /etc/exim4/exim.crt +TLS_PRIVATEKEY = /etc/exim4/exim.key TLS_VERIFY_CERTIFICATES = ${if exists{/etc/ssl/certs/ca-certificates.crt} {/etc/ssl/certs/ca-certificates.crt} {/dev/null}} COURIERSOCKET = /var/run/courier/authdaemon/socket diff --git a/mailserver.sh b/mailserver.sh index 440f764..91b4009 100755 --- a/mailserver.sh +++ b/mailserver.sh @@ -22,17 +22,10 @@ install_ask_domain() { [[ -z $choice ]] && install_ask_domain } -install_tls_dkim() { - mkdir -pv /etc/exim4/tls - openssl req -x509 -newkey rsa -keyout /etc/exim4/tls/mail.key -out /etc/exim4/tls/mail.crt -days 4096 -nodes - mkdir -pv /etc/exim4/dkim - openssl genrsa -out /etc/exim4/dkim/private.key 2048 -} - install_exim() { install_ask_domain echo -e "${YEL}Two boxes will appear. Hit [Enter] each time to continue.${STD}" - echo "Press [Enter] key to continue..." + read -p "Press [Enter] key to continue..." aptitude -y install exim4 courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-authlib-userdb ssl-cert chown -fvR daemon: courier/* cp -fv courier/* /etc/courier/ @@ -41,17 +34,22 @@ install_exim() { mkdir -pv /etc/exim.forward cp -fv exim4/* /etc/exim4/ chmod -fv 777 /var/run/courier/authdaemon/socket - install_tls_dkim + /usr/share/doc/exim4-base/examples/exim-gencert + openssl genrsa -out /etc/exim4/dkim.key 2048 + install_restart + gen_public_dns } install_spamassassin() { aptitude -y install exim4-daemon-heavy sa-exim spamassassin cp -fv spamd/sa-learn /etc/cron.daily/sa-learn cp -fv spamd/spamassassin /etc/default/spamassassin + install_restart } install_clamav() { aptitude -y install exim4-daemon-heavy clamav clamav-daemon + install_restart } install_restart() { @@ -63,20 +61,34 @@ install_restart() { service exim4 restart } +gen_public_dns() { + DNS=$(sudo openssl rsa -in /etc/exim4/dkim.key -pubout) + DNS=$(echo ${DNS} | sed "s/ //g" | sed "s/.*Y-----\(.*\)-----E.*/\1/g") + echo -e "${YEL}Please put these pointers on your DNS provider :${STD}" + echo -e '\t\t10800 IN MX 10 ' + echo -e '\t\t10800 IN TXT "v=spf1 a -all"' + echo -e '_domainkey\t10800 IN TXT "o=~; r=postmaster@"' + echo -e "x._domainkey\t10800 IN TXT \"v=DKIM1; k=rsa; p=${DNS}\"" + echo -e '_dmarc\t\t10800 IN TXT "v=DMARC1; p=quarantine"' + read -p "Press [Enter] key to continue..." +} + install_mailserver() { echo "Do you want to install extra software ?" echo "1. None" echo "2. SpamAssassin (antispam)" echo "3. ClamAV (antivirus)" echo "4. Both SpamAssassin and ClamAV" - echo "5. Exit" - read -p "Enter choice [1 - 4] " choice + echo "5. Show DNS config" + echo "6. Exit" + read -p "Enter choice [1 - 6] " choice case $choice in - 1) clear && install_exim && install_restart ;; - 2) clear && install_exim && install_spamassassin && install_restart ;; - 3) clear && install_exim && install_clamav && install_restart ;; - 4) clear && install_exim && install_spamassassin && install_clamav && install_restart ;; - 5) exit ;; + 1) install_exim ;; + 2) install_exim && install_spamassassin ;; + 3) install_exim && install_clamav ;; + 4) install_exim && install_spamassassin && install_clamav ;; + 5) gen_public_dns ;; + 6) exit ;; *) clear && echo -e "${RED}Please enter a valid input${STD}" && install_mailserver ;; esac }