Do you long to install Sendy but not quite sure how to set it up?
You dont need to hire an administrator or spend hours following outdated tutorials. This guide will help you install Sendy and become your own Sendy administrator. With this, you can own your infrastructure and be in control of your system.
- AWS Account – signup here for 1 year free trial.
- Ubuntu 18.+ (1 CPU/1-2GB RAM)
- Domain Name
- Subdomain name for Sendy
Creating AWS IAM Credentials
Lets create IAM credential on AWS.
- Go onto your account go to IAM Users
- Click Add user and enter the username and select access type as programmatic
- Under attach existing policy directly, type sesf and snsf to select the policy
- Copy the access key ID and secret access key
It is essential that you keep these access keys away from any eyes!
To open up your sending limits and get into production mode, follow this AWS SES guide.
Software Updates Before You Install Sendy
- Login to Ubuntu server via SSH
- Update and upgrade your machine
sudo apt-get update && apt-get upgrade
Install Apache HTTP
apt-get install apache2
- Enable mod_rewrite
- Install PHP-FPM and required library
apt-get install php-fpm libapache2-mod-php php-mysql php-curl php-xml
apt-get install mariadb-server mariadb-client
Run the security script to harden the SQL. Run the below command and set the password for root. Press Y for all the options.
Copy the bellow.
Remember to follow WordPress password best practices to prevent being hacked
root@email:/var/www/html# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! root@email:/var/www/html#
- Let’s create a database. Login to MySQL, it will prompt you to enter the password which you defined in the previous step.
mysql -u root -p
- It will take you to the MariaDB prompt, where we will create a database called sendy
create database sendy;
- Grant the permission
GRANT ALL ON sendy.* TO 'sendy'@'localhost' IDENTIFIED BY 'password';
**Note: Follow Password Best Practices
Install Sendy On Your Machine
Its now time to upload the Sendy software. Ensure that you received an email with download link and a license key when you purchased it.
You need to upload the downloaded software to your server. To help me move it, I used CyberDuck.
- Go to Apache root directory
- Move the uploaded Sendy software here and unzip the file
- It will create a new folder “sendy” where you will need to update the config.php
- Go to includes folder and update
cd includes nano config.php
From the above, you need to change five parameters (APP_PATH, dbHost, dbUser, dbPass, dbName)
So far so good? Let’s quickly restart all the necessary software.
service apache2 restart service php7.4-fpm restart service mysql restart
Everything has been installed and our preparation has finally finished. Its now time to install Sendy. Before that, we need to check that our server has all the required library dependencies by running a compatibility.php file
Start the Sendy Install Program
When you enter the link it should all turn green. If not, you will need to troubleshoot the issue here.
Install Lets Encrypt
- Go to the install page with URL with
- Enter the license key, AWS credentials and your email address and click Install now.
- To get a success confirmation, it will take a few seconds.
You will also receive an email from AWS to confirm the email. You have once done, login to Sendy.
And there you go. You now have Sendy installed !!! You dont need to pay $100s to get an admin to set it up.
Increase AWS SES Quota
Due you haven’t lifted your sending limit, you only have 200 emails a day which wont be enough going forward. To increase the quota, go to service limit increase request and submit it.
To get the full step by step check out:___________________________
Note: you need to choose the same region as your Sendy is connected to. By default its N. Virginia. To verify, go to settings on Sendy dashboard >> AWS SES region
You should receive a notification in few hours to get the sending limits increased. AWS will notify you.
Verifying Your Domain
For optimal email delivery, you should consider verifying your domain on AWS SES.
- Go to AWS SES (again, ensure you are in the same region as Sendy is connected to)
- Click on Domains at left sidebar >> verify a new domain
- Enter the domain or subdomain
- Select Generate DKIM settings and click verify this domain
- It will prompt the domain verification records which you’ll need to configure for your domain through the domain registrar.
Now you can copy and add the TXT and CNAME records, it may take up to 72 hours to get it verified. Once you have done, you should see all green under verification, DKIM and enabled for.
Next, verify an email which you will be using to send the newsletter.
- Click on Email addresses on left sidebar >> verify a new email address
You’ll get a verification email to the email address you provided. Once it has confirmed, you should see the status as verified.
Sendy Install Complete!!!
This tutorial should have everything you need for setting up Sendy. I have followed this guide many times when setting it up for others.
Heres a recap on the steps needed to install Sendy:
- Create AWS IAM Credentials
- Software Updates Before Installation
- Go And Install Apache HTTP
- Install MariaDB
- Download and Install Sendy
- Start Sendy
- Increase AWS SES Quota
- Verifying Your Domain
I hope this tutorial has been helpful. Remember that this tutorial will help and teach you to become your own Sendy administrator. You could use this guide to set it up for others too!
I hope you have enjoyed this post. If you would like to learn more, remember to sign up to our newsletter to get more tutorials, guides and walkthroughs like this.