Installation Guide
Complete step-by-step guide to install CoinTrail on your server.
Before You Begin
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
localhostor127.0.0.1) - Database Port (usually
3306) - Database Name
- Database Username
- Database Password
-- 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).
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/
# 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:
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.
Server requirements checklist with all items passing
Enter your Envato purchase code to verify your license.
Where to find your purchase code:
- Go to CodeCanyon → Downloads
- Find CoinTrail in your purchases
- Click "Download" → "License certificate & purchase code"
- Open the text file and copy your purchase code
The purchase code format looks like: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
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.
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
Configure site settings and create your admin account
The installer will:
- Create the
.envconfiguration 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.
Installation completed successfully!
Access Admin Panel
After successful installation, access your admin panel at:
https://yourdomain.com/admin
Log in with the admin credentials you created during installation.
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.):
* * * * * 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
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:
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:
- Google OAuth - Create credentials at Google Cloud Console
- Facebook Login - Set up at Facebook Developers
- GitHub OAuth - Configure at GitHub Developer Settings
See the Social Login Setup Guide for detailed instructions.
8. Set Up reCAPTCHA
Protect your forms from spam and bots:
- Get your keys from Google reCAPTCHA Admin
- Go to Admin Panel → Settings → Security Settings
- Enter your Site Key and Secret Key
- 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:
- Go to Admin Panel → Crypto Data → Sync Settings
- Click "Sync All Coins" to fetch cryptocurrency data from CoinGecko
- This may take a few minutes depending on your rate limits
- Enable Auto-Sync to keep data updated automatically
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:
[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:
* * * * * 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:
# 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:
# 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
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/, andpublic/uploads/ - Automated Backups - Use your hosting provider's backup feature or a service like spatie/laravel-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:
- Check that
.htaccessfile exists in the root directory - Set correct permissions:
chmod -R 755 storage bootstrap/cache - Check
storage/logs/laravel.logfor detailed error messages
Cause: Incorrect database credentials or MySQL server not running.
Solution:
- Verify database credentials in
.envfile - Ensure the database exists and user has proper permissions
- Check if MySQL service is running
- Try connecting via command line:
mysql -u username -p database_name
Cause: PHP errors are hidden or missing APP_KEY.
Solution:
- Temporarily set
APP_DEBUG=truein.envto see errors - Run
php artisan key:generateif APP_KEY is empty - Check PHP error logs on your server
- Clear caches:
php artisan cache:clear && php artisan config:clear
Cause: Storage symbolic link not created.
Solution:
- Run
php artisan storage:link - If that fails, manually create the link:
cd public
ln -s ../storage/app/public storage
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.