Table des matières

Installation de PHPList

Cette page décrit la manière d'installation de PHPListe sur uune distribution linux SME Server.

PHPList est un portail web permettant le “publipostage”. Cela consiste à envoyer massivement des e-mails à une liste d'abonnées.

Procédure

Téléchargez l'archive sur le site de PHPList

wget http://puzzle.dl.sourceforge.net/project/phplist/phplist/2.10.12/phplist-2.10.12.tgz

Décompressez le fichier et déplacez le répertoire public_html dans le répertoire web de apache

tar xvf phplist-2.10.12.tgz
mv public_html/ /opt/phplist

Création de la base de données "phplistdb"

CREATE DATABASE `phplistdb` ;

On donne les droits nécessaires à l'utilisateur

GRANT SELECT ,
INSERT ,
UPDATE ,
DELETE ,
CREATE ,
DROP ,
FILE ,
INDEX ,
ALTER ,
CREATE TEMPORARY TABLES ,
CREATE VIEW ,
SHOW VIEW ,
CREATE ROUTINE,
ALTER ROUTINE,
EXECUTE ON phplistdb.* TO 'phplist'@'localhost' identified by 'your_password'

A cet instant, nous avons un user “phplist” qui possède uniquement des droits sur la base “phplistdb”.

Configuration de phplist

Dans le fichier de configuration list/config/config.php, renseignez les informations suivantes :

$database_name = "phplistdb";
$database_user = "phplist";
$database_password = "your_password";
 
define ("TEST",0);

Création d'un template custom dans SME, pour créer un alias PHPList

Créer un fichier de template custom dans le répertoire /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf :

vim /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/87PHPListAlias
# PhpList Alias
Alias /phplist /opt/phplist
<Directory /opt/phplist>
#     SSLRequireSSL
    Options -Indexes
    AllowOverride None
    order deny,allow
 
{
my $access = 'public';
if ("$access" eq "private")
    {
    $OUT .= "    allow from $localAccess $externalSSLAccess";
    }
    elsif ("$access" eq "public")
    {
    $OUT .= "    allow from all";
    }
}
    AuthName "phplist"
    AuthType Basic
    AuthExternal pwauth
    require user admin
    Satisfy all
    AddType application/x-httpd-php .php .php3
</Directory>

La page d'administration de PHPList est accessible par cette url : http://<host>/phplist/lists/admin/

Configuration et Sécurité

Création d'un utilisateur "bounce"

Pour le bon fonctionnement de PHPList, il faut une boîte mail bounce@domain.tld.

Pour cela, dans SME, creez un utilisateur “bounce”.

A partir de cet instant, s'assurer que le pop3 soit activé en local minimum, afin que PHPList puisse lister checker cette boîte mail.

Configuration de l'user bounce dans config.php

Modifier le fichier de configuration comme ceci :

# Handling bounces. Check README.bounces for more info
# This can be 'pop' or 'mbox'
$bounce_protocol = 'pop';
 
# set this to 0, if you set up a cron to download bounces regularly by using the
# commandline option. If this is 0, users cannot run the page from the web
# frontend. Read README.commandline to find out how to set it up on the
# commandline
define ("MANUALLY_PROCESS_BOUNCES",1);
 
# when the protocol is pop, specify these three
$bounce_mailbox_host = 'localhost';
$bounce_mailbox_user = 'bounce@pi3rrot.tk';
$bounce_mailbox_password = 'Bounce33;';
 
$message_enveloppe = 'bounce@pi3rrot.tk';
 
# the "port" is the remote port of the connection to retrieve the emails
# the default should be fine but if it doesn't work, you can try the second
# one. To do that, add a # before the first line and take off the one before the
# second line

#$bounce_mailbox_port = "993/imap/ssl"; //changement manuel
$bounce_mailbox_port = "110/pop3";

Désactiver l'authentification intégrée à PHPList

Nous allons utiliser l'authentification de Apache en Basic pour accèder à la page d'administration de PHPList

Il faut modififier dans le fichier config.php :

# set this to 1 if you want PHPlist to deal with login for the administrative
# section of the system
# you will be able to add administrators who control their own lists
# default login is "admin" with password "phplist"
#
$require_login = 0

Permettre l'envoi directe de messages en attente

Il est possible de planifier l'envoi d'un message à une liste, où de choisir de tout envoyer par la fonction “Traitement de la file d'attente”.

Cette fonction envoie tout les messages, sans se soucier de la date à laquelle elle à été programmé.

# If you set up your system to send the message automatically, you can set this value
# to 0, so "Process Queue" will disappear from the site
# this will also stop users from loading the page on the web frontend, so you will
# have to make sure that you run the queue from the commandline
# check README.commandline how to do this
define ("MANUALLY_PROCESS_QUEUE",1);