phpList is an Open Source newsletter and email marketing software, which means it is free to download and use. There is a large community of users who contribute to the development, security, and reliability of phpList. In this guide, we will install and configure phpList on Ubuntu 18.04 server.
Features of phpList
- It is feature-rich – You can create beautiful HTML campaigns using a web interface.
- A powerful list manager with flexible integration: Import and manage complex data: use CSV files to import information about your subscribers.
- Intelligent: Analyse your campaigns with phpList’s inbuilt statistics, Google Analytics or Open Source Piwik.
- Easy import and export of subscriber data from any source
- Economical and Scalable: Use the trial account: send 300 messages a month – for free, forever. Prices for basic accounts start at US$1 per month
Install phpList on Ubuntu 18.04
phpList has the following software dependencies:
- MySQL or MariaDB database
- Apache Web Server
- PHP
Step 1: Install PHP and required extensions
Install PHP and required php extensions by running the following command:
sudo apt -y install apache2 php php-pear php-cgi php-common libapache2-mod-php \ php-mbstring php-net-socket php-imap php-gd php-xml-util php-mysql php-gettext php-bcmath
Step 2: Install and Configure MariaDB
Next requirement is a database server, for this, we’ll use MariaDB. Install MariaDB on your Ubuntu server using the guide below
Install MariaDB 10.x on Ubuntu 18.04 and CentOS 7
When done with the installation, create a database and dedicated database user for phpList.
$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 520 Server version: 10.3.9-MariaDB-1:10.3.9+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> CREATE DATABASE phplist; Query OK, 1 row affected (0.001 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON phplist.* to 'phplist'@'localhost' IDENTIFIED BY 'StrongPassword'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> quit Bye
Step 3: Download and Install phpList
Download the latest release of phpList using the link http://www.phplist.com/download. As of the writing of this article, the latest version is 3.3.3
Download and extract the archive.
export VER="3.3.3" wget https://sourceforge.net/projects/phplist/files/phplist/${VER}/phplist-${VER}.tgz tar xvf phplist-${VER}.tgz
Move the folder public_html/lists/
to the /var/www
directory.
sudo mv phplist-${VER}/public_html/lists/ /var/www/phplist
Edit the phpList config.php file to configure database connection.
sudo vim /var/www/phplist/config/config.php
Set like below:
*/ // what is your Mysql database server hostname $database_host = 'localhost'; // what is the name of the database we are using $database_name = 'phplist'; // what user has access to this database $database_user = 'phplist'; // and what is the password to login to control the database $database_password = 'StrongPassword';
Feel feel to explore other settings in the file. When done save and exit.
Configure Apache for phpList
Create new Apache VirtualHost configuration for phpList
$ sudo vim /etc/apache2/sites-enabled/phplist.conf <VirtualHost *:80> ServerName phplist.example.com ServerAdmin [email protected] DocumentRoot /var/www/phplist/ DirectoryIndex index.php index.html LogLevel warn ErrorLog /var/log/apache2/phplist_error.log CustomLog /var/log/apache2/phplist_access.log combined </VirtualHost>
Check apache configuration syntax
$ sudo apachectl -t Syntax OK
Change directory ownership permissions and restart apache
sudo chown -R www-data:www-data /var/www/phplist
Populate Database
Visit http://phplist.example.com/admin/ to finish the installation. Click the link on “Database has not been initialized. go to Initialise Database to continue” message.
Next, create a user to manage phpList
You have now finished the installation, and the next step is the configuration.
[…] Install phpList Open Source newsletter and email marketing software on Ubuntu 18.04 […]