Can I use shared hosting?

If the web hosting requirements (see below) are met, this script will work. Optionally, DigitalOcean and ServerPilot can automate the process of wildcard incoming domains and SSL.

ServerPilot is required to automatically generate SSL certificates for the custom domain of a loyalty campaign website. This is optional.

Custom domains and SSL

With the Loyalty Platform you create websites where customers can earn points. By default these websites have a url with a path like myloyalty.example.com/campaign/mycampaign. It is possible to link a custom domain to this website (e.g. loyalty.mybusiness.com). This means that you have to add the domain to your hosting control panel.

Since customers sign up and log in on loyalty program websites, it is recommended that you use SSL (https instead of http). For shared hosting, you need to manage all these steps manually. If you understand these implications, you can use a shared hosting account.

Requirements

In order to be able to use all the functionalities of this script, there are a number of hosting and service requirements. We can only provide support for installations on the webhosting services described below.

For a guaranteed operation of the script you need:

1. Web hosting

For hosting a DigitalOcean VPS is recommended. A $5/mo Droplet is good enough. But if you understand the implications of using your own server setup, you're free to choose whatever web hosting meets the requirements below.

If you choose DigitalOcean, ServerPilot is a control panel for your VPS that installs all requirements (PHP, MySQL, Apache) and automates security and SSL. With its API you can automatically generate SSL certificates for loyalty program urls. This costs $5.50/mo.

Hosting requirements

If you do not want to use DigitalOcean and ServerPilot, you will need to make sure your server meets the following requirements and that you have SSH command line access to your webserver:

  • MySQL >= 5.7.8 or MariaDB >= 10.2.7
  • Apache >= 2.4
  • PHP 7.2 or 7.3 (7.4 will not work)
    • BCMath PHP Extension
    • Ctype PHP Extension
    • JSON PHP Extension
    • Mbstring PHP Extension
    • OpenSSL PHP Extension
    • PDO PHP Extension
    • Tokenizer PHP Extension
    • XML PHP Extension
    • Fileinfo PHP Extension

Without Digital Ocean and ServerPilot you can't use the automated SSL feature of the script.

2. Domain

The script must be installed on a top level domain or subdomain. For instance example.com or sub.example.com. Sub-directories like example.com/loyalty are not supported.

If you want to test on your localhost you have to create a host file entry like loyalty.test. It will not work on urls like 127.0.0.0/loyalty.

3. Pusher

Some parts of the script require Pusher. You can start with the free account.

4. Mailgun or SendGrid

Although it is not required, we recommend a service like Mailgun or SendGrid for sending e-mails. Both have a free tier and will save you a lot of e-mail related issues. We think SendGrid SMTP is easier to configure.