Setting Up PHPlist (Open-Source Newsletter Manager)
|
Submitted by o.meyer (Contact Author) (Forums) on Sun, 2008-05-25 17:48. :: CentOS | Debian | Fedora | Ubuntu | PHP
Setting Up PHPlist (Open-Source Newsletter Manager)Version 1.0 This document describes how to set up PHPlist on Fedora, CentOS, Ubuntu and Debian. This howto should also work for other distributions with little modifications. Taken from the phplist page: "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 has a great many features - please have a look at http://www.phplist.com/details. This howto is a practical guide without any warranty - it doesn't cover the theoretical backgrounds. There are many ways to set up such a system - this is the way I chose.
1 Preliminary NoteI asume that you've at least set up a standard LAMP system and a mailserver. If not, you should first take a look at our "Virtual Users And Domains" howtos. Additionally you have to install the PHP imap package ("php-imap" on Fedora/CentOS; "php5-imap" on Debian/Ubuntu).
2 Apache Vhost2.1 Fedora/CentOSWe'll create a standard vhost for phplist. vi /etc/httpd/conf.d/vhosts.conf It could look like this: 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>
Next create the document root for this vhost. mkdir -p /var/www/www/web/ After that restart the webserver. service httpd restart
2.2 Ubuntu/DebianWe'll create a standard vhost for phplist. vi /etc/apache2/sites-available/phplist It could look like this: 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>
Next create the document root for this vhost. mkdir -p /var/www/www/web/ After that enable the vhost and restart the webserver. a2ensite phplist
3 MySQL User & DatabaseNow we have to create a database for PHPlist ... mysqladmin -u root -p create phplist ... and a user for this database. mysql -u root -p GRANT CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SELECT, INSERT, UPDATE, DELETE ON phplist.* TO 'phplist_admin'@'localhost' IDENTIFIED BY '%phplist_admin_password%'; quit;
4 PHPlist4.1 NoteIn step 4.3 you'll need a vaild email address that will be used by PHPlist to catch all bounced mails - in this example I'll use "listbounces@example.com". So create an email address for this special purpose and proceed.
4.2 Get ItPlease have a look at http://www.phplist.com/download to find out which is the latest stable version - when I was writing this howto it was version 2.10.5. cd /tmp/ Please note that the main page (e.g.: http://www.example.com) contains a dummy page that redirects to the phplist page - you might want to replace it with your own website.
4.3 Basic Configurationvi /var/www/www/web/lists/config/config.php
4.3.1 Database SettingsAdjust the following variables so that they fit to your setup (step 3). E.g.: $database_name = "phplist";
4.3.2 BouncesAdjust the following variables so that they fit to your setup (step 4.1). E.g.: $message_envelope = "listbounces@example.com";
4.3.3 SecurityAdjust the following variable. $check_for_host = 1;
4.3.4 DebugThe test-mode is enabled by default which means that no emails will be sent, but the system pretends to do so. You have to disable this later, when you tested your setup: define("TEST",0);
4.3.5 Other SettingsPlease have a look at all the other settings. They are well explained - maybe you want to change some settings.
|




print: 
Recent comments
10 hours 19 min ago
11 hours 16 min ago
11 hours 28 min ago
17 hours 33 min ago
20 hours 2 min ago
21 hours 13 min ago
1 day 27 min ago
1 day 1 hour ago
1 day 2 hours ago
1 day 5 hours ago