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.