Installation guide for ABS

Server Requirements

  • PHP Version - PHP >= 5.5.9
    • Extensions
      • GD Version - 2.x+
      • PCRE Version - 7.x+
      • cURL version - 7.x+
      • JSON version - 1.x+
      • mbstring
      • OpenSSL
      • PDO PHP Extension
    • php.ini settings
      • max_execution_time - 180 (not mandatory)
      • max_input_time - 6000 (not mandatory)
      • memory_limit - 128M (at least 32M)
      • safe_mode - off
      • open_basedir - No Value
      • display_error = On
      • magic_quotes_gpc = Off
  • MySQL Version - 14.14 (Distrib 5.6.28-76.1, for Linux (x86_64) using 6.0)
  • Apache - 2+ (Apache/2.2.15)
    • Apache - Modules
      • mod_rewrite
      • mod_deflate (not mandatory, but highly recommended for better performance–gzip)
      • mod_expires (not mandatory, but highly recommended for better performance–browser caching)
  • Nodejs
  • Composer
  • Bower
  • Grunt
  • Recommended Linux distributions: Centos / Ubuntu / RedHat

Used Technologies

  • AngularJS 1.5.2
  • Laravel Lumen: 5.2(Micro Framework)
  • MySQL
  • Twitter Bootstrap 3.3.6
  • CSS3
  • HTML5

Installation Steps

Files Setup

  1. Unzip product zip file and upload to your server.
Unzipped folder contains following directories
- /app
- /bootstrap
- /client
- /config
- /database
- /public
- /resources
- /sql
- /storage
- /tests
- /vendor
- .env

Database setup

  • 'sql/abs_with_sample_data.sql' - Database generation script, import the database through phpMyAdmin or command.
  mysql -u username -p database_name < /your_server_path/sql/abs_with_sample_data.sql
  • '/.env' - For database and other configurations.
     APP_DEBUG=true
     DB_CONNECTION=mysql
     DB_HOST=localhost
     DB_PORT=3306
     DB_DATABASE= ENTER DB NANE HERE
     DB_USERNAME= ENTER DB USER HERE
     DB_PASSWORD= ENTER DB PASSWORD HERE

Update license key

  • Set the site license in the '/confing/app.php' file.
return [  
  'license_key' => 'REPLACE YOUR LICENCE HERE'
]

Site logo setup

There are few places where site logo are located. To change those logo, you need to replace your logo with exact name and resolution in the following mentioned directories.

  • client/src/assets/img/logo.png - 165 x 61
  • client/src/assets/favicon.icon - 16 x 16
  • client/src/assets/apple-touch-icon.png - 57 x 57
  • client/src/assets/apple-touch-icon-72×72.png - 72 x 72
  • client/src/assets/apple-touch-icon-114×114.png - 114 x 114

File permission setup

  • Make sure the permission as read, write and executable as recursively for the below directories. (Need write permission 777)
- /public
- /storage
- /vendor

Cron setup

Setup the cron with the following command

  • For Subscriptions - its application only if subscriptions plugin is available.
0 0 * * * php /server URL/artisan currency:cron
Eg: 0 0 * * * php /home/spgsql/html/abs/artisan currency:cron

How to Configure Site Settings

  • Login with below admin credentials.
  • Go to users menu, and update your email and password.
  • For site relating settings, got to settings menu and manage your settings.

Manage site settings

