Here at MUO, we’ve covered a lot about creating a mailing list and a newsletter. James described a useful online service called Zotero for using a mailing list. Steve offered two great online services that you could use to distribute a newsletter. However, In all of these cases, you are dependent upon another online service – most of which are not usually free.
Enter PHPList. You’ve heard of PHPList on Directory – at least the hosted option anyway. Once again, this is an online service that you pay for, where you can set up a mailing list on your website. Someone else hosts the service and the list, and you have to pay a monthly fee. But you can actually download PHPList for absolutely free and install it on your own web server. The folks at PHPList will charge hundreds to install and configure the service for you, but in all honesty if you’ve ever installed WordPress or other PHP apps on your server before, this one isn’t a whole lot different. You can do it yourself.
Installing PHPList On Your Own Web Server
What’s the benefit of installing the script on your own server? Well, number one, your entire list and everything associated with the subscriptions and newsletter are stored somewhere that you control. It’s also free.
First, download a free copy of PHPList, and save it to your PC. Just as when you install WordPress, using phpMyAdmin, or whatever utility your web host uses to create a new SQL Database, add a new database called “phplistdb” and then add a new user “phplist” with password “phplist“, and grant all rights to the phplistdb database.
In the downloaded Zip file, you’ll find a “public_html” folder with an index.html file and a “lists” folder. Upload these to the sub-directory on your web server (in the public folder) where you want to store your PHPLists script. Before you upload, go in and make sure to edit the config.php file in /lists/config/.
The important settings are toward the top of the config.php file. Just make sure that the database name, user ID and password are the same as the ones you used when you set up the database. Another important setting is $pageroot and $adminpages – make sure those point to the correct directory where you uploaded the “lists” directory.
If you’ve set up the database and the config file correctly, when you open up “http://<your-domain>/subscriptions/lists/” , the script will open up the page where you can run the PHPlist install script. I’ve used “subscriptions” in this case, but you’ll use whatever sub-directory where you uploaded the script.
Click to install PHPList, and you’ll see the script populate all of the tables in the PHPlist database you created.
Once that’s done, click on “main page“, and then click on “Setup phpList” on the next screen.
This next screen makes it ridiculously easy to set up phpList to run on your server. All you have to do is go through each item on the list. The procedure walks you through everything.
On the page configuration pages, you can customize just about everything that the users see during the subscription process.
Customizations include the general formatting of the “subscribe me” page, as well as where people are forwarded after successfully subscribing – allowing you to offer a “thank you for subscribing” page that you’ve built yourself.
As you can see above, nothing is set in stone. Want the header of the subscription page to look just like your own site, go ahead and edit the “header” code to your liking.
Keep in mind that you don’t have to do all of this customization. You can install, set up and run phpList right out of the box without any customization. All you have to do is create a “subscribe” link on your site, and send visitors to the /lists/ directory – they’ll see the sign-up page where they can enter in their email address to subscribe to your newsletter.
All information gets stored on your server, not some service where everything gets stored out on the “cloud” somewhere. They subscribe and get forwarded directly to the “thank you” page.
There is one caveat to keep in mind – the script needs the ability to send email on your server. It can use SMTP if you configure it in the config file, but it can take some work to get it to send if you don’t use the standard port 25. There are lots of help forums out there that can help with this setup, but just keep it in mind if you hit a brick wall. You may also need to work closely with your web host service so that your account has the appropriate permissions to send out mail. Or you can set up the system on your own web server and open up the right port yourself.
So, give phpList a try and see what it’s like to control your own subscriber list. You’ll never have to worry about losing the list that you worked so hard to build – you can export and save that list so that you’ll always have it. Let us know what you think of the service, and whether you know of any similar newsletter scripts that work as well on a web server.