Setup / Installation

Server Requirements
A Windows or Linux web server with PHP5.6 or higher installed. PHP7 is supported.
SSL installed so your server loads over https for secure encryption. This is required for payment gateways.
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.6 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.
Modern web browser (Internet Explorer, Firefox, Opera, Maxthon, Safari, Chrome etc) with Javascript enabled.
Mod_Security OFF. Having mod_security on may prevent some database updates. If you are having issues with a spinner not closing, this may be the issue.

The installer will check what functions are available.
Pre-Checks / Recommendations
1. DO NOT unzip files directly on a server using something like CPanel. It is unreliable and can screw up the files. Upload via FTP.

2. 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, CudaText & SynWrite. Plain old notepad is also fine.

3. For a live environment, it is recommended you do NOT use shared servers. Shared servers are slow, have restrictions and are generally not very reliable. Cheap VPS servers are a much better option.

4. 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', 'lockbox');
define('DB_PREFIX', 'ml_');
[B] Specify timezone for database. If you have no data issues with your server and date display, this will NOT need changing. In most cases the PHP timezone will be fine. This is added as a convenience only. Time in hrs:mins.

define('DB_TIMEZONE', '+00:00');
[C] 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');
[D] 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');
[E] 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 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 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.
6 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)
7 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.
8 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.
9 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/_userdef.php' file.
10 Create Lockbox
Refer to the Add New Lockbox section for help in getting your first lockbox set up.
11 Creating Packages
Refer to the New Package page for help in setting up a package.
12 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.
13 Demo Lockbox Login Details
If you installed the demo system, the login details are as follows:

Email: user@example.com
Pass: user1967
Help / Support
See the support option if you are having problems. Thank you.