Overview
CoinIndex is a multipurpose and powerful cryptocurrency script. Here you can find all necessary information including step-by- step installation guide.
If you have any questions that are beyond the scope of this documentation, please feel free to contact me via my user page contact form.
Support
This documentation is to help you install and manage the application.
If you have any questions that are beyond the scope of this help file, please feel free to get in touch. Support requests can go through the form on my CodeCanyon profile page or via email. Support for my items includes:
- Responding to questions or problems regarding the item and its features
- Fixing bugs and reported issues
- Providing updates to ensure compatibility with new software versions
Item support does not include:
- Customization and installation services
- Support for third-party software and plug-ins
Before seeking support please:
- Make sure your question is a valid item Issue and not a customization request.
- Make sure you have read through the documentation and any related video guides before asking support on how to accomplish a task.
- Most of the time we find that the solution to people's issues can be solved with a simple "Google Search". You might want to try that before seeking support. You might be able to fix the issue yourself much quicker than we can respond to your request.
- Make sure to state the name of the item you are having issues with when requesting support via CodeCanyon.
System Requirements
Your server need to meet the following requirements in order to run CoinIndex properly:
PHP 7.0.0 | Minimum required PHP version for this app is 7.0.0. So your server should run PHP 7.0.0+ |
cURL | PHP cURL extension must be installed and enabled. Minimum required cURL version is 7.19.4 |
OpenSSL | PHP OpenSSL extension must be installed and enabled. This is required for secure data encryption. OpenSSL version must be 1.0.1c or above. |
PDO | PHP PDO extension is required to create secure connection to MySQL server. |
Mbstring | PHP Mbstring extension must be installed and enabled. |
Tokenizer | Tokenizer PHP extension must be installed and enabled. |
XML | XML PHP extension must be installed and enabled. |
Directory Structure

As indicated in the picture above, the following files and folders including their subfolders must have read and write permissions for CoinIndex application to function properly:
- /bootstrap/cache/
- /storage/
- /storage/app/
- /storage/framework/
- /storage/logs/
- /.env
Installation
Installation process is very easy and you may finish all process just in a few minutes. Please read the following guide carefully.
At a very basic level, the general process is:
- Download CoinIndex and extract the files locally.
- Upload the contents of the upload directory within the extracted files to your server.
- Point your browser to the install system and follow the on-screen instructions.
Installing CoinIndex
To install XenForo you will need the following things:
- An FTP client (such as FileZilla or WinSCP)
- The FTP login details for your server
- An empty MySQL database on your servers and the details to access it
To begin, you must first download the zip file that contains CoinIndex from your CodeCanyon customer area.
Step 1. On your computer, unzip the file that you had downloaded. Within it, you will see a CoinIndex Application
directory. You will be uploading the contents of this directory to your server (not the directory itself).
Now use your FTP client (i.e. FileZilla) to connect to your server and create the directory where you want to install CoinIndex. For example, if you want to access CoinIndex via example.com/coinindex/, you would create a coinindex
directory within your webroot (such as your public_html
directory). You will need to make a note of what URL this corresponds to for the next step. This will be known as your "CoinIndex root URL".
Note: If you want to install CoinIndex at the root of your domain, you will generally not need to create a directory. However, CoinIndex must be installed into a directory that isn't already being used to display pages.
Use your FTP client to upload the contents of the CoinIndex Application
directory that was contained within the zip that you extracted earlier to the directory you just created on the server. Ensure that all files and sub-directories are uploaded. If done correctly, once uploaded, you should see files such as index.php and css.php directly within the directory you created on your server.
Uploading may take some time. Please do not proceed until the upload is complete. Keep your FTP client open as you may need it in the next step.

Step 2. Depending on your PHP configuration, you may need to manually make certain directories writable. The following folders and their subfolders must have read and write permissions, so just give the folder write permissions (0775).
Open your FTP client and navigate to your CoinIndex root directory (the directory your created earlier). You should see the bootstrap
and storage
directories. You will need to change permissions on these directories.
In Linux, these should be chmod 0777
. You can generally do this via your FTP client by making sure that the directory has read, write, and execute permissions for user, group and world. In Windows/IIS, you need to grant the "Full Control" permission to the IUSR_ account.
Apply read-write permission (0775) on the /storage/
folder as shown below:


