Mailwizz guide – How to install mailwizz ?

Mailwizz

What is mailwizz ?

Mailwizz is an web base email marketing application that are used to send bulk emails. Mailwizz is one of most use app for sending bulk emails. It has a lot of features, automated system, autoresponders, campaigns statistics report. Moreover, it has a tracking system to tarck emails , email open clicks, bounce rates, delivery rate. In the mailwizz, someone also can build template, edit template by mailwizz toggle builder.

Mailwizz is a premium app , you can purchase from mailwizz or from envato markets. ( one time fee $69).

How to install mailwizz ?

After getting mailwizz you have to install it on your operating system.

Mailwizz installation requirements:

1. A domain
2. VPS (virtual private server)
3. Linux Operating System.
4. Apache Web Server (latest version)
5. PHP>=7.2 (php>=7.2 for high delivery speed)
6. Linux Cron Jobs access

Need a domain ?

You need a domain to run your application on browser. You can purchase it from domain hosting companies in very cheap rate for 1 year.

Some companies that are providing domain service:

  • Godaddy
  • Namecheap
  • Freenome
  • Siteground

When you have domain , you need to point your VPS ip to your domain.

Now you need a VPS to intsall mailwizz because it’s an web base application. There are so cloud hosting many companies that are providing VPS.

VPS providing companies:

  • Digital ocean
  • Contabo
  • Hostwind
  • Ovh
  • Inter server

After purchasing vps , install Linux ubuntu latest version (20.04).

You can easily install it just by just a click on your vps server.

Tools required to access linux:

  1. Putty

2. Winscp or filezilla

Putty is a SSH client to access linux.

Winscp is a ftp, sftp files transfer software.

You can install these tools from google easily.

After getting putty, you need to enter your server IP ( VPS IP), after the connection established, you need to enter your username and password which you enter during Linux server installation.

In my case, my username is: root , then enter and write your password.

Ok now we have a VPS and a doamin , Now let’s start the mailwizz installation.

Step 1: Install Apache2 web server

Simply run these commands in putty,

sudo apt update 
sudo apt install apache2

It takes few seconds for the installation to finish, then run the following commands enable the Apache service.

sudo systemctl restart apache2.service 
sudo systemctl enable apache2.service

