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.
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.
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.
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.
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.