Purchase Now

Before You Begin

Important Prerequisites

Ensure your server meets all system requirements before proceeding with the installation.

What You'll Need

  • Valid Purchase Code - Your Envato purchase code from CodeCanyon
  • Web Server - Apache 2.4+ or Nginx 1.18+ with PHP 8.2+
  • Database - MySQL 8.0+ with an empty database created
  • FTP/SFTP Access - To upload files to your server
  • SSL Certificate - Recommended for secure connections (required for payment gateways)

Prepare Your Database

Before installation, create an empty MySQL database and note down the following credentials:

  • Database Host (usually localhost or 127.0.0.1)
  • Database Port (usually 3306)
  • Database Name
  • Database Username
  • Database Password
MySQL
-- Create database (run in MySQL/phpMyAdmin)
CREATE DATABASE cointrail_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Create user (optional but recommended)
CREATE USER 'cointrail_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON cointrail_db.* TO 'cointrail_user'@'localhost';
FLUSH PRIVILEGES;

Web Installer

The web installer is the easiest way to install CoinTrail. Follow these steps:

Upload Files

Extract the downloaded ZIP file and upload all contents from the crypto folder to your web server's public directory (usually public_html or www).

File Structure

Make sure to upload all files including hidden files like .htaccess and .env.example

Set Folder Permissions

Set the following folders to be writable (permission 755 or 777):

  • storage/ (and all subfolders)
  • bootstrap/cache/
  • public/
Terminal
# Via SSH
chmod -R 755 storage bootstrap/cache public
chown -R www-data:www-data storage bootstrap/cache public

Access the Installer

Open your browser and navigate to:

URL
https://yourdomain.com/install

You should see the CoinTrail Installation wizard:

Complete the Installation Steps

The installer will guide you through 5 steps:

The installer checks if your server meets all requirements:

  • PHP Version (8.2+)
  • Required PHP Extensions (PDO, mbstring, OpenSSL, JSON, cURL, GD, etc.)
  • Folder Permissions (storage, bootstrap/cache, public)

All items must show a green checkmark to proceed. If any requirement fails, fix it before continuing.

Screenshot: Server requirements checklist showing PHP version, extensions, and folder permissions installer/requirements-check.png

Server requirements checklist with all items passing

Enter your Envato purchase code to verify your license.

Where to find your purchase code:

  1. Go to CodeCanyon → Downloads
  2. Find CoinTrail in your purchases
  3. Click "Download" → "License certificate & purchase code"
  4. Open the text file and copy your purchase code

The purchase code format looks like: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Screenshot: License verification step with purchase code input field installer/step2-license.png

Enter your Envato purchase code for verification

Enter your database connection details:

Field Description Example
Database Host MySQL server hostname localhost or 127.0.0.1
Database Port MySQL port number 3306
Database Name Your database name cointrail_db
Database Username MySQL username cointrail_user
Database Password MySQL password your_password

Click "Test Connection" to verify the database settings before proceeding.

Screenshot: Database configuration form with host, port, name, username, and password fields installer/step3-database.png

Database configuration with Test Connection button

Configure your site and create the admin account:

Site Information:
  • Site Name - Your website name (e.g., "CoinTrail")
  • Site URL - Full URL including https:// (e.g., "https://yourdomain.com")
Admin Account:
  • Admin Name - Your full name
  • Admin Email - Your email address (used for login)
  • Password - Minimum 8 characters, use a strong password
Screenshot: Site settings and admin account creation form installer/step4-admin.png

Configure site settings and create your admin account

The installer will:

  • Create the .env configuration file
  • Run database migrations (create tables)
  • Seed initial data (settings, subscription plans, etc.)
  • Create your admin account
  • Generate application encryption key
  • Create storage symbolic link

Once complete, you'll see links to access your homepage and admin panel.

Screenshot: Installation complete success screen with links to homepage and admin panel installer/step5-complete.png

Installation completed successfully!

Access Admin Panel

After successful installation, access your admin panel at:

URL
https://yourdomain.com/admin

Log in with the admin credentials you created during installation.

Screenshot: Admin panel login page installer/admin-login.png

Admin panel login screen at /admin

Post-Installation Setup

After installation, complete these important setup steps:

1. Configure Cron Jobs

CoinTrail requires a cron job to run scheduled tasks (price updates, news fetching, etc.):

Crontab
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

See the Cron Jobs Guide for detailed configuration.

2. Configure Payment Gateways

Go to Admin Panel → Payment Gateways to configure your payment processors:

  • Enable desired gateways (Stripe, PayPal, etc.)
  • Enter API credentials
  • Set sandbox/live mode

See the Payment Gateways Guide for detailed setup.

3. Configure API Settings

Go to Admin Panel → Settings → API Settings to configure:

  • CoinGecko API key (optional for higher rate limits)
  • Price update intervals
  • Tiered update settings

4. Configure Email

Go to Admin Panel → Settings → Email Settings to configure SMTP:

  • SMTP host, port, and encryption
  • Authentication credentials
  • From address and name