To test your apache server ,simply open any browser and write your IP (https://xxx.xxx.xxx)

Step 2: Intsall Mariadb mysql

Mailwizz is an php-script application that requires a database to save data. So, I choose mariadb mysql as my database.

Run the following commands for installation:

sudo apt-get install mariadb-server mariadb-client

To stop, start and enable MariaDB MySQL, run these commands below:

sudo systemctl stop mariadb.service 
sudo systemctl start mariadb.service 
sudo systemctl enable mariadb.service

After that, run the commands below to secure the MariaDB server by creating a root password.

sudo mysql_secure_installation

When prompted, answer the questions below by following the guide.

  • Enter current password for root (enter for none): Just press the Enter
  • Set a root password? [Y/n]: Y
  • New password: Enter your new password (create a secure one)
  • Re-enter new password: Repeat your new password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

Then, restart mariadb mysql servie.

sudo systemctl start mariadb.service

Step 3: Install PHP and Related Modules

 MailWizz is a PHP based script, we need to install PHP and some modules on our server. I will be installing PHP 7.2 in the commands.

sudo apt-get install python-software-properties
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

Then update,

sudo apt update

Next, install PHP 7.2 and related modules.

sudo apt-get install php7.2 apt-get install libapache2-mod-php7.2 php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-pspell php7.2-readline php7.2-soap php7.2-xml

After installing PHP 7.2, Open WinSCP to edit the php.ini file.

Open WinSCP and connect to your server using your server IP/Name and root credentials. Then navigate this directory: “/etc/php/7.X/apache2/” where you can find the “php.ini” configuration file.

Then make changes in the php.ini file on the following lines one by one in the file and save.

file_uploads = On 
allow_url_fopen = On 
short_open_tag = On 
memory_limit = 256M //You can increase this if you server can handle 
upload_max_filesize = 100M max_execution_time = 360 
date.timezone = America/NewYork //Set you Time Zone here

After applying the changes , save the file and Close. then Go to Putty again and restart apache service:

sudo systemctl restart apache2.service

Step 4: Create MailWizz Database

To login to the MariaDB MySql database server, run the commands below.

sudo mysql -u root -p

Then create a database, named Mailwizz.

CREATE DATABASE mailwizz;

Create a database user named MailWizz with a new password.

CREATE USER 'mailwizz'@'localhost' IDENTIFIED BY 'Enter_Password_Here';

Then grant the user full access to the database.

GRANT ALL ON mailwizz.* TO 'mailwizz'@'localhost' IDENTIFIED BY 'Enter_password_here' WITH GRANT OPTION;

Save your changes and exit.

FLUSH PRIVILEGES; 
EXIT;

Step 5: Setup Mailwizz

Now you just need to upload the Mailwizz Latest Folder to the server and run the installation. So follow up the following simple steps:

1. Zip The Mailwizz “latest” Folder that you will find when you download Mailwizz.

2. Upload “latest.zip to our server” in /var/www/html using WinSCP

3. Connect to your server using Putty SSH client.

4. Change Directory to /var/www/html using the following command:

   cd /var/www/html

5. Install the unzip tool using the following command, this will be used to unzip the “latest” folder.

sudo apt-get install unzip

6. Clear putty screen.

clear

7. Unzip the “latest.zip” file using the following command:

unzip latest.zip

8. Using WinSCP, Move the latest folder content to the root directory so it can be accessed directly.( just by drag and drop)

Then delete the html folder, and rename “latest” to html.

9. Start Mailwizz Installation by opening your web browser and opening the URL:

write your domain/install, just like my domain, chohan.me/install.

Configure Mailwizz

Install PHP extensions :

Run the following commands:

sudo apt install php-xml
sudo apt install php-mbstring
sudo apt install php-curl
sudo apt install php-zip
sudo apt install php-imap

Then Restart apache service,

sudo service apache2 restart

Good!

Now, click next, and Mailwizz installation will check for folder permissions, if you see any warning, then Open WinSCP and set the permission for each folder listed to 777.

You can also use Putty to set permissions with the chmod command:

sudo chmod -R 777 /folderpath

After setting permissions, refresh the page and check if everything is OK, then click Next.

In the Next Page Enter your Database info.

  • Hostname: Localhost
  • Port: 3306
  • Username: mailwizz 
  • Password: Enter your DB password.
  • Database name: mailwizz 

Then, click next and create admin account.

Good, we are almost done!

Setup Cron jobs:

Cron Jobs are scheduled tasks that run automatically upon a schedule.

Copy the cron jobs, Open WinSCP, and in the “/etc” directory you will find the “crontab” file. Edit it, and paste the jobs inside, then save.

Note: when you paste the jobs add “root” to the commands.

Example:

* * * * root /usr/bin/php -q /var/www/html/apps/console/console.php send-campaigns >/dev/null 2>&1

After edit and paste the jobs, save the file and close.

Good! Mailwizz is now successfully installed.

Secure your mailwizz URL: SSL certificate

SSL certificate is working within the web servers to encrypt the traffic b/w server and client. So, we are going to install Let’s encrypt that is the trusted certificate.

Again, open putty.

sudo add-apt-repository ppa:certbot/certbot

Press, Enter

Then, update the package.

sudo apt-get update

Install Certbot’s Apache package:

sudo apt install python-certbot-apache

Generating the SSL certificate for Apache using Certbot. The client will automatically obtain and install a new SSL certificate that is valid for the domains provided.

Simply run the following command: (change the domain)

 sudo certbot --apache -d your_domain

You will be asked to provide an email address for lost key recovery and notices, and you will be able to choose between enabling both http and https access or forcing all requests to redirect to https. It is usually safest to require https, unless you have a specific need for un-encrypted http traffic.

Excellent! Now your Mailwizz email marketing application is fully secured and installed.

Leave a Reply

Your email address will not be published. Required fields are marked *