Integrar aplicaciones de webmail personalizadas
Para la versión 11.30 de WHM en adelante
Puede modificar su aplicación preferida de webmail de tercero para que esté disponible para sus usuarios con la interfaz
Webmail de cPanel.
Para hacerlo, siga los pasos a continuación:
Crear un archivo de registro de webmail
Para empezar, tendrá que crear un archivo de registro de webmail.
El archivo de registro de webmail es un archivo YAML que contiene un solo
hash con las siguientes claves requeridas:
- url — La ruta hacia la aplicación de webmail en cuestión (por ejemplo,
/3rdparty/somewebmailapp/).
- displayname — El nombre que aparecerá en la interfaz de cPanel (por ejemplo,
Some Webmail Application).
- icon — La ruta al icono que aparecerá en la interfaz de cPanel (por ejemplo,
/3rdparty/somewebmailapp/icon.png).
Puede usar el siguiente
script de Perl para crear este archivo:
#!/usr/bin/perl
use lib '/usr/local/cpanel';
use Cpanel::DataStore;
my $app = {
url => '/3rdparty/mywebmailapp/index.php',
displayname => 'My Webmail Application',
icon => '/3rdparty/mywebapp/icon.gif',
};
Cpanel::DataStore::store_ref('/var/cpanel/webmail/webmail_mywebmailapp.yaml', $app) || die("could not write webmail registration file");
Una vez que este archivo esté en su sitio (en
/var/cpanel/webmail/webmail_mywebmailapp.yaml), su aplicación de webmail deberá aparecer en la interfaz
Webmail del usuario de cPanel.
Importante: El nombre del archivo en
/var/cpanel/webmail/ debe comenzar con
webmail_ y terminar con
.yaml o el archivo será ignorado.
Colocar y modificar la aplicación de webmail
Ahora, tiene que poner la misma aplicación de webmail en su lugar.
El lugar apropiado para la aplicación es
/usr/local/cpanel/base/3rdparty/ Las aplicaciones dentro de este directorio se ejecutarán como el usuario que posee la cuenta de correo electrónico. Normalmente, tendrá que hacer tres modificaciones a una aplicación de webmail para que se integre perfectamente en cPanel:
- Automatizar los inicios de sesión
- Editar el archivo de configuración
- Configurar las bases de datos
Automatizar los inicios de sesión
Es preferible tener inicios de sesión automáticos. Puede automatizar los inicios de sesión al modificar el formulario de inicio de sesión para obtenga los datos de autenticación con las variables entornos
REMOTE_USER y
REMOTE_PASSWORD. Luego, coloque los datos en campos escondidos dentro de la página de inicio.
La mayorÃa de las aplicaciones de webmail utilizan un sistema de plantilla para mostrar estos datos. Si su aplicación de webmail utiliza un sistema de plantilla, tendrá que añadir una clave de plantilla adicional.
Editar el archivo de configuración
El archivo de configuración o el procesador de archivo de configuración normalmente tendrá que ser editado para algunas configuraciones importantes. Como esto cambiará drásticamente entre aplicaciones, aquà hay algunas configuraciones a observar:
Archivos de usuario
Quizás sea necesario especificar una ubicación para almacenar archivos temporales para el usuario. Debe colocar estos archivos en el directorio $homedir/tmp/$appname
-
¡Ojo!: En el ejemplo anterior, tendrá que reemplazar $homedir con su directorio principal y $appname con un directorio con el mismo nombre que la aplicación.
Rutas de aplicación de sistema
Algunas aplicaciones de webmail dependen de las utilidades a nivel de sistema operativo, como aspell o gpg, para proporcionar ciertas caracterÃsticas. Por lo general, una aplicación de webmail detectará automáticamente estas utilidades. Otras pueden requerir que usted proporcione la ubicación de estas utilidades en el archivo de configuración. Esto variará de acuerdo con la aplicación de correo web.
Servidores de correo
Las aplicaciones de webmail pueden especificar cuál servidor de IMAP, POP3 o SMTP se utilizan en el archivo de configuración. Asegúrese de que esté colocado en el servidor correcto (normalmente localhost).
Base de datos
El nombre y las referencias de la base de datos tendrán que ser automatizados. Esto cambiará según la aplicación en cuestión.
Configurar las bases de datos
Si su aplicación de webmail usa una base de datos, tendrá que manejarse de una manera especÃfica.
Esto es porque las aplicaciones de webmail, por lo general, necesitan tener sus bases de datos separadas para evitar el compartir contraseñas de bases de datos entre cuentas de cPanel.
- Si la aplicación de webmail ofrece la capacidad de usar SQLute, le recomendamos usarlo y almacenar la base de datos dentro del directorio principal del usuario.
- Si no hay soporte para SQLite, tendrá que crear un usuario y una base de datos para cada usuario en cuestión, y almacenar sus datos localmente.
- Después de crear la cuenta, puede usar el hook (gancho) postwwwacct para automatizar esta acción (en inglés).
- Su instalación de script también tendrá que revisar todos los usuarios de cPanel en un sistema e instalar el usuario y la base de datos MySQL para cada usuario de cPanel.
Empaquetar la aplicación
Una vez su aplicación haya sido integrarada con éxito, tendrá que empaquetarla. Hay varias maneras de hacerlo; sin embargo, para la instalación, le recomendamos distribuir un
tarball que contiene:
- fuentes prÃstinas,
- un archivo de parche,
- un script de instalación y
- un script de desinstalación.
Fuentes prÃstinas y parche
Las fuentes prÃstinas y un parche a menudo se requieren para la licencia de una aplicación de webmail. Esto les permitirá a los usuarios ver cómo logró intergrar su webmail y qué cambios se le han hecho a la base de la fuente.
Scripts de instalación y desinstalación
Los
scrips de instalación y desinstalación facilitan el proceso de instalar la nueva aplicación. El
script de instalación debe:
- Extraer las fuentes prÃstinas a
/usr/local/cpanel/base/3rdparty
- Aplicar el parche.
- Crear un archivo de registro de webmail.
Preguntas frecuentes
¿Están incluidas las bases de datos que son usadas con las aplicaciones de webmail personalizadas en los respaldos de cPanel?
Esto dependerá de la configuración de su aplicación de webmail. Si las bases de datos se almacenan en el directorio principal, estarán incluidas en el respaldo.
¿Cómo se manejan los archivos de sesión en las aplicaciones de PHP? ¿Irá a /tmp u otro lugar?
Esto depende totalmente de la configuración de la aplicación de webmail. Para encontrar esta respuesta, examine la configuración de su aplicación de webmail PHP.