Here we listed the available site settings.

  • Site Information Here can modify the site related settings.
    • Site Name: It will used in all pages and emails.
    • Site Version: The site version displayed in site footer.
    • Site Default Language: Mentioned language will be used as default language all over the site before user switch some other language.
    • Site Languages: Here we can mention site available languages to user to switch their preferred language option. (It will applicable, only Translation plugin is enabled). For more details about Translation, please click here
    • Currency Code: Here we can mention currency code of the site. Currency code should be valid one. Otherwise payments will not work. For getting more available currency code please refer the link https://en.wikipedia.org/wiki/ISO_4217
    • Currency Symbol: Here we can mention currency symbol to display in site. If we leave it as blank, Currency code will display instead of symbol. For getting more available currency symbol please refer the link https://en.wikipedia.org/wiki/Currency_symbol
    • Contact Email: The email address to which the admin will receive the mail from contact form.
    • Common From Email: The email address that will appear in the “From” field of all emails sent from the site.
    • Common Reply to Email: “Reply-To” email header for all emails. Leave it empty to receive replies as usual (to “From” email address).
    • Site Timezone: Here we need to mention timezone of the server.
  • SEO And Metadata Manage content, meta data and other information relevant to browsers or search engines. (It will applicable, only SEO plugin is enabled).
    • Meta Keywords: The keywords used for improving search engine results of our site. (Comma separated for multiple keywords).
    • Meta Description: The short description of the site, used by search engines on search result pages to display preview snippets for a given page.
    • Robots: content for robots.
  • Revenue Here we manage all the revenue related details. (It will applicable, only CourseCheckout plugin is enabled)
    • Commission Percentage: Here we set site commission percentage which will be taken from lecturer when the learner purchasing the course.
    • Minimum Site Commission Amount: Here we will set the minimum commission amount.
      • Example: The site commission will be calculate based on the commission percentage. If the commission comes below “Minimum Site Commission Amount” then the site will take mentioned amount as commission.
  • Analytics Here can manage all the 'Facebook' and 'Google' analytics settings. (It will applicable, only Analytics plugin is enabled)
    • Google Analytics
      • Enabled Google Analytics: We can enable or disable Google Analytic by giving 1 or 0 (1 for enable and 0 for disable).
      • Google Analytics Profile ID: We can set the Google analytics Profile ID here. For detailed information for getting profile ID, please refer Creating Google Analytics
    • Facebook Pixel
      • Enabled Facebook Pixel: We can enable or disable Facebook Pixel by giving 1 or 0 (1 for enabled and 0 for disable).
      • Facebook Pixel ID: We can set the Facebook Pixel ID here. For detailed information for getting Facebook Pixel ID, For detailed information please refer Facebook Pixel Creation
      • We can track and measure the conversion of our site by facebook pixel. Please refer this link https://www.facebook.com/ads/manager/pixel/facebook_pixel
  • Follow Us Here we mentioned site's social network's links to follow users. Should mention full URL. Leave it blank if not available. Mentioned links will be displayed in site's footer.
    • Allow Lecturer Publish Their Course: By enabling this, lectures can publish their course directly without admin approval. If disabled this, site admin only publish courses after their reviews. (Set 1 for enable and 0 for disable).
  • PayPal Here we can manage all the PayPal gateway settings. For the PayPal gateway transaction, we should fill all the information which is mentioned below.
    • PayPal API Username: The site 'PayPal' api username.
    • PayPal API Password: The site 'PayPal' api password.
    • PayPal API Signature: The site 'PayPal' api signature.
    • PayPal API ID: The site 'PayPal' api ID.
    • PayPal API Account Email: The site 'PayPal' api account email.
    • Live Mode: The site PayPal live mode setting. (Set 1 for live mode; 0 for sandbox mode)
  • Banner Here we can add promotion images,ad or banners in site public pages.
    • Banner All Page Top: Add content here, It will be displayed in top of the page.
    • Banner All Page Bottom: Add content here, It will be displayed in bottom of the page.
    • Banner Profile Page Sidebar: Add content here, It will be displayed in user profile page sidebar.
    • Banner Course Page Sidebar: Add content here, It will be displayed in course page sidebar.
For more information about the site settings, see the Site Setting Instructions And Configuration page.

Configuring Translations Plugin

  • In this directory 'client/assets/js/l10n/en.json' has the site's default content as in English. If we want to add any new language for our site, download en.json then copy and paste en.json file and rename to new language code (like fr.json.j, ra.json etc).
  • Then we should change the value of default content with corresponding English content.
  • After changes, upload the new file to client/assets/js/l10n/ path and add this new language in “Site Languages” in site's setting page.
  • For more information please refer Site Language Configuration

Configuring Subscriptions Plugin

  • Admin can manage all the subscription plan of the site. Also admin can manage the user's subscription plans.
  • If we refund subscribed amount to the user, we can change the user's subscription to some other status like “Pending Payment” or “Canceled” etc, so the user can't access the courses. Also admin can extend the expiry date of the particular user's subscribed plan.
  • For more detailed information about the subscription plans please refer Manage The Subscription Plans

How to minify the script

  • If we changed anything in the code then should minified the files to applying those changes in to the site.
  • For more information please refer how to minify the script