======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
# 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
La page d'administration de PHPList est accessible par cette url : http:///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);