Buscar entradas

Configurar KCFinder para phplist

Versión de phplist: 3.5.5

Intro

Para el envío de noticias y campañas de correo he estado usando phplist durante un montón de años. Al principio tenía una de las interfaces gráficas más feas que uno pudiese imaginar, pero la gente que se encarga de mantener el proyecto ha dedicado un gran esfuerzo a hacer mucho más agradable la interfaz gráfica de la aplicación.

Acceso al editor de imágenes

Otras cosas han perdido, como la capacidad de embeber imágenes directamente en los cuerpos de los mensajes y no se si hice algo en el pasado sobre los archivos de configuración o es que las actualizaciones automáticas desde la versión 3.3 modificaron algo. El caso es que no era posible acceder al KCFinder para gestionar las imágenes de los mensajes.

Cada vez que tratabamos de acceder al gestor de imágenes el sistema se quejaba diciendo que no podíamos acceder al servidor.

Solución

Se ve que por defecto (o algún script lo había cambiado) el gestor de imágenes está desactivado. Para activarlo de nuevo hemos de editar el archivo de configuración de kcfinder, que podemos encontrar en la siguiente ruta dentro del directorio public_html de phplist:

lists/admin/plugins/CKEditorPlugin/kcfinder/conf

Concretamente, en la sección GENERAL del archivo de configuración (config.php) hay que cambiar:

'disabled' => true,

por

'disabled' => false,

Y ya podemos abir el gestor de archivos, lo que nos permite incluir en nuestros mensajes imágenes y otros tipos de archivo. Por defecto están prohibidos los .exe y algunos otros potencialmente peligrosos.

Las imágenes no aparecen en el mensaje cuando lo recibimos

Otro problema que nos encontramos con la configuración que en mi caso tenía por defecto el gestor de archivos es que aunque las imágenes se veían bien en el editor del mensaje de phplist, al enviarlas no aparecían en el mensaje, aunque se permitiera la carga de arvchivos externos en el programa de correo electrónico.

Solución

La solución pasa por editar de nuevo el archivo de configuración de kcfinder, aunque primero hemos de crear el directorio que albergará las imágenes.

El directorio para las imágenes ha de estar a la misma altura del arbol de directorios que el directorio lists. Nosotros le hemos llamado uploadedfiles. Hemos de dar permisos de escritura al usuario web (www-datta en Debian/Ubunto y httpd en Fedora/Centos) sobre este directorio.

Una vez creado el directorio hay que notificarlo a phplist en su archivo de configuración: lists/config/config.php

Habría que indicarlo de la siguiente forma:

define('UPLOADIMAGES_DIR',"uploadedfiles");

Por otro lado, al gestor de archivos habría que notificarlo en su archivo de configuración (lists/admin/plugins/CKEditorPlugin/kcfinder/conf/config.php) de la siguiente forma:

'uploadURL' => "https://misitio.web.com/uploadedfiles",
'uploadDir' => "",

En mi caso no he conseguido que funcione dejando la URL sin el subdirectorio de archivos y poniendolo en uploadDir.