Install Acelle Mail on Ubuntu 20.04 VPS with Virtualmin & Nginx

Configure an Unmanaged VPS with Virtualmin and Nginx, then install Acelle the Email Marketing Web Application

Acelle Mail is a web application for email marketing. It can be used to manage email lists, collect new email leads, design and schedule email campaigns. Basically, it can automate most of the difficult tasks, which otherwise will be very time-consuming. We’re going to show you how to install Acelle on Ubuntu 20.04 VPS with this tutorial.

Prerequisites

Acelle Mail is a self-hosted application. Which means it requires hosting space. Acelle performs best (In terms of sending speed and loading time) when it’s hosted on an Unmanaged VPS. If you don’t have an Unmanaged VPS already, you can rent one from our recommended unmanaged VPS providers. You’ll also need a domain name, which you can get from NameCheap. If you already have a domain name, you can use a subdomain of it. But if you decide you need a brand-new domain for your email marketing, remember to read our guide on selecting a domain name for your email marketing.

Once you have a domain and a VPS ready. You can start installing Acelle on VPS by completing the following steps,

Above steps perpare your Unmanaged VPS to host web applications. It is essential that you complete them all before moving to the next step.

Install Composer on VPS for Acelle Mail

The PHP dependency manager, Composer, makes our task easier by installing all the dependencies required by Acelle in just a few clicks. But Composer needs to be installed on the VPS first. Luckily for us, installing Composer on an Ubuntu 20.04 VPS is even easier. Follow my instructions on the following tutorial and install Composer on your VPS. 

Install Acelle Mail on Ubuntu 20.04 VPS

Your VPS is now ready for Acelle email marketing web application. We’ve configured the server with Virtualmin and Nginx and installed Composer so far. Let’s install Acelle then. I assume you already have Acelle installation package saved on your computer somewhere. It comes in a zip file with a long name. Let’s rename it to acellemail.zip so it’s short and sweet. Next, we need to upload this zip file to the server.

So, connect to your VPS using FileZilla. Remember to use the domain’s administrative user when connecting. You shouldn’t use root user account to upload files to your website.

You will be connected to the home directory of your domain by default. This is also the directory we need acellemail.zip file uploaded. Upload the file and close FileZilla.

Next, we need to login to the server over SSH. You can use the root account to login this time. Once connected, switch to domain administrative user with following command, ofcourse you need to change ‘user’ with your actual username.

su user

Then, navigate to the home directory,

cd $HOME

Now, extract the content of acellemail.zip

unzip acellemail.zip

Navigate to acellemail directory,

cd acellemail

Install Acelle on Ubuntu 20.04 VPS,

composer install

If all goes well, you’ll see something similar to this on your terminal.

Acelle Installation Complete

Make Acelle Mail Work with Virtualmin

Although the Acelle installation is complete now, Acelle isn’t ready yet. It doesn’t work with Virtualmin out of the box. This is because Acelle has a different directory structure than typical PHP applications. This is due to Laraval framework. But getting it to work with Virtualmin is a breeze.

Assuming you’re still logged in to the domain’s administrative account, change to home directory.

cd $HOME

Acelle serves its content from public directory inside acellemail directory. Virtualmin expects content to be served from public_html directory. There are few ways to handle this. The best way in my opinion is to create a symlink between Acelle’s public directory and Virtualmin’s public_html directory.

But to do it, we need to delete public_html directory first.

rm -rf public_html

Create the symlink,

ln -s $HOME/acellemail/public $HOME/public_html

That should solve the public directory complication with Acelle and Virtualmin.

Add Nginx Rewrite Rules for Acelle Mail

We also need to configure Nginx for Acelle Mail as Nginx doesn’t support most PHP applications out of the box. Especially when the target application is configured to use clean/pretty URLs. Which is true in the case of Acelle Mail. So, let’s add some rewrite rules to make Acelle Mail work with Nginx webserver.

You need to switch to your server’s root account for this step. Simply type exit on the terminal to switch back to root account. And then open your domain’s nginx configuration file for editing with below command. Make sure to replace example.com with your domain name.

nano /etc/nginx/sites-available/example.com.conf

Search for the following line within the file,

fastcgi_param HTTPS $https;

Paste the following lot in a new line after the above line.

location / {
    try_files $uri $uri/ /index.php?$query_string;       
}

Save and close file by hitting Ctrl+X and then Y. Then restart nginx web server,

service nginx restart

Backend part of the Acelle Mail installation on Ubuntu 20.04 VPS is mostly over now. Let’s move on to web installation.

Complete Acelle Mail Web Installation

We’re moving to the easy parts of the installation. Open your domain in your favorite browser to complete the final step of the installation. You’ll be greeted with a page similar to this image.

acellemail system compatibility
Click Next at the bottom of the page and continue with the installation. You’ll be asked for MySQL database credentials during the Database section. A database for your Acelle had already been created by Virtualmin. You can grab the credentials to it following our ‘How to find MySQL credentials in Virtualmin” tutorial.

The screen after Database will ask you two questions. Leave everything to default. Below you can see my selection.

Acelle Install Cronjobs

For advanced users, if your default PHP-CLI version is different than PHP v8.0, you need to select executable path for PHP v8.0 from the list instead of /usr/bin/php.

Click Check & Save at the bottom and you’ll be given a cronjob to add. Log in to your server again and switch to domain administrative user account to add it. The following command will open domain’s crontab for editing.

crontab -e

You’ll be asked to select an editor. Nano Editor is the easiest as suggested by the system. Copy the crontab file you were given and paste it at the end of the crontab file. You can use Click Ctrl+V key combination to paste text at terminal.

Acelle Mail Cronjob Setup

Hit Ctrl+X key combination to save and exit Nano text editor. Then click Next and you’re all set.

Hope this helped you to install Acelle on Ubuntu 20.04 VPS with PHP v8.0 and Nginx v1.22. If you have problems with the installation, feel free to create a topic on our Server Administration Forum.

Tharindu

Hey!! I'm Tharindu. I'm from Sri Lanka. I'm a part time freelancer and this is my blog where I write about everything I think might be useful to readers. If you read a tutorial here and want to hire me, contact me here.

Related Articles

Leave a Reply

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

Back to top button