Installazione di Mailpiler in Debian per l'archiviazione email
Compilazione
- Scaricare e scompattare:
cd /tmp wget https://bitbucket.org/jsuto/piler/downloads/piler-0.1.21.tar.gz
tar xvzf piler-0.1.21.tar.gz
cd piler-0.1.21/
- Occorre preparare le utenze prima di compilarlo:
sudo groupadd piler sudo useradd -g piler -s /bin/sh -d /var/piler piler sudo usermod -L piler
- Installare i requisiti di compilazione:
sudo apt-get install libssl-dev libtre-dev libmysqlclient-dev poppler-utils catdoc unrtf
- Configurare:
./configure \
--enable-clamd \
--enable-memcached \
--localstatedir=/var
- Compilare
make
Installazione
- Installare:
sudo make install
- Installare le dipendenze runtime:
sudo apt-get install sysstat phpmyadmin mysql-server mysql-client
- Aggiornare le librerie:
sudo ldconfig
Configurazione
- Configurare
sudoedit /usr/local/etc/piler.conf
- Dominio email
mydomains=mycompany.com,aaa.fu,example.com
- Porta di ascolto server smtp interno
listen_port=2525
- Dati mysql:
mysqlhost=127.0.0.1 mysqlport=3306 mysqluser=piler mysqlpwd=verystrongpassword
- Creare la chiave di cifratura delle email:
make key sudo cp piler.key /usr/local/etc sudo chgrp piler /usr/local/etc/piler.key sudo chmod 640 /usr/local/etc/piler.key
- Creare il database:
mysql -u root -p
create database piler character set 'utf8'; grant all privileges on piler.* to piler@localhost identified by 'verystrongpassword'; flush privileges; quit;
- Popolare il database:
mysql -u piler -p piler < util/db-mysql.sql
Sphinx
- Scaricare dal sito la versione aggiornata di sphinx *2* o installare il backport autoporodotto da http://sphinxsearch.com/downloads/release
- Versione i386:
wget http://sphinxsearch.com/files/sphinxsearch_2.0.6-release-1_i386.deb
- Versione amd64:
wget http://sphinxsearch.com/files/sphinxsearch_2.0.6-release-1_amd64.deb
sudo dpkg -i sphinxsearch_2*.deb
- Oppure
sudo apt-get install sphinxsearch
- Stoppare sphinxsearch Disabilitare l'avvio automatico:
sudo invoke-rc.d sphinxsearch stop sudo update-rc.d -f sphinxsearch remove
- Copiare la configurazione, modificarla e testarla:
sudo cp etc/sphinx.conf /usr/local/etc sudo sed -i -e 's/sql_pass = piler/sql_pass = verystrongpassword/g' /usr/local/etc/sphinx.conf sudo -u piler indexer --config /usr/local/etc/sphinx.conf --all
- Linkare gli eseguibili di sphinx:
sudo ln -s /usr/bin/indexer /usr/local/bin/indexer sudo ln -s /usr/bin/searchd /usr/local/bin/searchd
- Lanciare i demoni, usando gli rc file presenti nella cartella sorgente:
sudo sh init.d/rc.piler start
- Modificare il percorso di searchd nel rc file:
vi init.d/rc.searchd
su piler -c '/usr/bin/searchd -c /usr/local/etc/sphinx.conf'
- Stoppare sphinxsearch:
sudo invoke-rc.d sphinxsearch stop
- Avviare searchd:
sudo sh init.d/rc.searchd start
Webgui
- Copiare i files:
sudo mv webui /var/www/piler sudo chown -R www-data:www-data /var/www/piler/tmp
- Modificare la configurazione:
sudoedit /var/www/piler/config.php
define('SITE_NAME', 'mailpiler.example.com');
define('SITE_URL', 'http://mailpiler.example.com/');
define('PILER_HOST', '1.2.3.4');
define('PILER_PORT', 2525);
define('SMARTHOST', '127.0.0.1'); //Server SMTP per inviare email di restore
define('SMARTHOST_PORT', 25);
define('SMTP_DOMAIN', 'example.com');
define('SMTP_FROMADDR', 'no-reply@example.com');
define('ADMIN_EMAIL', 'admin@example.com');
define('DIR_BASE', '/var/www/piler/');
define('DB_PASSWORD', 'verystrongpassword');
define('TIMEZONE', 'Europe/Rome');
- Lanciare un'indicizzazione manuale:
sudo -u piler indexer --config /usr/local/etc/sphinx.conf --all --rotate
- Creare il virtualhost eome indicato in SITE_URL
sudoedit /etc/apache2/sites-available/mailpiler
NameVirtualHost 1.2.3.4:80
<VirtualHost 1.2.3.4:80>
ServerName mailpiler.example.com
DocumentRoot /var/www/piler
</VirtualHost>
- Abilitare il Virtualhost
sudo a2ensite mailpiler
- Abilitare il rewrite in apache
sudo a2enmod rewrite sudo invoke-rc.d apache2 reload
- Creare il nome dns indicato in SITE_URL
- Loggarsi su http://mailpiler.example.com con credenziali
admin@local pilerrocks
Cronjobs
- Crearlo per lo user piler:
sudo -u piler crontab -e
*/5 * * * * LC_ALL=C mpstat | tail -1 | awk '{print $11}' > /var/piler/stat/cpu.stat
*/15 * * * * /usr/bin/indexer --config /usr/local/etc/sphinx.conf --quiet delta1 --rotate && sleep 2 && /usr/bin/indexer --config /usr/local/etc/sphinx.conf --quiet --merge main1 delta1 --merge-dst-range deleted 0 0 --rotate
*/15 * * * * /usr/bin/indexer --config /usr/local/etc/sphinx.conf --quiet tag1 --rotate
*/15 * * * * /usr/bin/indexer --config /usr/local/etc/sphinx.conf --quiet note1 --rotate
30 7 * * * /usr/local/libexec/piler/daily-report.php /var/www/piler
Test
- Mailpiler scarta i messaggi duplicati, quindi usare un corpo messaggio diverso per ogni test:
echo $(date) | swaks --server smtp.example.com --port 2525 --from sender@example.com --to recipient@example.com --body -
- Per vedere cosa fa
sudoedit /usr/local/etc/piler.conf
verbositiy=5
sudo sh rc.piler restart
sudo tail -f /var/log/mail.log| grep piler
Antivirus
Invio mail dirette a mailpiler da postfix
- Abilitare il bcc verso l'smtp piler:
sudoedit /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport always_bcc = archive@fuxta.priv
sudoedit /etc/postfix/transport
archive@fuxta.priv smtp:127.0.0.1:2525 cd /etc/postfix/ sudo postmap transport sudo invoke-rc.d postfix restart