MailPiler-Installation
Schritt-für-Schritt-Anleitung
Mail Piler ist eine Open-Source Software zur Archivierung von E-Mails. Im Business Umfeld muss zum Beispiel jede E-Mail für 10 Jahre archiviert werden. In der folgenden Anleitung werde ich die Installation unter Rocky Linux 9 vornehmen. Da Rocky von RedHat abstammt, bietet es einen sehr langen Support und eignet sich hervorragend für Archivierungsanwendungen. Die Distro bietet noch offiziellen Support bis 2032.
Installation des OS
Als erstes wird eine Installations ISO benötigt. Ich habe meiner VM 2 Kerne, 2GB RAM und 32GB Speicher zugewiesen, diese Ressourcen können aber auch jederzeit angepasst werden. Unter Proxmox ( auf einem anderen Hypervisor habe ich es noch nicht getestet ) funktioniert die Installation nur, wenn der CPU Typ auf Host gestellt ist. Nachdem der Installer gebootet ist, müssen folgende Einstellungen festgelegt werden:
- Sprache Tastaturlayout (en entfernen, DE hinzufügen)
- root Passwort
- Software Selection => Minimal Install
- Zielfestplatte
Nun kann das Betriebssystem installiert werden. Nach dem ersten Starten muss das System noch auf den aktuellsten Stand gebracht werden.
Dies geschieht mit dem folgenden Befehl:
dnf update
Nun müssen die extra Packages für RHEL aktiviert werden.
Dies geschieht mit dem folgenden Befehl:
dnf -y install epel-release
Nachdem wir die extra Pakete installiert haben, geht es mit ein paar allgemeinen Tools, die auf jedem System meiner Meinung nach installiert werden sollten, weiter:
dnf install htop wget nano git tar
Nachdem dies erledigt ist, müssen wir der VM noch einen Hostnamen geben. Dazu die Datei /etc/hostname bearbeiten und den Namen eintragen (bspw. mit nano). Abschließend muss zum Übernehmen des Namens noch die VM neugestartet werden.
Abhängigkeiten installieren
Nachdem das Betriebssystem nun aufgesetzt ist, kann mit der eigentlichen Installation begonnen werden. Ein Teil der Abhängigkeiten kann direkt als Paket heruntergeladen werden, der Rest muss so auf dem System installiert werden.
dnf install https://repo.manticoresearch.com/manticore-repo.noarch.rpm |
dnf install openssl mariadb mariadb-server php php-ldap php-gd php-memcache php-pdo php-mysqli |
php-curl php-zip nginx manticore manticore-extra tre-devel sysstat python3 gcc poppler libytnefdevel memcached tcp_wrappers-libs openssl-devel zlib-devel mariadb-connector-c-devel
systemctl enable --now sysstat |
wget http://ftp.wagner.pp.ru/pub/catdoc/catdoc-0.95.tar.gz tar
-xzf catdoc-0.95.tar.gz
cd catdoc-0.95
./configure
make |
make install
cd .. |
rm catdoc-0.95 -Rf |
dnf install http://repo.iotti.biz/CentOS/9/x86_64/unrtf-0.21.9-17.el9.lux.x86_64.rpm |
http://repo.iotti.biz/CentOS/7/x86_64/xlhtml-0.5-19.el7.lux.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/tcp_wrappers-devel-7.6- 77.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/tcp_wrappers-libs-7.6- 77.el7.x86_64.rpm https://dl.rockylinux.org/pub/rocky/9/CRB/x86_64/os/Packages/l/libzip-devel-
1.7.3-7.el9.x86_64.rpm
systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl enable nginx |
systemctl disable manticore
systemctl stop manticore |
chown nginx:nginx /var/lib/php/session -RSELinux deaktivieren |
nano /etc/sysconfig/selinuxSELINUX=disabled/etc/selinux/configSELINUX=disabled
|
firewall-cmd --zone=public --permanent --add-port=25/tcp |
Nun muss noch in /etc/php-fpm.d/www.conf der user und der group Parameter auf nginx geändert
werden. Anschließend den PHP-FPM Prozess mit systemctl restart php-fpm neu starten.
SELinux deaktivieren
nano /etc/sysconfig/selinux
SELINUX=disabled /etc/selinux/config
SELINUX=disabled
Firewall Ports öffnen
Piler installieren
Nun sollten alle Abhängigkeiten auf dem System installiert sein und wir können mit der Installation des Pilers an sich weitermachen.
Dazu muss als Erstes ein neuer Nutzer angelegt werden:
groupadd piler |
useradd -g piler -m -s /bin/bash -d /var/piler piler
usermod -L piler |
chmod 755 /var/piler
Nachdem der Nutzer angelegt ist, können wir weiterhin als root Piler bauen und installieren:
wget https://bitbucket.org/jsuto/piler/downloads/piler-1.4.1.tar.gz
tar -xzf piler-1.4.1.tar.gz
cd piler-1.4.1 |
./configure --localstatedir=/var --with-database=mariadb
make |
make install |
echo "/usr/local/lib" >> /etc/ld.so.conf |
ldconfig |
Nun ist Mail Piler auf dem System installiert. Zur initialen Konfiguration müssen wir nun mit OPENSSL_ENABLE_SHA1_SIGNATURES=1 make postinstall den Konfigurationsassistenten durchlaufen.
Dabei müssen die folgenden Optionen eingegeben werden:
WebServer Gruppe: nginx
MySQL Hostname: localhost
MySQL Socket: /var/lib/mysql/mysql.sock
MySQL Database: bestätigen
MySQL Nutzername: bestätigen
MySQL Piler Passwort: Zufallspasswort generieren
MySQL Root Passwort: egal was, da socket Authentifizierung verwendet wird
SMTP Relay Host: öffentlicher Domain des Mail Piler
SMTP Port: 25
2x mit y bestätigen
Das Script sollte nun erfolgreich durchlaufen und zum Abschluss die Meldung Done post installation tasks. bringen. Nachdem der eigentliche Piler jetzt läuft, müssen wir den WebServer
konfigurieren. Dazu habe ich eine fertige Konfiguration, welche wir nur einspielen müssen und
anschließend den Nginx neustarten:
rm /etc/nginx/nginx.conf |
wget -O /etc/nginx/nginx.conf https://jonasled.de/download/mailpiler-nginx.conf |
systemctl restart nginx |
Wenn alles gut gelaufen ist, sollte nun das Login über den Web Browser erreichbar sein.
Auf der Oberflöche können wir uns nun mit admin@local als Nutzername und pilerrocks als
Passwort anmelden. Falls es nach dem Login zu einem Redirect auf eine falsche Domain kommt,
muss in der Datei /usr/local/etc/piler/config-site.php der SITE_NAME geändert werden. Hier wird
aber noch nicht viel funktionieren, da die Dienste noch nicht funktionieren. Dazu müssen zuerst die
Services und einige Dateien an der richtigen Stelle verlinkt werden und danach die Services
gestartet werden:
ln -s /usr/local/sbin/piler /usr/sbin/piler |
ln -s /usr/local/sbin/piler-smtp /usr/sbin/piler-smtp
ln -s /usr/local/etc/piler /etc/piler |
ln -s /usr/local/etc/piler/manticore.conf /usr/local/etc/piler/sphinx.conf |
ln -s /usr/local/libexec/piler/pilersearch.service /etc/systemd/system/pilersearch.service
ln -s /usr/local/libexec/piler/piler.service /etc/systemd/system/piler.service |
ln -s /usr/local/libexec/piler/piler-smtp.service /etc/systemd/system/piler-smtp.service
systemctl daemon-reload |
systemctl enable --now piler |
systemctl enable --now pilersearch
systemctl enable --now piler-smtp
Nachdem die Dienste laufen, sollte nun auch die Administrator Oberfläche funktionieren.
Hier kann auch unter administration => users ein Passwort für den auditor Nutzer festgelegt
werden. Dieser darf alle E-Mails sehen. Um den Piler zu testen, können wir nun testweise eine EMail an diesen schicken. Die Empfängeradresse ist hierbei egal.
Da der Piler nicht dauerhaft die E-Mails aktualisiert, kann dies nun bis zu einer Stunde dauern, bis
die Test E-Mail in der Oberfläche auftaucht.
Um dies zu beschleunigen, kann man auch die entsprechenden Befehle als Piler Nutzer ausführen:
# Als Piler Nutzer anmelden |
su piler |
/usr/bin/indexer --quiet tag1 --rotate --config /usr/local/etc/piler/manticore.conf
/usr/bin/indexer --quiet note1 --rotate --config /usr/local/etc/piler/manticore.conf |
/usr/local/libexec/piler/indexer.delta.sh |
Danach sollte in der Oberfläche, wenn man als Auditor Nutzer angemeldet ist, eine E-Mail
erscheinen.
Login via IMAP
Damit sich auch Besitzer einer Mailbox am Piler anmelden können und auch E-Mails aus dem Piler
wiederherstellen können, kann sich der Piler gegen einen IMAP Server authentifizieren. Dazu muss
in der Datei /usr/local/etc/piler/config-site.php folgender Inhalt hinzugefügt und entsprechend
angepasst werden:
$config['ENABLE_IMAP_AUTH'] = 1;
$config['RESTORE_OVER_IMAP'] = 1; |
$config['IMAP_RESTORE_FOLDER_INBOX'] = 'INBOX';
$config['IMAP_RESTORE_FOLDER_SENT'] = 'Sent';
Login via IMAP
$IMAP$config['IMAP_HOST'] = '<HOST DES E-MAIL SERVERS>';