Apply read-write permission (0775) on the /bootstrap/cache/
folder as shown below:

Apply read-write permission (0775) on the /storage/app/
folder as shown below:

Apply read-write permission (0775) on the /storage/framework/
folder as shown below:


Finally, apply read-write permission (0664) on the /.env
file as shown below:


Step 3. Next you will need to create the database that will be used to store the data of your application. Usually you can create the database by using a database management system like PHPmyAdmin.
To create the CoinIndex database, login to your database management system, such as PHPmyAdmin:

Step 4. Now you're nearly ready to start the CoinIndex installation.
Direct your browser to the install directory under your CoinIndex root URL. For example, if your CoinIndex root URL was www.yourdomain.com/coinindex/
, you would direct your browser to www.yourdomain.com/coinindex/install/
. If you had installed CoinIndex at the root of your domain, then point your browser to www.yourdomain.com/install/index.php
. If you have the correct URL, you should see the CoinIndex installer.

After agreeing to Terms of Usage, proceed to the System Requirements page:
Depending on server configuration, you may receive an error about certain directories not being writable. If so, follow the setting directory permissions instructions provided in step #2. If you receive any other error messages, your server does not meet CoinIndex's requirements and your host will need to make changes to their PHP configuration.

If no other errors are displayed, you can begin the CoinIndex installation process.

General Settings

- Website name: Provide a name for your website (default: CoinIndex)
- Website URL: This can be
http://www.website.com
,http://website.com
, orhttp://www.website.com/sub-directory
(HTTPS if you are hosting a secure site) - Google Analytics Tracking ID: Provide your Google Analytics tracking ID to enable visitor tracking
- Page-speed: Check this option if you want CoinIndex to optimize your site automatically resulting in a 35%+ optimization by minifying HTML, CSS and javascript content on-the-fly. Do not use this option if your webserver already has Google PageSpeed Module (mod_pagespeed for Apache, ngx_pagespeed for nginx) enabled.
- Color theme: Choose any of the following color themes to customize the look and feel of your website: blue, green, purple, red & cyan. The following image shows the five color schemes available:

MySQL Database Connection Details

You are required to provide details about your database server. If you do not know what values to use here, you will need to contact your host to get the correct values.
- Database Host: Provide the hostname or IP address of your MySQL database server.
- Port: Leave blank if MySQL server is running on default port 3306. Otherwise specify the numeric port number.
- Database Name: Provide the name of the newly created blank database where CoinIndex will be installed.
- Username & Password: Provide your MySQL login credentials
Admin Account Details
CoinIndex features a contact module which allows website visitors to send messages to the webmaster. Provide your email address here to receive contact messages:

Forum Settings
CoinIndex can integrate Disqus commenting system into your website. To add your CoinIndex site to Disqus, make sure you've registered a Disqus shortname.

Email Server Settings
If your webhost provides a dedicated SMTP server for sedning email, enter the details in this section.
Leave this section blank if you want CoinIndex to send emails via the default sendmail command that comes with Unix/Linux OS
The following screengrab shows relevant settings for gmail.com SMTP server:

Monetization Settings
CoinIndex can insert up to 2 Google Adsense ad blocks. Provide your Google Adsense Publisher ID as well as IDs for each of the ad slots.
You can also provide your Changelly.com affiliate ID to include referral links relevant pages.

Donation Settings
CoinIndex allows you to receive donations in Bitcoin, Ethereum and Litecoin from your visitors. Provide your wallet address here if you wish to enable the donation button:

Click on the Install button to begin the installation process. It may take a few minutes to complete the installation process. Once installation is completed, you will see the following screen:

