Installazione di Mailpiler in Debian per l'archiviazione email

From RVM Wiki
Revision as of 11:33, 21 November 2012 by Gabriele.vivinetto (talk | contribs)
Jump to navigation Jump to search

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

  • 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
SITE_NAME
SITE_URL
PILER_HOST
PILER_PORT
SMARTHOST
SMARTHOST_PORT
SMTP_DOMAIN
SMTP_FROMADDR
ADMIN_EMAIL
DIR_BASE
DB_PASSWORD
TIMEZONE
  • 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>
  • Creare il nome dns indicato in SITE_URL


  • Abilitare il rewrite in apache
sudo a2enmod rewrite
sudo invoke-rc.d apache2 reload
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