Update des Mailarchivs MailPiler

Wir verwenden für die Mailarchivierung Mailpiler. Das ganze läuft auf einer kleinen VM und dienst im wesentlichen nur als Lösung für den Fall das mal jemand eine Mailarchiv haben möchte. Der Server ist recht vernagelt und eigentlich schenken wir dem recht wenig Beachtung. Da allerdings das Betriebssystem demnächst auf Debian 10 gehoben werden soll stand ein Update an. Ausgangspunkt war die Version 1.20 und hier meine Notizen.

vi  /usr/local/etc/piler/piler.conf:
 mysqlcharset=utf8

vi /var/www/piler/config-site.php 
   $config['DB_CHARSET'] = 'utf8';

Dann noch prüfen ob Einstellungen für Sphinx korrekt sind (waren bei mir alle schon gesetzt).

vi /usr/local/etc/piler/sphinx.conf
   sql_query_pre = SET NAMES utf8

Ein der Updates brauchte Anpassungen der Datenbank

mysql -u piler -p 
 use piler
Database changed
MariaDB [piler]> alter table sph_index change column `from` `from` tinyblob default null;
Query OK, 0 rows affected (0.15 sec)               
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [piler]> alter table metadata change column `from` `from` varchar(255) not null;
Query OK, xxxxx rows affected (12.25 sec)              
Records: xxxxx  Duplicates: 0  Warnings: 0

MariaDB [piler]> alter table metadata change column `fromdomain` `fromdomain` varchar(255) not null;
Query OK, xxxxx rows affected (12.27 sec)              
Records: xxxxx  Duplicates: 0  Warnings: 0

MariaDB [piler]> alter table metadata change column `message_id` `message_id` varchar(255) not null;
Query OK, xxxxx rows affected (11.63 sec)              
Records: xxxxx  Duplicates: 0  Warnings: 0

MariaDB [piler]> alter table attachment change column `name` `name` tinyblob default null;
Query OK, xxxxx rows affected (2.90 sec)               
Records: xxxxx  Duplicates: 0  Warnings: 0

MariaDB [piler]> alter table sph_index change column `body` `body` mediumblob default null;
Query OK, 0 rows affected (0.25 sec)               
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [piler]> alter table sph_index change column `subject` `subject` blob default null;
Query OK, 0 rows affected (0.20 sec)               
Records: 0  Duplicates: 0  Warnings: 0

Dann noch ein paar weitere Aufgaben für Cron

crontab -u piler -e
   */5 * * * * /usr/bin/find /var/piler/error -type f|wc -l > /var/piler/stat/error
   3 * * * * /usr/local/libexec/piler/watch_sphinx_main_index.sh

und dann das eigentliche Update

wget https://bitbucket.org/jsuto/piler/downloads/piler-1.3.9.tar.gz
sha256 piler-1.3.9.tar.gz
tar xzvf piler-1.3.9.tar.gz 
cd piler-1.3.9/
./configure --localstatedir=/var --with-database=mysql --enable-starttls --enable-tcpwrappers
[...]
Configure: WARNING: unrecognized options: --enable-starttls, --enable-tcpwrappers
make
make install

Und dann waren wir auch schon durch. Die Services mussten neu gestartet werden

/etc/init.d/rc.piler start
/etc/init.d/rc.searchd start

Dann dann konnte man in den Maillogs sehen das wieder Mail ankamen die man auch in der Suche finden konnte.