What exactly is MailWizz?
Mailwizz is a self-hosted email marketing automation solution that you may use to create your own email marketing campaigns.
What is the best way to receive Mailwizz?
Mailwizz is a one-time payment PHP script, which means you just pay once and there are no ongoing payments.
What exactly does a self-hosted email marketing solution entail?
Any email marketing system has two components:
The sender:The technical aspect is (SMTP service). You may use it to send emails through the internet.
The Management Application allows you to setup and manage your Email Lists, Marketing Campaigns, track and analyze outcomes, and control your sending servers, among other things.
As a result, we integrate the two to create an Email Marketing System.
MailWizz will be the Management Application in our example.
In this guide, I’ll walk you through the process of setting up and customizing MailWizz, from acquiring a server to starting and configuring your first campaign.
MailWizz Installation
What is necessary to get MailWizz up and running?
Simply said, you’ll require:
- MailWizz must be installed on a VPS server.
- To utilize with our setup, we’ll need a domain name.
Purchase a domain name.
It’s as easy as eating a slice of chocolate cake to get a domain. You must purchase a domain name from any domain registrar firm such as Godaddy, Enom, Freenom, Namecheap, etc., and you can even obtain one for $1 per year.
I strongly advise you to register a.com domain that accurately portrays your company. If you already have one, as I believe you do, you can skip this step and move on to getting a VPS Server.
Get a virtual private server (VPS).
Let’s get our VPS server ready to install MailWizz on.
Which Company should I go with?
You may purchase a VPS Server from any firm; however, in this course, I will be utilizing DigitalOcean Cloud services.
You are free to utilize whatever VPS provider you like; the choice is yours!
You may also join up for DigitalOcean using the link below and get a free $100 credit to try things out.
So, once you’ve signed up for a VPS with Digital Ocean or another provider, just establish a server with the following specifications:
- As your operating system, choose Ubuntu 16/18 x64.
- You may begin with a single CPU and 1 GB of RAM (You can resize later).
Point Domain to VPS.
You must point your domain or subdomain to your VPS IP address before proceeding.
In my situation, I’ll establish a subdomain called “mailing.h-educate.net” and direct it to the IP address of my Contabo VPS.
Done?
Let’s get started with the installation now that we have a domain and a VPS server.
Use any SSH client, such as putty, to connect to your VPS server.
Let’s also set up Apache, PHP, and MySQL, which are required to host any PHP application, such as MailWizz.
*Note: You can receive a Server with all requirements installed from Digital Ocean or other providers; if this is the case, you may move forward to the section on building a MySQL Database (part 4).
I’m attempting to demonstrate everything here so that the Guide may handle any circumstance.
Amazon SES: Create Your Own Email Marketing System course.
Amazon SES: Create Your Own Email Marketing System! (opens in a new tab)”>
Amazon SES: Create Your Own Email Marketing System! (opens in a new tab)”>
Create Your Own Email Marketing System for 100x Less with Amazon Simple Email Service and MailWizz EMS!
Now I’ll teach you how to start from scratch if you have a fresh Ubuntu installation and go through each step manually.
Step 1: On Ubuntu, install the Apache2 Web Server.
Install Apache Web Server on Our VPS Server using the procedures shown below.
sudo apt update sudo apt install apache2
Wait a few seconds for the installation to complete before testing and enabling the Apache service using the instructions below.
sudo systemctl restart apache2.service sudo systemctl enable apache2.service
Open any web browser and go to the VPS IP address (http://YOUR SERVER IP) to see if Apache is operating on your server.
The Apache default page should look like this:

Step 2: Install MariaDB (MySQL) Database Server
MailWizz is similar to any other PHP system that saves data in a database. As a result, we’ll use the MariaDB Mysql Database system.
Run the commands following to install MariaDB:
sudo apt-get install mariadb-server mariadb-client
The instructions below can be used to stop, start, and allow MariaDB MySQL service to start up automatically when the server powers up.
These should work on Ubuntu 16.04 LTS.
sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl enable mysql.service
These will work on Ubuntu 18.04 and 18.10 LTS.
sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
Then, to protect the MariaDB server, use the instructions below to create a root password and disable remote root access.
sudo mysql_secure_installation
Follow the instructions to answer the questions below when asked.
- Enter the current root password (no password): Simply hit the Enter key.
- Have you created a root password? [Y/n]: Y
- Password has been changed: Fill in your new password (create a secure one)
- Replace the old password with the new one: Recite your new password to yourself.
- Is it possible to get rid of anonymous users? [Y/n]: Y
- Is it possible to disable root login from afar? [Y/n]: Y
- Is it possible to remove the test database and all access to it? [Y/n]: Y
- Do you want to reload the privilege tables right now? [Y/n]: Y
Restart MariaDB Mysql service
To see if MariaDB is installed, login to the MariaDB server with the instructions following.
sudo mysql -u root -p
Then, to sign on, type the password you created earlier… If everything went well, you should see something like this:

Step 3: Install PHP and Related Modules
We’ll need to install PHP and several modules on our server because MailWizz is a PHP-based software. In this article, I’ll be installing PHP 7.1, but you may use any version you like; simply replace “7.1” to “7.X” in the commands.
To update to PHP 7.1, use the scripts below to add the third-party repository.
udo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php
After that, upgrade to PHP 7.1.
sudo apt update
Then, to install PHP 7.2 and necessary modules, perform the scripts following.
sudo apt install php7.1 libapache2-mod-php7.1 php7.1-common php7.1-gmp php7.1-curl php7.1-intl php7.1-mbstring php7.1-xmlrpc php7.1-mysql php7.1-bcmath php7.1-gd php7.1-xml php7.1-cli php7.1-zip php7.1-imap
Open WinSCP to modify the php.ini file after installing PHP 7.1.
WinSCP is a free remote visual file manager that operates through SSH, making file management and editing much simpler than using putty.
Connect to your server with WinSCP using your server’s IP/Name and root credentials. Then go to the “/etc/php/7.X/apache2/” directory, where you’ll find the “php.ini” configuration file.

Edit “php.ini” by right-clicking on it.
Then save the file after making the modifications to the lines below.
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
Save and close the file after making the modifications described above. then Return to Putty and restart the Apache service:
sudo systemctl restart apache2.service
Step 4: Create MailWizz Database
Now that all of the requirements have been installed and our server is ready for installation, we must build a MailWizz database in MariaDB.
Run the instructions below to connect to the MariaDB MySql database server.
sudo mysql -u root -p
Create a database called MailWizz after that.
CREATE DATABASE mailwizz;
Create a MailWizz database user with a new password.
CREATE USER 'mailwizz'@'localhost' IDENTIFIED BY 'Enter_Password_Here';
Then provide the person complete database access.
GRANT ALL ON mailwizz.* TO 'mailwizz'@'localhost' IDENTIFIED BY 'Enter_password_here' WITH GRANT OPTION;
Finally, save and quit your adjustments.
FLUSH PRIVILEGES; EXIT;
Step 5: Setup Mailwizz.
Now that we’ve got everything set up, all you have to do is upload the MailWizz Latest Folder to the server and execute the installation. As a result, take the following easy steps:
1 zipped When you download MailWizz, you’ll find it in the “latest” folder.
2- Using WinSCP, upload “latest.zip to our server” to /var/www/html.
3- Use the Putty SSH client to connect to your server.
4- Use the following command to change the directory to /var/www/html:
cd /var/www/html
5- Run the following command to install the unzip program, which will be needed to unzip the “latest” folder.
sudo apt-get install unzip
6- Clean up the putty screen with the command:
clear
7- Run the following command to unzip the
unzip latest.zip
8- Using WinSCP, move the content of the latest folder to the top directory so it may be accessible directly. (Using WinSCP, simply drag and drop)

Then rename “latest” to html and remove the html folder.
The MailWizz files are now located in the html folder.
9- Begin the MailWizz installation process by going to the following URL in your web browser: Your Domain/install (for example, mailing.h-educate.net/install in my instance)
Configure MailWizz to your liking.
Now, enter your purchase code, accept the terms, and go to the next step.

Install the PHP extensions that MailWizz requires.
If any PHP extensions are flagged in red or yellow (as seen in the image below), you must first install them before proceeding:

Simply execute the instructions below:
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, using the following command, restart the Apache service:
sudo service apache2 restart
Now, click next, and MailWizz will check for folder permissions. If any warnings appear, open WinSCP and change the rights for each folder specified to 777.

The chmod command in Putty may also be used to set permissions:
sudo chmod -R 777 /folderpath
After you’ve established all of the permissions, refresh the page to make sure everything is working properly, and then click Next.
On the next page, fill in your database information, as follows:
- Hostname: Localhost
- Port: 3306
- Username: MailWizz (review step 4)
- Password: Enter Your DB Password (review step 4)
- Database name: MailWizz (review step 4)
Next, create your admin account by clicking Next.
We’re almost done, which is fantastic! ✔️
Setup Cron Jobs
Congratulations! Now that we’ve completed the installation, MailWizz is up and running. All that’s left is to put up the Cron jobs.
What are Cron Jobs, exactly?
Simply said, Cron Jobs are scheduled tasks that run on a regular basis.
For instance, suppose you designed a weekly email campaign that runs automatically. To initiate this campaign, you’ll need a task to run in the background automatically; this is where Cron jobs come in, so let’s get started.
To make things easier for you, simply copy and paste the jobs you see in the setup into your server.

Where should they be pasted?
Open WinSCP and look for the “crontab” file in the “/etc” directory. Then save it after editing it and pasting the tasks inside.

Important Note: When pasting the tasks, make sure to include “root” to the instructions so that they execute as root on your VPS. Example:
* * * * root /usr/bin/php -q /var/www/html/apps/console/console.php send-campaigns >/dev/null 2>&1

Have you duplicated your cronjobs? Save the document. 
That concludes our discussion. Have fun with MailWizz! 
That’s it!
Test our website now.
Good Luck!
Please let me know in the comments section below ♥