Documentation

EasyQR by AltumCode

Overview

In this page you can find the needed documentation for you to fully install and configure the product.

The product installation procedure is straight forward and does not require any special / out of the ordinary task. Minimum knowledge on how to work with a database and managing files on a server is required.

Requirements

Please make sure your server meets the following requirements before attempting to install or purchase the product.

PHP PHP 7.4+
Extensions cURL, OpenSSL, mbstring, MySQLi
MySQL MySQL 5.7.3+
Apache with mod_rewrite

Installation Services

I also offer quality installation services at a low cost.

Product Installation - $19

This service is striclty related to the product full installation and does not include fixes or installations if your server is not compatible.

Full Server Installation - $79

The full server installation package includes the following: (only available for DigitalOcean servers)

  • Creation of a new Droplet on DigitalOcean
  • Setting up the domain with for the server
  • Free SSL Certificate Installation (Let's Encrypt)
  • Installation of Apache, MySQL with MySQLi, PHP
  • Installation and configuration of PHP's necesarry modules / extensions
  • Full installation of the product
Get in touch

Installation

This installation process should take no more than 10 minutes if followed and done correctly.

1. Prepare the database

  1. Create a new Database User for the upcoming new database (optional)
  2. Create a new Database
  3. Prepare the Database Host, Name, Username and Password for the upcoming steps.

2. Upload the product

Upload the content of the product/ folder on your webhost.

The product can be uploaded either on a subdomain, domain or subfolder, depending on your needs.

3. Prepare the product files

You need to set the permissions (CHMOD) of the following files / folders to either 755, 775, or 777 which will depend on your actual server.

  • /uploads/favicon/
  • /uploads/logo/
  • /uploads/cache/
  • /uploads/offline_payment_proofs/
  • /uploads/store_logos/
  • /uploads/store_favicons/
  • /uploads/store_images/
  • /uploads/menu_images/
  • /uploads/item_images/
  • /config.php

4. Start the installation process

  1. Access the product on your website and access the /install path. (ex: https://yourdomain.com/install)
  2. Follow the steps in the installation process
  3. You can now access the website and login with your admin account

5. Cron job setup

The cron job must be set up as it is responsible for handling background tasks.

  1. Make sure to login and go to the Admin Panel -> Website Settings -> Cron tab
  2. Copy the generated Cron Job Url
  3. Create a new cron job with one of the following commands
    • * * * * * wget --quiet -O /dev/null https://yourdomain.com/cron?key=YOURKEY
    • * * * * * wget --spider -O - https://yourdomain.com/cron?key=YOURKEY >/dev/null 2>&1
    • * * * * * curl --silent https://yourdomain.com/cron?key=YOURKEY
  4. Make sure to replace the https://yourdomain.com/cron?key=YOURKEY string with your copied link from the admin panel.

Update

This part of the documentation is for the time when you want to update your current installation to newer releases.

1. Backup

Before even starting with the updating process, you must backup to make sure that if something goes wrong, you can always restore to the previous version.

  1. Backup your database
  2. Backup your files

2. Files update

  1. Download the latest version of the product
  2. Unzip the downloaded archive
  3. Go inside of the product folder, copy and upload all the files and folders to your server where you have the product installed.

Do not replace nor upload the following files/folders:

  1. /config.php
  2. /install/
  3. /uploads/

3. Database update

  1. Go to your website and access the /update path, just like the following format: https://domain.com/update.
  2. Follow all the steps inside of the updating process
  3. After you are finished, make sure to delete the update folder as you do not need it anymore.

Extra Configuration

Here are the integrations that you can configure on the product after installation.

Nginx Servers

The product was designed to work by default for Apache servers. This is an extra thing that I provide for NGINX users although support is NOT guaranteed for NGINX servers.

The rewrite rule for NGINX that you need to add so that the urls work is the following:

if (!-e $request_filename){ rewrite ^\/(.+)$ /index.php?altum=$1 last; }

This command should be added in your domain.conf nginx file in the location / { ... } field.

Facebook Login

The Facebook Login integration gives your users the ability to skip normal registration and login directly with their Facebook account.

  1. Go to Facebook Developers page.
  2. Make sure to login to your Facebook account.
  3. Click on the My Apps menu dropdown and click on Create app.
  4. Add your details to the form and click submit the form to create the new app.
  5. Go to Settings from the sidebar menu and click on Basic.
  6. Fill out your Facebook app details in there.
  7. From the sidebar, under Facebook Login click on Quickstart link.
  8. Click on the Web platform and add your website URL. Skip the next steps.
  9. From the sidebar, under Facebook Login click on Settings link.
  10. In the Valid OAuth redirect URIs field, add your website's URL in this format: https://yourdomain.com/login/facebook (replace yourdomain.com with your own domain name).
  11. Save the changes.
  12. Go to App Profile page and copy the App ID and App Secret.
  13. Go to your new Product's Admin Panel -> Website Settings -> Facebook Login Tab and enter the App ID and App Secret keys.
  14. Make sure to Enable Facebook Login and Submit the new settings.

PayPal

The PayPal integration gives your users the ability to pay via PayPal on your website.

  1. Go to PayPal Developer Console and Login to your account after clicking the Log into Dashboard button
  2. Go to REST API apps section and click the Create App button.
  3. Add your own details for the new app and create it.
  4. Switch to Live by clicking the button near your new App's Name.
  5. Copy the Client ID and Secret
  6. Go to your new Product's Admin Panel -> Website Settings -> Payment Tab and enter the Client ID and Secret keys.
  7. Make sure to also switch the Mode to Live and Submit the new settings.
  8. Go to the newly created App in the Paypal Developer Console and click on the Add Webhook button.
  9. In the Webhook Url field, add your website's URL in this format: https://yourdomain.com/webhook-paypal (replace yourdomain.com with your own domain name).
  10. In the Event types field, check the Payment sale completed event and submit the Webhook.

Stripe

The PayPal integration gives your users the ability to pay via Stripe on your website.

  1. Go to Stripe Dashboard and Login to your account.
  2. Go to Stripe API Keys page.
  3. Make sure your API keys are set to Live Mode so that you can accept real payments.
  4. Copy the Publishable key and Secret key.
  5. Go to your new Product's Admin Panel -> Website Settings -> Payment Tab and enter the Publishable key and Secret Key.
  6. From the sidebar, under Developers click on Webhooks link.
  7. Click on the Add endpoint button
  8. In the Endpoint URL field, add your website's URL in this format: https://yourdomain.com/webhook-stripe (replace yourdomain.com with your own domain name).
  9. In the Events to send field, select the checkout.session.completed, invoice.paid, invoice.upcoming and click the Add endpoint button.
  10. Copy the Signing secret key and paste it in the product's Webhook Secret field in the admin panel.

Offline payments

The offline payments integration gives your users the ability to pay offline (bank transfer, for example), give you the proof of payment and receive what the customer paid for when the payment is approved.

  1. As an admin you can enable the offline payments system from the Admin Panel -> Website Settings -> Payment tab.
  2. In the Instructions field you can write details for the user on where to send an offline payment.
  3. The customer will have the ability to choose the offline payment method when checking out.
  4. The customer will see the Instructions for the payment and also be required to upload a proof of payment.
  5. When the customer checks out, the admin will need to go in the Admin Panel -> Payments page and review the proof of purchase and then, approve it.
  6. After the approval, the customer will get the plan that was chosen
  7. If the proof of payment is not correct and the payment is fake, simply delete the payment from the list.

Google Recaptcha

The Google Recaptcha integration will replace the basic captcha with Google's Recaptcha system.

  1. Go to Recaptcha Admin Panel and Login to your Google account.
  2. Make sure to select the reCAPTCHA v2 type
  3. Fill in the other needed details from the form.
  4. Make sure your API keys are set to Live Mode so that you can accept real payments.
  5. Copy the Site Key and Secret Key.
  6. Go to your new Product's Admin Panel -> Website Settings -> Captcha Tab Tab and enter the Site Key and Secret Key.

Custom Domains for Admins

Setting up additional custom domains will give your users the ability to use these new custom domains to create store pages.

To add multiple domains you can simply go to the Admin Panel and go to the Domains page and insert extra domains that you have access to.

I am on a shared webhost

If your website is hosted on a shared webhost with panels like cPanel then you must go to the Addon Domain page inside of your cPanel and add that extra domain that you are going to use. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.

I am on a VPS / Dedicated Server

In this case you will need to make sure that your extra domain is set up properly and attached to your server. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.

Configuration for Apache Servers domains are usually found in the /etc/apche2/sites-enabled/ folder for each of your existing domains on your server.

Configuration of Custom Domains is not offered in support as this is directly related to your host / server!

Custom Domains for Users

Setting up custom domains for users will give your users the ability to add their own custom domains to their account to use these new custom domains to create store pages.

To enable this option for the users you must go to the Admin Panel -> Website Settings -> Stores tab and make sure that Custom Domains system is enabled.

I am on a shared webhost

If your website is hosted on a shared webhost with panels like cPanel then you must go to the Addon Domain page inside of your cPanel and add all the domains that your users will add on their accounts. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.

I am on a VPS / Dedicated Server

In this case you will need to make sure that all the extra domains from your users are added and configured on your server. Make sure that the Root Directory of the new domain is set to the same directory of the already existing Product Installation.

Configuration for Apache Servers domains are usually found in the /etc/apche2/sites-enabled/ folder for each of your existing domains on your server.

A good and simple solution works in most cases would be to edit the 000-default.conf file and point the DocumentRoot and Directory to the already existing Product Installation. This way all the domains that will be added, will automatically be linked to the original installation.

Configuration of Custom Domains is not offered in support as this is directly related to your host / server!

Hosting

I always recommend DigitalOcean because of their flexibility from every point of view.

I've been using Digital Ocean for about 4-5 years and I never needed to contact their support team.

If you use my referral code, you will get $100 credit on DigitalOcean.

Claim $100 on DigitalOcean

If you also need a domain name, then I would suggest the one that I am using myself again, NameCheap.

FAQ

Here are the most popular questions and their answers.

  • How can I update text on the website?
    Any from the website can be changed from the app/languages/english.json file.
  • How can I create my own language?
    Copy and paste the app/languages/english.json file, rename the english.json file to your actual language name and start editing the newly created file.
  • When I click on any link it returns 404 Not Found, why?
    That means that you either didn't add the .htaccess file or that your webhost doesn't have mod_rewrite enabled on the apache server.
  • Is there any Sitemap?
    Yes, you can access the sitemap by accessing the /sitemap path on the website.

About

I build affordable and ready to use web products. Here's where you can find me:

Support is only done through Codecanyon's email form or comments section.