Tutorial installazione phplist su Linux

Tempo di lettura: 3 minuti

phpList è un pacchetto script in php opensource che permette di mettere su una mailing list via web. In questi giorni mi sono dovuto imbattere nell’installazione e configurazione su un server Linux remoto (con LAMP) dalla mia macchina client Windows, ecco la mia diretta esperienza…

Come requisiti di base phplist richiede O.S. GNU/Linux, server web Apache, MySQL 4.x o superiori, PHP 4.3.x o superiori.
Phplist gira anche su Windows con Apache, PHP e MySQL (viene raccomandato XAMPP) vedere documentazione phplistIIS.

Suggerimento: non perdere l’articolo-tutorial Email marketing a costo zero con phpList!

Per prima cosa dopo aver acceduto in remoto ad una macchina linux tramite SSH (in particolare tramite il noto client free putty) con credenziali di root (amministratore) occorre creare un database vuoto e un db user da utilizzare nel file di configurazione di phplist.

Da console remota ho creato il database chiamato “phplist”:
mysqladmin -h localhost -u root -ppassword create phplist

Ho poi creato nuovo utente e dato tutti i permessi relativamente al db “phplist” appena creato:

GRANT ALL ON phplist.* TO 'admin'@'localhost' IDENTIFIED BY 'phplistpassword ' WITH GRANT OPTION;

dove admin è il db utente e phplistpassword la relativa password (localhost è ovviamente la macchina linux locale)

Mi sono quindi disconnesso da Putty, ho scaricato da qui l’ultima versione di phplist (v2.10.5) nel mio caso il file .zip e decompressa sul desktop.

Verrà creata la cartella “phplist-2.10.5” con dentro tutti i files. Prima di procedere con il caricamento sul server web occorre innanzitutto configurarlo a dovere.
Aprire il file config.php presente dentro la cartella public_html/lists/config ed andare ad editare le seguenti righe in base a come abbiamo precedentemente impostato il db:

$language_module = "italian.inc"; (per impostare la lingua italiana nella parte frontend)
$database_host = "localhost"; (dove risiede il database mySQL)
$database_name = "phplist"; (il nome del database, nel nostro caso phplist)
$database_user = "admin"; (il nome del db user, nel nostro caso admin)
$database_password = 'phplistpassword'; (la pwd del db user, nel nostro caso phplistpassword)

Opzionalmente si possono editare le seguenti righe cambiando al posto di “lists” il nome che poi identifica la directory radice di phplist che verrà caricata nel server:

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

Infine per togliere la modalità “testing mode” editare nel seguente modo questa riga presente un po più sotto (ciò permetterà l’effettivo funzionamento di phplist)

define ("TEST",0); (originariamente è impostato ad 1)

Possiamo poi mettere anche la parte di amministrazione in italiano. Aprire il file languages.php contenuto all’interno di public_html/lists/admin e decommentare eliminando il simbolo # alla riga:

"it"=>array("Italian "," iso-8859-1, windows-1252 "),

Se poi quando si andrà a browsare l’indirizzo di phplist ovvero http://www.sito.com/phplist o la parte admin http://www.sito.com/phplist/admin si incorre in un errore Not set or found: Array occorre anche andare a modificare un’altra parte dello stesso file, sostituire questa intera parte:

function phplist_I18N() {
$this->basedir = dirname(__FILE__).'/lan/';
if (isset($_SESSION['adminlanguage']) && is_dir($this->basedir.$_SESSION['adminlanguage']['iso'])) {
$this->language = $_SESSION['adminlanguage']['iso'];
} else {
print "Not set or found: ".$_SESSION['adminlanguage'];
exit;
}
}

con questa:

