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:
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
- 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:
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.
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
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:
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.
7. Unzip the “latest.zip” file using the following command:
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.
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
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.
* * * * 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
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
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
Excellent! Now your Mailwizz email marketing application is fully secured and installed.