Installatie blog
Installatie mailserver
Uitgaande van een situatie van herbouw waarbij de Postfix(admin), Dovecot config van 16.04 nog beschikbaar is.
apt-get install aptitude apt-get install postfix postfix-mysql postfix-pcre postfix-doc apt-get install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql dovecot-pop3d dovecot-sieve apt-get install opendkim opendkim-tools
Haal de werkende config op van de al werkende mailserver (mail-lb1 18.04) of van de locatie met de gebackupte bestanden van de oude mailserver.
cd /etc/postfix scp -pr * mail-lb2-int.hobby.nl:/etc/postfix cd /etc/postfixadmin scp -pr * mail-lb2-int.hobby.nl:/etc/postfixadmin cd /etc/dovecot scp -pr * mail-lb2-int.hobby.nl:/etc/dovecot cd /etc/opendkim scp -pr * mail-lb2-int.hobby.nl:/etc/opendkim scp -pr ../opendkim.conf mail-lb2-int.hobby.nl:/etc/opendkim.conf
Ownership
Alle virtuele mailboxen hebben allemaal de zelfde eigenaar: vmail:vmail. Maak de user vmail aan door onderstaande in /etc/passwd, /etc/group en /etc/shadow te plaatsen.
/etc/passwd: vmail:x:5000:5000::/home/vmail/:/bin/sh /etc/group : vmail:x:5000: /etc/shadow: vmail:!:14466:0:99999:7:::
Filters
Installeer amavis-new, spamassassin, clamav
apt-get -y install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl postgrey
Postfix
Postfix configuratie is een resultaat van lange evolutie. Postfix is nauw verbonden met postfixadmin en dovecot via de MySQL database postfixadmin. De "mysql*.cf" files in /etc/postfix zijn het interface met de tabellen. Zie main.cf em master.cf voor de configuratie.
postfixadmin
Postfixadmin is beschikbaar via de repo maar gaf een foutmelding. Dan maar via tarball. Postfixadmin 3.2.0 opgehaald en uitgepakt. Al snel bleek dat de Hobbynet patch voor {CRYPT} wachtwoorden niet zonder meer in te bouwen is. De code is drastisch veranderd sinds 3.0.2. Daarom 3.0.2 gebruikt. Het is mogelijk dat {CRYPT} in 3.2.0 zit. Upgrade naar 3.2.0 komt op de TODO list.
Vacation
Postfixadmin komt met een "vacation plugin" waarmee Out-Of-Office ingesteld kan worden. Configuratie en plugin script gaan in /etc/postfixadmin. De config is uit het eigenlijke script gehaald en als apart bestand. Die optie staat in het perl script beschreven. Hiervoor moet een user vacation gemaakt worden. Het script en de config file worden in /etc/postfixadmin geplaatst. De locatie moet ook in /etc/postfix/master.cf komen staan. Script en installatie beschrijving staan in de postfixadmin distributie in VIRTUAL_VACATION (dus ook in de webtree /var/www/postfixadmin/VIRTUAL_VACATION).
Roundcube
Roundcube is ook van tarball geinstalleerd. Bechrijving elders in de Hobby-adm wiki.
Dovecot
Dovecot config is verdeeld over meerdere bestanden. Ze bevinden zich in /etc/dovecot/conf.d. Dovecot heeft hooks voor postlogin scripts. Vanouds loggen wij de laatste login in een directory sruktuur op /disk/mail/login. De postlogin scripts voor imap en pop3 zijn echter verloren gegaan. Er zijn nieuwe scripts gemaakt die nu in /etc/dovecot staan onder de naam <protocol>-wrapper.sh in 10-master.conf. De laatste login wordt nu in de "home directory" gezet. Dus in /disk/mail/vmail/vandenbussche.nl/egbert/. De timestamp van de (lege) file ".last_login" is het tijdstip van login.
Apache
Apache is nodig voor de postfixadmin en roundcube. Installeer apache2 en enige modules. Sommige zijn misschien niet nodig maar doen geen kwaad. (overgenomen uit Perfect Server beschijving).
apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap phpmyadmin php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap a2enmod suexec rewrite ssl actions include cgi
Create file to mitgate HTTPOXY (ook op mail-lb1)
vi /etc/apache2/conf-available/httpoxy.conf <IfModule mod_headers.c> RequestHeader unset Proxy early </IfModule> a2enconf httpoxy
Vervolgens de /etc/apache2/... overgenomen van mail-lb1
AppArmor
Deels overgenomen uit Perfect Server beschijving.
Apparmor verwijderd
service apparmor stop update-rc.d -f apparmor remove apt-get remove apparmor apparmor-utils
Bash i.p.v. Dash
/bin/sh veranderen van dash naar bash.
dpkg-reconfigure dash <- NO
Patch voor amavis-new
Er zit een bug in amavis-new waardoor DKIM niet goed werkt. Mogelijk is de patch al toegepast.
cd /tmp wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch cd /usr/sbin cp -pf amavisd-new amavisd-new_bak patch < /tmp/ubuntu-amavisd-new-2.11.patch systemctl restart postfix systemctl restart dovecot
freshclam
service clamav-daemon start
Referenties
de 18.04 Perfect Server beschijving.