function phplist_I18N() {
$this->basedir = dirname(__FILE__).'/lan/';


if (isset($_SESSION['adminlanguage']) && is_dir($this->basedir.$_SESSION['adminlanguage']['iso'])) {
$this->language = $_SESSION['adminlanguage']['iso'];
} else {
$_SESSION['adminlanguage'] = array(
"info" => 'en',
"iso" => 'en',
"charset" => $LANGUAGES['en'][1],
);
if (!is_dir($this->basedir.$_SESSION['adminlanguage']['iso'])) {
print "Not set or found: ".$_SESSION['adminlanguage'];
exit;
}
else
$this->language = $_SESSION['adminlanguage']['iso'];
}
}

Scarichiamo poi da questo sito i files veri e propri tradotti in italiano, avremo tre parti, cartelle LAN, INFO, HELP.
Estrarre le rispettive cartelle “it” dentro LAN, INFO e HELP presente dentro public_html/lists/admin.

Posso quindi caricare tutta la cartella lists tramite FTP (utilizzando l’ottimo client free Filezilla) nel server Linux (nella cartella htdocs per antonomasia dove vengono “pubblicati” i files sul web da Apache) e col browser in locale sul mio client Windows puntare al seguente indirizzo per inizializzare phplist ed il relativo db: http://www.sito.com/lists/admin
Se si incorre in errori consultare i siti di supporto elencati sotto, comunque in generale potrebbe essere dovuto ad un’errata configurazione dei files .htaccess oppure dei permessi sul server, oppure verificare che punti a http://www.sito.com/lists/admin/index.php e per la parte frontend http://www.sito.com/lists/index.php)
Una volta correttamente acceduti si avrà la pagina di admin già in italiano con i campi di username e password per accedere al pannello di amministrazione (lo username è “admin” e la password “phplist”, che poi per ragioni di sicurezza potrà essere cambiata successivamente); per accedere alla parte frontend puntare a http://www.sito.com/phplist

Link utili:

Documentazione ufficiale
Forum ufficiale
FAQ ufficiali

Support This Site

If you like what I do please support me on Ko-fi

Unisciti al gruppo Telegram

Subscribe
Notificami
guest

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

15 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Angelo
15 anni fa

Ciao, la tua è la guida per l' installazione di phplist più completa che ho trovato.

Tuttavia, puntando a http://www.sito.com/lists/index.php

e anche per l' installazione, con Tophost mi dà errore 500.

Quindi il problema è o nei permessi o nell' htaccess.

Mi dici per prima cosa per quali cartelle devo modificare i permessi? e poi 755 o 777? Ciao e grazie ancora per la tua guida.

Angelo
15 anni fa

Purtroppo continua a non andare… mi sa che aprirò anche io un ticket tophost 😀

Angelo
15 anni fa

allora… per i posteri: se incorrete nel mio stesso errore, vi basta aggiungere un cancelletto all' ultima riga dell' htaccess situato in /lists/

Ciao! :mrgreen:

Angelo
15 anni fa

…davanti all' ultima riga! 😀

max
max
10 anni fa
Reply to  Angelo

Come funziona phplist ti trovi bene?

gabriele
gabriele
15 anni fa

Ciao e Grazie per il prezioso aiuto.
:mrgreen:

Stefano
Stefano
15 anni fa

Grazie della spiegazione. L’unica cosa che non va nella traduzione in italiano è nella pagina di admin li lista dei messaggi. Vedo la pagina bianca. Invece se entro in inglese la vedo correttamente.
Dov’è l’errore, grazie

max
max
15 anni fa

il problema relativo alla pagina

admin/?page=messages

su alcuni server lo fa su altri no.

per tutti coloro che vedono una pagina vuota basta editare

il file /admin/lan/it/messages.php

e modificare il secondo rigo

$lan = array (

con

$lan = array(

in pratica senza lo spazio e tutto funzionerà.

paolo
paolo
14 anni fa

@ Angelo:

salve,

in questi giorni sto provando a installare php…ho seguito tutto il tutorial e ho avuto il problema anch'io dell'errore 500, ho inserito il cancelletto, ma continua a darmi errore 500!!

😥

qualche altro suggerimento?

grazie

Alex
13 anni fa

Il # canceletto bisogna inserirlo all'inizio dell'ultima riga del file .htaccess presente in lists. 😉