Server Installation

System Requirements
A Windows or Linux web server with PHP5.6 or higher installed. PHP7 is recommended.
Mcrypt library enabled for data encryption (not required for white label licence). Required for PHP5.6 to PHP7.0* ONLY.
OpenSSL library enabled for data encryption (not required for white label licence). PHP7.1 or higher ONLY.
1 MySQL database to hold the script tables. MySQL5+ is recommended. This is set up on your web server. MySQL running in strict mode is NOT supported.
MySQL Improved Extension (mysqli) functions enabled on server for database connection.
CURL support enabled for certain payment gateways,cleantalk API and admin version check.
Support for .htaccess and Mod_Rewrite if using search engine friendly urls option or cache system.
ZipArchive class enabled for batch PDF downloads.
SimpleXML functions enabled for api`s and gateway callback routines.
Modern web browser (Internet Explorer, Firefox, Opera, Maxthon, Safari, Chrome etc) with Javascript enabled.

The installer will check what functions are available.
Pre-Checks / Recommendations
1. DO NOT password protect your store folder with .htaccess. This will prevent the gateway callback routines from working.

2. DO NOT unzip files directly on a server using something like CPanel. It is unreliable and can screw up the files. Upload via FTP.

3. Use a good quality text editor to edit files, NOT a word processor. Make sure your text editor is set NOT to save with the BOM (Byte Order Mark). Some excellent free text editors are: PSPad, Notepad++, RJ TextEd & SynWrite. Plain old notepad is also fine.

4. For a live environment, it is recommended you do NOT use shared servers. Shared servers have restrictions and are generally not very reliable. Cheap VPS servers are a much better option. Also, it is recommended you have SSL installed. This will prevent gateway callback incompatibility and will ensure better search rankings. These are recommendations only and aren`t necessarily required.

5. Patience. Read the instructions carefully and hopefully you`ll have no problems. If you do, see the support options.
1 Create MySQL Database
If you haven`t already done so, create a database to hold the script tables. An existing database is fine. As this procedure can vary from server to server, if you are unsure of this, please contact your host.
2 Setup Database Connection
Using your text editor, open the control/connect.php file and perform the following actions:

[A] Edit database connection parameters to point to the database you wish to use. Contact your host if you aren`t sure. Prefix is required if you only have a single database. This might be something with an underscore. Its fine to leave the prefix as is, so don`t change if you aren`t sure. See notes. Example:

define('DB_HOST', 'localhost');
define('DB_USER', 'joeblogs_admin');
define('DB_PASS', '12345XX');
define('DB_NAME', 'shop');
define('DB_PREFIX', 'mc_');
[B] Specify character set for database. Can be left blank if preferred. Used for 'Set Character Set' and 'Set Names'. If you aren`t sure, utf8 should be fine. See notes:

define('DB_CHAR_SET', 'utf8');
[C] Specify locale for your database. Only really required to be changed if your language isn`t English. This will ensure text data in dates converted by MySQL is in your local language. For English, 'en_GB' should be fine for all. See notes:

define('DB_LOCALE', 'en_GB');
[D] Specify unique secret key (or salt). You can use the MSWorld secret key service to generate a unique key. See the connection file for more information.
3 Set Administrator Access Login Details
Again, using your text editor, open the admin/control/access.php file and create a administrator username/password. Example:

define('USERNAME', 'joebloggs');
define('PASSWORD', 'xxx123789');
This administrative user is not controlled by user management and is a useful tool if you need to gain access to the system if you have forgot your user password or your client has forgot their password. More information on the users/staff page here. If you want to restrict the administrator to a certain IP address or addresses, enter the IP addresses in the 'RESTRICT_BY_IP' box. For multiple, comma delimit.
4 Transfer Files to Server
Using a good FTP program such as FileZilla or WinSCP, transfer the 'store' folder to your web server.

Most good FTP programs auto detect 'ascii' mode for PHP files. However, if you are presented with an option, you should specify 'ascii' and not 'binary'.

- 'store' may be renamed if you wish.
- Files can also be uploaded to root of web server if you wish. Open 'store' folder and transfer files.
5 Folder Permissions
The following folders are required to have read/write permissions. On Linux 0777 or 0755 should be used:

admin/attachments/
admin/import/
content/_theme_default/cache/
content/_theme_default/images/banners/
content/products/
product-downloads/ (Can be moved later)
logs/
To change file permissions, right click the folders in the FTP software. Be careful, entering the wrong code could make a folder inaccessible. If this happens accidentally, you may need server root access to fix the problem.
6 Accessing the Installer or Manual Install
Once the files have transferred successfully, access the 'install' folder in your browser. An example if your website was at 'example.com/cart/':

http://www.example.com/cart/install/
Follow the on screen instructions. Alternatively, if you are an advanced user and you are familiar with executing SQL files, run the following file in your MySQL database management program.

docs/schematic/maian_cart_schema.sql
The following FREE applications can be used to administer MySQL and are all excellent:

HeidiSQL (My software of choice for local administration on Windows and one of the best free pieces of software out there)
PHPMyAdmin (Installed on many servers as the default database software. PHP based.)
AdMiner (Single PHP file. Brilliant and best server based option imo)
SQL Buddy (Lightweight PHP based software. Great alternative to PHPMyAdmin.)
MySQL Workbench (Powerful Windows based software from the MySQL creators)
Database Beaver (Free database management software for Windows. Java required.)
NOTE: If you manually run the 'docs/schematic/maian_cart_schema.sql' file you do NOT need to access the install folder! Also the manual install will NOT install the demo store items. Finally, you may need to enable remote sql in your server control panel and add your IP to your whitelist.
SECURITY ALERT
If you have successfully run the installer or the SQL file manually you should make absolutely sure that the 'install' directory NO longer exists in your installation. If you wish to keep a copy of it on the server rename it or move it somewhere else.

Leaving the 'install' folder in place is a major security risk. Your store can be compromised if this file is run again. For added security the system will check that this folder does not exist.
7 Setup Product Ops Cron Job
The following file should be set up to run as a cron job on your server:

control/cron/product-ops.php

This performs various product operations (example, product expiry ops) and is run as a cron to reduce the database load when the store is accessed. You don`t need to run this too often, 2 or 3 times a day is enough. For more information, click here.
8 Access Store
If everything has gone ok, your store will now be accessible at the url it was installed. Examples if your store was installed at 'example.com/cart/'

http://www.example.com/cart/
http://www.example.com/cart/admin/
9 Rename Administration Folder
For security it is highly recommended you rename your 'admin' folder. To do this perform the following operations:

[A] Manually rename the 'admin' folder to something unique. Letters, numbers, underscores or hyphens should be used, no special characters.

[B] Access the 'System > General Settings' page in your administration and enter your new folder name in the option 'Admin Folder Name'.
10 Install SSL
It is highly recommended you install a SSL certificate for your store to protect your store account environment. With security and privacy being big concerns these days, it is foolish not to have this option available. SSL certificates are very cheap nowadays. You can even get FREE SSL certificates via Let`s Encrypt and SSL for FREE.

Important! Your search rankings WILL be affected if you don`t install SSL!
11 Getting Started
Now that the system is installed, refer to the main install page for further instructions.