Install Sendy on AWS EC2 Instance with SSL

Configure Amazon Web Services EC2 Instance with LEMP and Virtualmin to host Sendy

Sendy is a bulk emailing software coded in PHP. It’s self-hosted and uses Amazon SES to send emails. Sendy is a mailchimp replacement and extremely cost-effective to use. Today we will try to install Sendy on AWS EC2 with SSL and Virtualmin control panel.

Sendy being a self-hosted PHP app requires hosting space for installation. A domain name and a hosting account in other words. You can get a domain name from NameCheap or use a subdomain of a domain you already own. This tutorial will take care of the hosting account part.

We will configure an AWS EC2 instance to host Sendy. We’ll install Virtualmin on EC2 instance which will give us a nice GUI to manage our EC2 server. Then we will install Sendy on AWS EC2 instance with Let’s Encrypt SSL. Making connections to Sendy secure. Follow each and every step below to achieve it.

freelancer to Install Sendy Not a tech guy? Rather have a freelancer install Sendy for you? Who’s better than the guy who wrote this tutorial!
Hire me and have your Sendy ready within 24 hours!
Get Sendy Installed

Step #1 – Create an EC2 instance for Sendy and install Virtualmin

We will start by creating a brand new EC2 instance with Ubuntu OS. And then we will configure it with Virtualmin. There are 4 steps you should follow to get Virtualmin installed on AWS EC2 instance. Complete the tutorial below.

Tutorial: Install Virtualmin on AWS EC2 instance

Step #2 – Disable MySQL Strict Mode for Sendy on AWS

Virtualmin installs MySQL 5.7 on the server with its initial configuration. MySQL 5.7 has strict mode enabled by default, which isn’t supported by Sendy. Let’s disable it.

Tutorial: Disable MySQL Strict Mode on Ubuntu

Step #3 – Add your Sendy domain to Virtualmin on AWS

You might be using a subdomain for Sendy. But the process is same for both subdomain and root domain. You need to create a virtual server within Virtualmin for your Sendy. This process will create a MySQL database and a user for Sendy which we will obtain in a later step.

Tutorial: Add a domain to Virtualmin

Step #4 – Enable SSL (https) for Sendy on AWS EC2

Now that you have Virtualmin installed and Sendy domain added to your EC2 instance, it is the perfect time to enable Let’s Encrypt SSL for Sendy.

Tutorial: Install Let’s Encrypt SSL Certificate for Sendy with Virtualmin

Step #5 – Obtain Sendy MySQL database credentials from Virtualmin on AWS

Finally, we are getting ready to install Sendy on AWS EC2 instance. But before we do that, we need to obtain MySQL credentials from Virtualmin.

Tutorial: Obtain Sendy MySQL credentials from Virtualmin

Step #6 – Install Sendy on AWS EC2 with Virtualmin

You have everything setup for Sendy now. It’s time to upload Sendy files you downloaded from official site to your EC2 instance and run the Sendy installer.

Tutorial : Install Sendy with Virtualmin

Step #7 – Redirect http to https with Virtualmin

We will wrap things up by setting up 301 redirects from http to https. This will make sure you’re accessing secure version of your Sendy installation even if you forgot to type https on the browser.

Tutorial : 301 Redirects from http to https with Virtualmin

You can now enjoy sending emails at a fraction of the cost of hosted mailing services like mailchimp. Hope this helps. If you have errors, create a topic on our sysadmin support forum and I’ll try my best to solve them.


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

One Comment

  1. Wow, just what I was looking for, so used to shared Hosting, that sendy was tough to run on Siteground, going to give this a shot on the weekend and hopefully have an Amazon EC2 setup ready on Sendy!

Leave a Reply

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

Back to top button