See the Email Configuration Guide for detailed setup.

5. Set Up SSL Certificate

SSL Required

An SSL certificate is required for payment gateways to work properly. Most payment processors will reject non-HTTPS requests.

Most hosting providers offer free SSL via Let's Encrypt. After enabling SSL, update your .env file:

.env
APP_URL=https://yourdomain.com
FORCE_HTTPS=true

6. Configure Site Settings

Go to Admin Panel → Settings → General Settings to customize:

  • Site Name & Logo - Upload your logo and set site name
  • Favicon - Upload a favicon for browser tabs
  • Default Currency - Set your preferred fiat currency (USD, EUR, GBP, etc.)
  • Timezone - Set your server timezone for accurate timestamps
  • Date/Time Format - Customize how dates are displayed

7. Configure Social Login (Optional)

Enable social authentication for easier user registration:

See the Social Login Setup Guide for detailed instructions.

8. Set Up reCAPTCHA

Protect your forms from spam and bots:

  1. Get your keys from Google reCAPTCHA Admin
  2. Go to Admin Panel → Settings → Security Settings
  3. Enter your Site Key and Secret Key
  4. Enable reCAPTCHA for registration, login, and contact forms

See the reCAPTCHA Setup Guide for detailed instructions.

9. Configure Subscription Plans

Set up your monetization strategy at Admin Panel → Subscriptions → Plans:

  • Create Plans - Define Free, Basic, Pro, and Enterprise tiers
  • Set Pricing - Monthly and yearly pricing options
  • Feature Limits - Portfolio coins, alerts, API calls per plan
  • Trial Period - Optional free trial for premium plans

See the Subscription Management Guide for detailed setup.

10. Initialize Cryptocurrency Data

Populate your database with cryptocurrency data:

  1. Go to Admin Panel → Crypto Data → Sync Settings
  2. Click "Sync All Coins" to fetch cryptocurrency data from CoinGecko
  3. This may take a few minutes depending on your rate limits
  4. Enable Auto-Sync to keep data updated automatically
API Rate Limits

CoinGecko's free tier has rate limits. Consider getting a Pro API key for higher limits and faster data syncing.

11. Set Up Queue Worker (Production)

For better performance, run background jobs asynchronously:

Supervisor Config
[program:cointrail-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path-to-your-project/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
numprocs=1
user=www-data
redirect_stderr=true
stdout_logfile=/path-to-your-project/storage/logs/worker.log

Alternatively, add a cron job for queue processing:

Crontab
* * * * * cd /path-to-your-project && php artisan queue:work --stop-when-empty >> /dev/null 2>&1

12. Verify File Permissions

Ensure proper permissions for security and functionality:

Terminal
# Set directory permissions
find /path-to-your-project -type d -exec chmod 755 {} \;

# Set file permissions
find /path-to-your-project -type f -exec chmod 644 {} \;

# Writable directories
chmod -R 775 /path-to-your-project/storage
chmod -R 775 /path-to-your-project/bootstrap/cache
chmod -R 775 /path-to-your-project/public/uploads

13. Production Optimization

Optimize your installation for production performance:

Terminal
# Cache configuration
php artisan config:cache

# Cache routes
php artisan route:cache

# Cache views
php artisan view:cache

# Optimize autoloader
composer install --optimize-autoloader --no-dev
Clear Cache After Changes

If you modify .env or config files, run php artisan config:clear to apply changes.

14. Set Up Backups

Protect your data with regular backups:

  • Database Backups - Schedule daily MySQL dumps
  • File Backups - Back up .env, storage/, and public/uploads/
  • Automated Backups - Use your hosting provider's backup feature or a service like spatie/laravel-backup
Crontab - Daily Database Backup
0 2 * * * mysqldump -u username -p'password' database_name > /path/to/backups/db_$(date +\%Y\%m\%d).sql

Common Issues

Cause: Usually a permissions issue or missing .htaccess file.

Solution:

  1. Check that .htaccess file exists in the root directory
  2. Set correct permissions: chmod -R 755 storage bootstrap/cache
  3. Check storage/logs/laravel.log for detailed error messages

Cause: Incorrect database credentials or MySQL server not running.

Solution:

  1. Verify database credentials in .env file
  2. Ensure the database exists and user has proper permissions
  3. Check if MySQL service is running
  4. Try connecting via command line: mysql -u username -p database_name

Cause: PHP errors are hidden or missing APP_KEY.

Solution:

  1. Temporarily set APP_DEBUG=true in .env to see errors
  2. Run php artisan key:generate if APP_KEY is empty
  3. Check PHP error logs on your server
  4. Clear caches: php artisan cache:clear && php artisan config:clear

Cause: Storage symbolic link not created.

Solution:

  1. Run php artisan storage:link
  2. If that fails, manually create the link:
Terminal
cd public
ln -s ../storage/app/public storage
Installation Complete!

If you've followed all steps, CoinTrail should now be installed and ready to use. Check out the Admin Panel Guide to start configuring your platform.