Instalación y configuración de Piler (Actualizado)

Comenzar diciendo que para la creación de esta guía nos apoyamos en el blog de Patrik Kernstock. Gracias.

QUÉ ES PILER?
piler es una solución de archivo de correo electrónico de código abierto con beneficios y muchas características. El principal caso de uso es por razones de cumplimiento y/o legales de las empresas. Piler puede cifrar, comprimir y deduplicar correos para reducir el uso del disco.

Con este tutorial configurarás piler en una nueva instalación de Ubuntu/Debian. Para su conveniencia, he agregado bastantes comandos sed para ajustar fácilmente la mayoría de los archivos de configuración según sea necesario, y también variables para reemplazar más fácilmente valores específicos durante el proceso. Sin embargo, tenga en cuenta que el objetivo de esto no es automatizar la instalación, y deberá ajustar la configuración a sus propias necesidades en algunos de los pasos.

REQUISITOS
Documentación de instalación probada en las siguientes circunstancias:
– Una instalación limpia de Ubuntu 20.04.2 o Debian 10.8, ambos con arquitectura x64, dedicada para piler.
– Uso del usuario root en toda la guía. (piler corre como usuario piler)
– Integración de piler con un Servidor o Relay de Correo. (Zimbra, iRedMail, Proxmox Mail Gateway)

Requisitos de hardware
– Memoria: 1 GB debería ser suficiente para configuraciones pequeñas (~ 200 MB en inactivo después de la configuración)
– Disco: 10 GB para instalación básica + sus datos de correo.

Requisitos de red
– Registro DNS como piler.dominio.cu ya configurado.
– Su servidor de correo debe tener acceso a Piler a través de SMTP (TCP/25) para enviar correos a archivar a través de BCC.

Importante tener en cuenta:
– Úselo en máquinas limpias/nuevas dedicadas ÚNICAMENTE a piler. También por motivos de seguridad, debería tener su solución de archivo de correo electrónico separado.
– En esta guía no habilitamos el antivirus clamd, asumimos que los correos electrónicos ya están revisados ​​en el momento que llegaron al buzón.
– Si bien esta guía es bastante universal, se probó integración de Postfix con servidores Zimbra, iRedMail y Proxmox Mail Gateway.
– Usaremos los repositorios más actuales de MariaDB, PHP y Nginx, por lo cual agregaremos las Keys necesarias para validar dichos repos.

PREPARACIÓN
Para hacer la vida más fácil, establecemos variables en el shell actual. Reemplácelas con sus propios valores.

Cambiar zona horaria:

Cambiar «locales»:

Buscar en la lista: en_US.UTF-8 UTF-8
Seleccione con «Espacio» y luego «Enter», en la siguiente pantalla busque «en_US.UTF-8» y luego «Enter».

En primer lugar, QUITAR POSTFIX:

Nota: Con Postfix corriendo en el CT/VM piler no podrá escuchar por el puerto 25, nos rechazará la conexión, y no recibirá los correos que se le envíen.

Instalar dependencias generales:

Elimine los paquetes preinstalados con Ubuntu 20.04 que no necesitamos: (opcional)

Ahora configuraremos las claves y repositorios correctos para nuestra distribución de Linux
Para Ubuntu:

Para Debian:

Actualizamos:

Instale MariaDB (base de datos), PHP, y Nginx (servidor web)
MariaDB:

Optimizar la base de datos:

PHP:

Nginx:

Cambiamos el usuario de Nginx, y reinciamos el servicio:

Instalar sphinxsearch, necesario para la indexación por piler.
Nota: Verifique la versión y el enlace de descarga en el sitio de descarga de sphinxsearch y ajuste la versión en el enlace de descarga a continuación, si es necesario. http://sphinxsearch.com/downloads/current/

Descargue e instale binarios:

Bloqueo de Bitbucket
Debido a que bitbucket.org está cerrado para Cuba, no podremos descargarnos los paquetes necesarios de xlhtml y piler, a no ser accediendo por VPN. El que no pueda llegarle, aquí se lo dejo.
Salten el paso con wget correspondiente a «xlhtml» y «piler» y continuen.

