Setup / Installation

Server Requirements
PHP5.0 or higher
1 MySQL database to hold the script tables. MySQL5+ is recommended. This is set up on your web server.
MySQL Improved Extension (mysqli) functions enabled on server for database connection.
JSON functions enabled on server for ajax responses.
Mcrypt library enabled for data encryption (not required for white label licence). Required for PHP5 to PHP7.0* ONLY.
OpenSSL library enabled for data encryption (not required for white label licence). PHP7.1 or higher ONLY.
CURL functions enabled for software version check & payment gateways.

The installer will check what functions are available.

It is also important you can have your members .htpasswd folder outside of your web root, this means one directory lower than your public_html or www folder. Files stores here are NOT accessible on the web and cannot be found by web scrapers. For security, the 'members' should be outside of your web root, not in the public domain (see step 5 below). If you cannot protect the folder, this script may be useless to you.

Finally, a good VPS or Dedicated server is recommended. For membership sites, don`t expect too much reliability in a cheap shared server. Processing power is slow and unreliable. This could impact your business and sales!
1 Create MySQL Database
If you don`t have a database available, create one via your server control panel. Once a database is available, open the 'control/connect.php' file in your text editor and update the connection parameters. Example:

define('DB_HOST', 'localhost');
define('DB_USER', 'joeblogs_admin');
define('DB_PASS', '12345XX');
define('DB_NAME', 'box');
define('DB_PREFIX', 'msw_');
define('DB_CHAR_SET', 'utf8');
2 Secret Key
Also, in the 'control/connect.php' file set a secret key (or salt) value. This should be a combination of letters, numbers and/or special characters. sha1 and md5 may be used: Examples:

define('SECRET_KEY', 'fd764%^]h9[-)[87fde');
define('SECRET_KEY', md5('fd764%^]h9[-)[87fde'));
define('SECRET_KEY', sha1('fd764%^]h9[-)[87fde'));
3 Set Administration Password
Again, in your text editor, open the 'admin/control/access.php' file and enter an admin user/pass. Examples:

define('USERNAME', 'admin');
define('PASSWORD', 'admin');
You can also restrict the login to certain IP addresses ONLY for security. Enter one or more IP addresses separated with a comma. Useful only if you have a fixed IP address. Leave blank for no IP restriction. Examples:

define('IP', '127.0.0.1');
define('IP', '127.0.0.1,78.150.204.108');
Note that this is not a server IP restriction.
4 FTP
Using a good FTP program such as FileZilla, WinSCP or Cyberduck, transfer the 'lockbox' folder to your web server. You may rename the folder if you wish or have the files in your public html root not inside a folder.
5 FTP MEMBERS FOLDER
Also using your FTP software, add the 'members' folder to a location OUTSIDE of your web root. ie, a location NOT accessible in a web browser. This folder may also be renamed if you wish.

For example, on your server you will have folders commonly called 'public_html' or 'htdocs' etc. Any content put in these folders is accessible in a web browser. So, your 'members' folder would need to be one directory lower. So, in your FTP you might see:

public_html/
members/
If your web host doesn`t allow files outside of your web root you may still install the lockbox system, but your members folder will be less secure. Outside of your web root is recommended and preferred.
6 Permissions
Give the following directories read/write permissions. Chmod to 0777 on Linux.

admin/backup/
logs/
You may be able to do this directly in your FTP via the right click menu.
7 Run Installer
Access the installer in your browser via the 'install/index.php' file. Follow the onscreen instructions.

Important: When you have run the installer, rename or delete the 'install' folder from your server.

(Advanced users may prefer to manually run the 'docs/schema/schema.sql' file)
8 Update Settings
Once the installer is run (or the manual SQL has been run), log into your administration centre (admin/index.php) with the user/pass you specified above and update your settings. Some paths will have been manually created. You will need to manually set the location of your 'members' folder.
9 SMTP Setup
You must create a SMTP account so the system can send emails. Often a good SMTP service such as Mandrill or MailGun etc will provide better reliability in sending emails. The PHP mail() function is NOT supported. Update the SMTP setting via your main admin settings.
10 Rename Admin Folder
For extra security it is recommended you rename the 'admin' folder to something else. If you rename the folder, enter the new folder name in the 'ADMIN_FOLDER' value in the 'control/defined.php' file.
11 Create Lockbox
Refer to the Lockbox Setup section for help in getting your first lockbox set up.
12 Creating Packages
Refer to the New Package page for help in setting up a package. Once you have at least one package you can load the default signup page, detailed here to check your payments. Ideally you should create your own attractive signup pages to entice customers.
13 Documentation
In your admin area click the 'Help' link for help on any page. Please read the information carefully before asking for support. The F.A.Q page also details some frequently asked questions.
Help / Support
See the support option if you are having problems. Thank you.