设置PHPlist(开源通讯管理器)
版本1.0
作者:Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>
本文介绍如何在Fedora,CentOS,Ubuntu和Debian上设置PHPlist。 这个howto也应该适用于其他发行版,几乎没有修改。 从phplist页面:“phplist是一个开源的通讯经理,phplist可以免费下载,安装和使用,并且易于与任何网站集成,phplist每月下载超过10 000次,并列在顶级的开源项目,为Freshmeat活力评分,phplist由tincan赞助。
PHPlist有很多功能 - 请看http://www.phplist.com/details 。
这个howto是一个没有任何保证的实用指南 - 它不包括理论背景。 建立这样的系统有许多方法 - 这就是我选择的方式。
1初步说明
我至少建立了一个标准的LAMP系统和一个邮件服务器。 如果没有,你应该先看看我们的“虚拟用户和域名”howtos。 此外,您必须在Fedora / CentOS上安装PHP imap软件包(“ php-imap
”; Debian / Ubuntu上的“ php5-imap
”)。
2 Apache Vhost
2.1 Fedora / CentOS
我们将为phplist创建一个标准的vhost。
vi /etc/httpd/conf.d/vhosts.conf
它可能看起来像这样:
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>
接下来创建此vhost的文档根目录。
mkdir -p /var/www/www/web/
之后重新启动网络服务器。
service httpd restart
2.2 Ubuntu / Debian
我们将为phplist创建一个标准的vhost。
vi /etc/apache2/sites-available/phplist
它可能看起来像这样:
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>
接下来创建此vhost的文档根目录。
mkdir -p /var/www/www/web/
之后启用vhost并重新启动网络服务器。
a2ensite phplist
/etc/init.d/apache2 restart
3 MySQL用户和数据库
现在我们必须为PHPlist创建一个数据库...
mysqladmin -u root -p create phplist
...和该数据库的用户。
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注意
在第4步.3中,您将需要一个vlist的电子邮件地址,PHPlist将用于捕获所有反弹的邮件 - 在这个例子中,我将使用“ listbounces@example.com
”。 因此,为此特殊目的创建一个电子邮件地址并继续。
4.2得到它
请查看http://www.phplist.com/download ,以了解哪个是最新的稳定版本 - 当我写这个版本是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/
请注意,主页面(例如: http
: //www.example.com
)包含重定向到phplist页面的虚拟页面 - 您可能需要将其替换为您自己的网站。
4.3基本配置
vi /var/www/www/web/lists/config/config.php
4.3.1数据库设置
调整以下变量,使其适合您的设置(第3步)。
例如:
$database_name = "phplist";
$database_user = "phplist_admin";
$database_password = "youcl";
4.3.2弹跳
调整以下变量,使其适合您的设置(第4步.1)。
例如:
$message_envelope = "listbounces@example.com";
$bounce_mailbox_user = "listbounces@example.com";
$bounce_mailbox_password = "youcl";
4.3.3安全
调整以下变量。
$check_for_host = 1;
4.3.4调试
默认情况下启用测试模式,这意味着不会发送电子邮件,但系统假装这样做。 当您测试您的设置时,您必须稍后禁用此功能:
define("TEST",0);
4.3.5其他设置
请看看所有其他设置。 他们很好解释 - 也许你想改变一些设置。