PHPlist aufsetzen

Version 1.0
Author: Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>

Diese Anleitung veranschaulicht, wie man PHPlist auf Fedora, CentOS, Ubuntu und Debian aufsetzt. Sie sollte aber mit geringfügigen Änderungen auch auf andere Distributionen passen.

Von der phplist Seite: „phplist is an open-source newsletter manager. phplist is free to download, install and use, and is easy to integrate with any website. phplist is downloaded more than 10 000 times per month and is listed in the top open source projects for vitality score on Freshmeat. phplist is sponsored by tincan.“

PHPlist hat viele Funktionen – sieh Dir bitte dies an: http://www.phplist.com/details.

Diese Anleitung ist ein praktischer Leitfaden ohne jegliche Gewähr – theoretisches Hintergrundwissen wird nicht abgedeckt. Es gibt viele Möglichkeiten ein solches System einzurichten – dies ist der Weg, den ich gewählt habe.

1 Vorbemerkung

Ich gehe davon aus, dass Du zumindest ein Standard LAMP System und einen Mail Server aufgesetzt hast. Wenn nicht, solltest Du Dir zuerst unsere „Virtuelle Benutzer und Domains“ – Howtos ansehen. Außerdem musst Du das PHP Imap Paket installieren („php-imap“ auf Fedora/CentOS; „php5-imap“ auf Debian/Ubuntu).

2 Apache Vhost

2.1 Fedora/CentOS

Wir erstellen einen Standard vhost für phplist.

vi /etc/httpd/conf.d/vhosts.conf

Es könnte wie folgt aussehen:

NameVirtualHost 192.168.0.100:80
<VirtualHost 192.168.0.100:80>
    ServerName www.example.com
    ServerAdmin admin@example.com
    DocumentRoot /var/www/www/web

    LogLevel warn
    ErrorLog logs/www_error.log
    CustomLog logs/www_access.log combined

</VirtualHost>

Erstelle als Nächstes den Dokumenten-Root für diesen vhost.

mkdir -p /var/www/www/web/

Starte danach den Web Server neu.

service httpd restart

2.2 Ubuntu/Debian

Wir erstellen einen Standard vhost für phplist.

vi /etc/apache2/sites-available/phplist

So könnte es aussehen:

NameVirtualHost 192.168.0.100:80
<VirtualHost 192.168.0.100:80>

    ServerName www.example.com
    ServerAdmin admin@example.com
    DocumentRoot /var/www/www/web

    LogLevel warn
    ErrorLog /var/log/apache2/www_error.log
    CustomLog /var/log/apache2/www_access.log combined

</VirtualHost>

Erstelle als Nächstes den Dokumenten-Root für diesen vhost.

mkdir -p /var/www/www/web/

Aktiviere danach den vhost und starte den Web Server neu.

a2ensite phplist
/etc/init.d/apache2 restart

3 MySQL Benutzer & Datenbank

Nun müssen wir für PHPlist eine Datenbank erstellen …

mysqladmin -u root -p create phplist

… und einen Benutzer für diese.

mysql -u root -p

sql_root_password%

GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON phplist.* TO ‚phplist_admin’@’localhost‘ IDENTIFIED BY ‚%phplist_admin_password%‘;
GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON phplist.* TO ‚phplist_admin’@’localhost.localdomain‘ IDENTIFIED BY ‚%phplist_admin_password%‘;
FLUSH PRIVILEGES;

quit;

4 PHPlist

4.1 Notiz

In Schritt 4.3 brauchst Du eine gültige E-Mail Adresse, die von PHPlist verwendet wird, alle zurückgewiesenen E-Mails abzufangen – in diesem Beispiel verwende ich „listbounces@example.com“. Also lege eine E-Mail Adresse für diesen besonderen Zweck an und fahre fort.

4.2 Version Beziehen

Sieh Dir bitte http://www.phplist.com/download an um herauszufinden, welche die neuste stabile Version ist – als diese Anleitung verfasst wurde, war es die Version 2.10.5.

cd /tmp/
wget http://mesh.dl.sourceforge.net/sourceforge/phplist/phplist-2.10.5.tgz
tar xvfz phplist-2.10.5.tgz
cp -R /tmp/phplist-2.10.5/public_html/* /var/www/www/web/

Bitte beachte, dass die Hauptseite (z.B.: http://www.example.com) eine Dummy-Seite beinhaltet, die auf die phplist Seite verweist – Du möchtest diese sicherlich mit Deiner eigenen Webseite ersetzen.

4.3 Basiskonfiguration

vi /var/www/www/web/lists/config/config.php

4.3.1 Datenbank Einstellungen

Passe folgende Variablen so an, dass sie Deinem Setup entsprechen (Schritt 3).

Z.B.:

$database_name = „phplist“;
$database_user = „phplist_admin“;
$database_password = „howtoforge“;

4.3.2 Bounces

Passe folgende Variablen so an, dass sie Deinen Setup entsprechen (Schritt 4.1).

Z.B:

$message_envelope = „listbounces@example.com“;
$bounce_mailbox_user = „listbounces@example.com“;
$bounce_mailbox_password = „howtoforge“;

4.3.3 Sicherheit

Passe folgende Variable an.

$check_for_host = 1;

4.3.4 Debug

Der Test-Modus ist standardmäßig aktiviert, was bedeutet, dass keine Mails gesendet werden, allerdings wird das System anzeigen, als ob es etwas gesendet hätte. Du musst dies später deaktivieren, wenn Du Dein Setup getestet hast:

define(„TEST“,0);

4.3.5 Andere Einstellungen

Sieh Dir bitte alle anderen Einstellungen an. Sie sind gut erklärt – vielleicht möchtest Du einige Einstellungen ändern.

Das könnte dich auch interessieren …