Instalar xlhtml
Nota: Verifique la versión y el enlace de descarga en la guía de instalación de piler y ajuste la versión en el enlace de descarga a continuación, si es necesario. http://www.mailpiler.org/wiki/current:installation

Descarga, configura, compila e instala:

Instalación de piler
– Cree un usuario dedicado y establezca el permiso correspondiente

– Descarga, configura, compila e instala.
Nota: Verifique la versión y el enlace de descarga en la descarga de piler y ajuste la versión en el enlace de descarga a continuación, si es necesario. https://www.mailpiler.org/wiki/download
La descarga desde bitbucket está cerrada para Cuba. Descarguen, copienlo a /opt/mailpiler/ y obvien el paso wget.

– Generar contraseña y preparar base de datos:

Nota: Necesitará esta contraseña en un segundo, durante la posinstalación.

– Inicie el script posterior a la instalación de piler:

Los valores predeterminados solicitados por el script deberían estar bien, ya que los ajustamos con sed justo arriba. ¡Pero aún así verifíquelos antes de continuar!

En este punto, tiene las siguientes preguntas clave para responder:
– El nombre del grupo del servidor web es www-data.
– La contraseña de mysql para piler es la contraseña generada anteriormente. (Los valores copiados y pegados no serán visibles).
– En la contraseña de root de mysql, simplemente puede escribir cualquier cosa, ya que se usará socket.
– El valor del relay smtp será mail.domain.tld (igual que $MAILSERVER_DOMAIN)

Salida de ejemplo:

Además, encontrará estos mensajes después de ejecutar make postinstall:

Esos errores nos dicen que algunos archivos de índice se crearon y otros no.
Eso es culpa de Sphinx 🙂 Pero no te preocupes, lo corregiremos en un momento.

Ajustar la configuración del Piler y Sphinx:

Ahora es el momento de corregir el error de índice que vimos anteriormente:

Inicie piler y searchd, y habilite el inicio automático:

Configurando WebUI de Piler
– Genere un certificado autofirmado:

– Configurar servidor web y PHP:

Hagamos que el piler vhost sea más seguro:

Ahora probamos la configuración de Nginx y recargamos el servicio:

Ahora ajustamos el archivo de configuración web de piler:

Los parámetros Smarthost no los necesitamos, así que los comentaremos:

Buscamos y comentamos con //:

Luego:

Luego de revisar a fondo la WebUI nos damos cuenta que al cambiar el idioma el menú queda por detrás de la pantalla (a la izquierda). Esto lo podemos corregir haciendo un pequeño cambio en el CSS en la línea 726.

De ahí nos interesa right:0, que lo cambiaremos por left:0, para que nos quede así (el resto de la línea NO TOCARLA):

Guardamos y continuamos.

– Limpiamos:

– Accedemos a la WebUI en https://$PILER_DOMAIN:

Nota: Cambia la contraseña.

Integración con Postfix
Para conectar nuestro servidor de correo con piler necesitamos agregar/modificar el parámetro de Postfix always_bcc.
En el Servidor de Correo:

Modifica/Agrega:

Nota: No tiene que crear esta cuenta en ningún lugar, existe para el servidor piler.

Si tiene relayhost declarado en Postfix, tendrá que agregar esta línea a /etc/postfix/transport:

Agrega:

Hágale postmap al archivo y reinicie postfix:

¿Por qué se hace este cambio en el archivo transport?
Si está dentro de una red VPN, y tiene que retransmitir sus correos electrónicos a su proveedor de servicios, no quiere que esos correos salgan y vuelvan a entrar. Con transport su servidor de correo sabrá qué hacer cada vez que un mensaje sea dirigido a @piler.dominio.cu.

Integración con Zimbra
Creamos este archivo:

Le agregamos:

Editaremos el siguiente fichero:

