Skip to main content

MailPiler-Installation

Schritt-für-Schritt-Anleitung

 

Installation des OS

 

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 -R

 

firewall-cmd --zone=public --permanent --add-port=80/tcp
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.

 

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

 

$config['IMAP_HOST'] = '<HOST DES E-MAIL SERVERS>';