After completing installation, please delete the "install" folder and its contents from your webhost.
The reason for this is due to security - if someone can access your installation folder they could potentially overwrite your website by running the installer again.
To delete your installation folder manually, use an FTP client and right click on the folder named install
and press Delete.
Scheduling Cron Jobs
CoinIndex needs to periodically update cryptocurrency market data from various internet sources.
Cron task should run once per minute. Complete cron task entry should be similar to:
* * * * * php /path-to-your-website-folder/artisan schedule:run >> /dev/null 2>&1
Don't forget to replace path-to-your-website-folder
with the actual path of your app.
Scheduled updates can be manually run by invoking the following command in your web root folder:
php artisan schedule:run
If your server doesn't support cron tasks, then CoinIndex will try to fetch market data in the background when visitors browse your website. This may cause slight delay in page loading. You should either change your server or use external cron task services.
Alternately, cron tasks may be externally run by opening /cron
page in your browser. So if you've installed the app to www.example.com
then cron URL will be www.example.com/cron
The crontab entry should look similar to:
* * * * * wget --quiet -O /dev/null http://www.example.com/cron
Don't forget to replace http://www.example.com/
with the actual URL of your app.
Apache Server Configuration
The following .htaccess
file for Apache web server is provided with CoinIndex:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> # Hide a specific file <Files .env> Order allow,deny Deny from all </Files> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
Nginx Server Configuration
If you are deploying your application to a server that is running Nginx, you may use the following configuration file as a starting point for configuring your web server. Most likely, this file will need to be customized depending on your server's configuration
server { server_name www.example.com; listen 80; listen [::]:80; root /var/www/html/www.example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; add_header Cache-Control "public"; } location = /favicon.ico { access_log drop; log_not_found off; } location ~ /\.ht { access_log denied; log_not_found off; deny all; } location ~ /\.(?!well-known).* { access_log denied; log_not_found off; deny all; } location ~ ~$ { access_log denied; log_not_found off; deny all; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_keep_conn on; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Setting Directory Permissions from Command Line
The CoinIndex application directory may be readable but not writable by the web server. This is correct for the majority of application files, but there are few directories that need special treatment. Specifically, wherever CoinIndex stores uploaded media and cached data, the web server must be able not only to access them but also to write files to them.
Let's change the group ownership of the storage and bootstrap/cache directories to www-data
.
sudo chgrp -R www-data storage bootstrap/cache
Then recursively grant all permissions, including write and execute, to the group:
sudo chmod -R ug+rwx storage bootstrap/cache
How to change configuration settings manually
The CoinIndex configuration file is automatically created when you install CoinIndex. If you want to change configuration settings manually, this section explains syntax and content of the file.
Usually, you do not need to fiddle with the configuration file .env
after it has been created by the installer. Sometimes manually editing this file is still necessary and useful, for example when troubleshooting a broken installation or when moving an existing CoinIndex installation to a new server.
In the following code listing you see an example configuration with the most common settings.
ADMIN_EMAIL= THEME_COLOR=blue GOOGLE_ANALYTICS_ID= ADSENSE_PUB_ID= ADSENSE_SLOT1_ID= ADSENSE_SLOT2_ID= CHANGELLY_AFF_ID= DONATE_BTC= DONATE_ETH= DONATE_LTC= DISQUS_ENABLED=true DISQUS_USERNAME= LARAVEL_PAGE_SPEED_ENABLE=true
Updating CoinIndex
Before you proceed with the upgrade, we strongly advise you to make a backup of your CoinIndex. This means if there are any issues you can restore your website.
Step #1 - Replace CoinIndex files
- Get the latest CoinIndex zip file from your codecanyon account.
- Unpack the zip file that you downloaded.
- Using FTP or your shell access, upload the new
/updates/vN.N/upload
directory to your web host, in place of the previously deleted directories. - Upload all the individual files and folders from the /upload folder to your existing CoinIndex folder, overwriting existing files. Do NOT delete any files or folders in your existing CoinIndex directory (except for the one being overwritten by new files).
Step #2: Purge stale data
Visit your CoinIndex reset page at www.YOURDOMAIN.com/reset
. CoinIndex will remove all stale data from the internal cache storage.
Done!