Y añadir la siguiente línea casi al principio del todo, debe quedarles así:

Luego en la consola ejecutamos los comando siguientes para agregar la cuenta del archivo de piler a Zimbra:

En caso que Zimbra tenga declarado un MTA superior al cual entregarle los correos haga lo siguiente:
Crea un fichero transporte para el receptor de dominio que sería el retransmisor:

Dentro agregamos:

Hágale postmap al archivo y reinicie postfix:

Añadimos a la tabla Transport del dominio Zimbra el fichero transportfile creado anteriormente:

Ahora reiniciamos el mta postfix de Zimbra:

Tareas de cron
Puede reducir el tiempo de indexación en crontab:

Nota: Las tareas de Crontab son para el usuario piler.
Seleccione el editor que desee (nano es el más fácil).

Modifica:

Déjela así:

Nota: De esta manera se iniciará al segundo minuto.
Crontab guru puede ayudarte si lo necesitas https://crontab.guru

Datos Adicionales:
– El tiempo de refrescamiento de la web se puede cambiar en /var/piler/www/config.php, modificando el valor $config['HEALTH_RFRESH']
– Si modificaste el tiempo de indexado a 2 minutos, cambia en /var/piler/www/config.php, el valor de $config['DELTA_INDEXER_PERIOD'] de 1800 a 120. De esta manera habrá concordancia entre la web y el cron.

Importar mensajes a piler
Una vez que haya puesto en marcha piler, querrá importar los sus mensajes de su cuenta de salvas.
Hay muchas maneras de hacer esto. Este enlace le muestra cómo hacerlo: https://www.mailpiler.org/wiki/current:importing-emails
En este tutorial usaremos la importación de mensajes desde un directorio [opción -d]
Copie el maildir de su cuenta de respaldo en piler, o puede montarlo con algún servidor NFS/NAS.

Una vez que tenemos el directorio:
– Iniciar sesión como usuario piler

– Importar correos

– Cierre sesión de piler

No importa si tiene más de una carpeta con correos dentro, agregará todos los correos que encuentre.

No se preocupe por las advertencias de correo duplicado.
Cuando termine, verá en la página «Health» del usuario admin que sus números aumentaron, y después de un corto tiempo (si cambió las tareas de cron) los verá todos si inicia sesión como [email protected], u otro usuario Auditor que haya creado.

 

Esto prueba que el mismo número de correos recibidos por piler fueron indexados por sphinx y están siendo mostrados al usuario Auditor.

 

Dato añadido
Si alguna vez desea Restablecer/Reiniciar todo, haga esto:

Nota: Este proceso eliminara todos los correos almacenados en piler, eliminará la BD, eliminará indices y reindexará nuevamente, dejando todo en cero.

¡A disfrutar!

 

Agradecimientos a:
David @davidcfgos
Armando @Armandof
Fito @Fito_cu
Adalberto @semofajardo (El matador del CSS)
Alexander @Alexminator
Jessy @jessytherealj
Jorge Elian @jemartinezp1994

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 3

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

2 comentarios

  1. Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

    ahora mismo voy a probarlo

  2. Google Chrome 86.0.4240.183 Google Chrome 86.0.4240.183 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36

    me da este error cuando creo el certificado {openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/nginx/ssl/piler.key -out /etc/nginx/ssl/piler.crt -subj «/CN=$PILER_DOMAIN» -addext «subjectAltName=DNS:$PILER_DOMAIN»
    Error Loading command line extensions
    140460373415232:error:2206D06D:X509 V3 routines:X509V3_parse_list:invalid null value:../crypto/x509v3/v3_utl.c:352:
    140460373415232:error:22097069:X509 V3 routines:do_ext_nconf:invalid extension string:../crypto/x509v3/v3_conf.c:92:name=subjectAltName,section=DNS:
    140460373415232:error:22098080:X509 V3 routines:X509V3_EXT_nconf:error in extension:../crypto/x509v3/v3_conf.c:47:name=subjectAltName, value=DNS:

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*