Can I use shared hosting?

If the web hosting requirements (see below) are met, this script will work. However, first read the considerations below. For the SaaS version a VPS is recommended because then you can configure wildcard incoming domains.

What are "wildcard incoming domains"?

If you have a website, you need to tell the server which domain is routed to your website. With wildcard domains you basically say that every domain with its DNS pointing to the server where you host your website, will route to your website.

Why do I need to configure wildcard domains?

With the Loyalty Platform you create loyalty websites where customers can earn points. By default these websites have a url like myloyalty.example.com/campaign/mycampaign. It is possible to link a custom domain to a loyalty website (e.g. loyalty.mybusiness.com). If you haven't configured wildcard incoming domains, you have to add the domain to your hosting control panel manually.

Do I need SSL?

The script has automated SSL certificate generation included which is only compatible with ServerPilot.

Since customers sign up and log in on loyalty program websites, it is recommended that you use SSL (https instead of http). If you don't use Digital Ocean for hosting and ServerPilot for management, you need to manage this manually. We cannot help with setting up SSL or configure wildcard incoming domains. You should contact your hosting provider for that.

If you are unsure, consider our installation service which automates routing of incoming domains and SSL.

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

You can manually manage subscriptions and expiration dates, and bill customers outside the platform, or you can choose one of these integrated payment gateways to fully automate payments:

2Checkout and Paddle are Merchant of Records.

4. Pusher

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

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