Installation de PHP-List depuis le Repo FWS

Dans cet exemple, notre serveur aura comme nom de domaine primaire ledomaine.com. A vous de remplacer par le votre.

Installation des paquets nécessaires

yum --enablerepo=fws install smeserver-phplist

Phplist est accessible depuis https://serveur/lists

L'interface d'administration se situe https://serveur/lists/admin

Par défaut, l'interface d'administration n'est accessible que pour l'admin (en HTTPS)

Configuration d'un sous domaine virtuel

Pour éviter d'avoir une application php sur le domaine primaire, il est recommandé de créer un sous domaine virtuel.

Cela permet d’accéder à Phplist de la façon suivante : https://lists.ledomaine.com, et c'est plus jolie.

Dans l'exemple suivant, changer “ledomaine.com” par votre domaine.

db domains set lists.ledomaine.com domain Nameserver internet Content Primary DocumentRoot /usr/share/phplist/www/lists Description 'PHPList' TemplatePath WebAppVirtualHost
signal-event domain-create lists.ledomaine.com

<fc #FF0000>Le sous domaine entraine une modification du fichier de configuration de base de Phplist.</fc>

Pour cela, nous allons créer un template custom.

mkdir /etc/e-smith/templates-custom/usr/share/phplist/www/lists/config/config.php/ -p
cp /etc/e-smith/templates/usr/share/phplist/www/lists/config/config.php/10GeneralSettings /etc/e-smith/templates-custom/usr/share/phplist/www/lists/config/config.php/10GeneralSettings

et modifier les lignes suivante dans /etc/e-smith/templates-custom/usr/share/phplist/www/lists/config/config.php/10GeneralSettings

$pageroot = '/lists'; $adminpages = '/lists/admin';

par

$pageroot = '/'; $adminpages = '/admin';

Permettre un accès depuis l'extérieur

Par défaut, Phplist n'est accessible que depuis le réseaux local.

Pour permettre son accès depuis l'extérieur :

db configuration setprop phplist access public
signal-event webapps-update

Forcer le SSL

Nous avons choisis de faire fonctionner l'interface d'administration uniquement en SSL. Or Phplist ne permet pas dans son interface de configuration de forcer le SSL.

Pour cela, il faut ajouter un paramètre dans la DB :

db domains setprop lists.ledomaine.com RequireSSL /admin

configurer un utilisateur de bounces

Les bounces est un email qui est retourné car il ne peut pas être délivré au destinataire pour plusieurs raisons: La boîte mail du destinaire est pleine, l'adresse n'éxiste pas ou est désactivé.

Pour configurer un compte bounces, il faut créer un nouvel utilisateur “bounces” sur le serveur.

C'est lui qui recevra les messages d'erreur par mail.

Cette opération sera faite depuis le server-manager. Attribuez lui un mot de passe.

# db configuration setprop phplist BouncesPasswd <votre mot de passe>

Il faut ensuite creer un template custom pour définir l'adresse de bounces à Phplist :

cp /etc/e-smith/templates/usr/share/phplist/www/lists/config/config.php/20Bounces /etc/e-smith/templates-custom/usr/share/phplist/www/lists/config/config.php/20Bounces

Puis mofifier /etc/e-smith/templates-custom/usr/share/phplist/www/lists/config/config.php/20Bounces:

# Message envelope. This is the email that system messages come from # it is useful to make this one where you can process the bounces on # you will probably get a X-Authentication-Warning in your message # when using this with sendmail # NOTE: this is *very* different from the From: line in a message # to use this feature, uncomment the following line, and change the email address # to some existing account on your system # requires PHP version > "4.0.5" and "4.3.1+" without safe_mode $message_envelope = 'bounces@ledomaine.com';

TODO/Améliorations

Corriger les droits sur le fichier config.php de phplist

régler le soucis des logs d'envoi (accents mal encodés)

régler le soucis du lien [FORWARD] qui casse le lien