Installation Guide
Welcome to HelpDesk Pro! This comprehensive guide will walk you through installing your AI-powered customer support system. Choose the installation method that best fits your hosting environment and technical expertise.
📋 Table of Contents
- System Requirements
- Pre-Installation Checklist
- Installation Methods
- Post-Installation Setup
- Configuration Guide
- Troubleshooting
- Next Steps
System Requirements
🖥️ Server Requirements
Component | Minimum | Recommended |
---|---|---|
PHP | 8.2+ | 8.3+ |
Database | MySQL 8.0+ / MariaDB 10.4+ | MySQL 8.0+ |
Web Server | Apache 2.4+ / Nginx 1.18+ | Nginx 1.20+ |
Memory | 512MB RAM | 2GB+ RAM |
Storage | 100MB free space | 1GB+ free space |
SSL | Not required | Highly recommended |
📦 Required PHP Extensions
Ensure these PHP extensions are installed and enabled:
- ✅ BCMath - For precise mathematical calculations
- ✅ Ctype - For character type checking
- ✅ cURL - For HTTP requests and API calls
- ✅ DOM - For XML/HTML processing
- ✅ Fileinfo - For file type detection
- ✅ JSON - For data serialization
- ✅ Mbstring - For multibyte string handling
- ✅ OpenSSL - For secure connections
- ✅ PCRE - For regular expressions
- ✅ PDO - For database abstraction
- ✅ Tokenizer - For PHP parsing
- ✅ XML - For XML processing
🛠️ Development Tools (VPS Only)
- Node.js: 18.0+ (for frontend compilation)
- Composer: Latest version (for PHP dependencies)
- Git: For version control
Pre-Installation Checklist
Before starting the installation, ensure you have:
✅ Account Information
- [ ] CodeCanyon purchase confirmation
- [ ] Download link for HelpDesk Pro
- [ ] Access to your hosting control panel
✅ Hosting Requirements
- [ ] PHP 8.2+ installed and enabled
- [ ] MySQL/MariaDB database available
- [ ] Required PHP extensions enabled
- [ ] Sufficient disk space (100MB+)
- [ ] Domain name pointing to your server
✅ Database Information
- [ ] Database host (usually
localhost
) - [ ] Database name
- [ ] Database username
- [ ] Database password
- [ ] Database port (usually
3306
)
✅ Admin Account Details
- [ ] Admin username (choose a secure one)
- [ ] Admin password (use a strong password)
- [ ] Admin email address
- [ ] Company information
Installation Methods
Choose the installation method that matches your hosting environment:
🏠 cPanel Installation (Beginner-Friendly)
Perfect for shared hosting users and beginners. This method uses cPanel's graphical interface and doesn't require command line access.
Step 1: Download and Prepare Files
Download HelpDesk Pro
- Log into your CodeCanyon account
- Go to your downloads section
- Download the latest version of HelpDesk Pro
- Save the ZIP file to your computer
Extract the Files
- Right-click the downloaded ZIP file
- Select "Extract All" or use your preferred extraction tool
- You should see a folder named
helpdesk-pro
or similar - Note: Keep the extracted folder handy for the next steps
Step 2: Upload Files to cPanel
Access cPanel File Manager
- Log into your cPanel account
- Find and click "File Manager" in the Files section
- Navigate to
public_html
(or your domain's root folder) - Important: If you have multiple domains, select the correct domain folder
Upload the Files
- Click the "Upload" button in File Manager
- Select all files and folders from the extracted HelpDesk Pro folder
- Upload them to your domain's root directory
- Critical: Upload files directly to
public_html
, not in a subfolder - Wait for the upload to complete (this may take a few minutes)
Verify Upload
- Check that all files are uploaded correctly
- Look for folders like
app
,config
,public
,storage
, etc. - If you uploaded a ZIP file, extract it in File Manager and delete the ZIP
Step 3: Set File Permissions
Set Folder Permissions
- Select the
storage
folder - Right-click and choose "Permissions"
- Set permissions to
777
(read, write, execute for all) - Click "Change Permissions"
- Select the
Set Cache Permissions
- Select the
bootstrap/cache
folder - Right-click and choose "Permissions"
- Set permissions to
777
- Click "Change Permissions"
- Select the
Set Other Folder Permissions
- Select all other folders (except
storage
andbootstrap/cache
) - Right-click and choose "Permissions"
- Set permissions to
755
- Click "Change Permissions"
- Select all other folders (except
Step 4: Create Database
Access MySQL Databases
- In cPanel, find "MySQL Databases" in the Databases section
- Click to open the MySQL Databases interface
Create Database
- In the "Create New Database" section
- Enter database name:
helpdesk_pro
(or your preferred name) - Click "Create Database"
- Note: Your hosting provider may add a prefix to the database name
Create Database User
- Scroll down to "Add New User" section
- Enter username:
helpdesk_user
(or your preferred name) - Enter a strong password (use the password generator)
- Click "Create User"
Add User to Database
- In the "Add User to Database" section
- Select the user you just created
- Select the database you just created
- Click "Add"
- Check "All Privileges" in the privileges list
- Click "Make Changes"
Note Database Details
- Write down the complete database name (with prefix)
- Write down the complete username (with prefix)
- Write down the password
- You'll need these for the installer
Step 5: Run the Installation Wizard
Access the Installer
- Open your web browser
- Navigate to
https://yourdomain.com/install
- Replace
yourdomain.com
with your actual domain name - Note: Use
https://
if you have SSL, otherwise usehttp://
You should see the HelpDesk Pro installer welcome screen:
┌─────────────────────────────────────┐ │ HelpDesk Pro Installer │ │ │ │ Welcome to HelpDesk Pro Setup │ │ │ │ [Check Requirements] │ └─────────────────────────────────────┘
System Requirements Check
- Click "Check Requirements" to proceed
- The installer will automatically check your server requirements
- All items should show green checkmarks ✅
- If any items show red X marks ❌, contact your hosting provider
Required PHP Extensions Check:
- ✅ PHP 8.2+ (or higher)
- ✅ MySQL/MariaDB support
- ✅ OpenSSL extension
- ✅ PDO extension
- ✅ Mbstring extension
- ✅ Tokenizer extension
- ✅ XML extension
- ✅ Ctype extension
- ✅ JSON extension
- ✅ cURL extension
File Permissions Check
- Click "Check Permissions" to verify folder permissions
- The following directories must be writable:
- ✅
storage/
directory - ✅
bootstrap/cache/
directory - ✅
resources/lang/
directory - ✅
public/
directory
- ✅
- If any show red X marks, fix permissions as described in Step 3
Purchase Code Verification
- Enter your CodeCanyon purchase code
- You can find your purchase code in your CodeCanyon downloads
- Help: Where to find your purchase code
- Click "Submit" after entering your purchase code
Database Configuration
- Database Host: Usually
localhost
- Database Port: Usually
3306
- Database Name: Enter the complete database name (with prefix)
- Database Username: Enter the complete username (with prefix)
- Database Password: Enter the password you created
- Click "Test Connection" to verify
- Click "Submit" when connection is successful
- Database Host: Usually
Admin Account Setup
- Admin Username: Choose a secure username
- Admin Password: Use a strong password (minimum 8 characters)
- Admin Email: Enter your email address
- Company Name: Enter your company name
- Site URL: Should auto-populate with your domain
- Click "Complete Setup" to finish
Installation Complete
- Review all settings
- Click "Install HelpDesk Pro"
- Wait for the installation to complete
- You'll see a success message when finished
- Important: Delete the
install
folder for security
Step 6: Post-Installation (cPanel)
Delete Installer Files (Security)
- In File Manager, navigate to your domain folder
- Delete the
install
folder completely - This prevents unauthorized access to the installer
Test Your Installation
- Visit your domain to see the public ticket page
- Log into the admin dashboard at
https://yourdomain.com/admin
- Create a test ticket to verify everything works
- Check that email notifications are working
🖥️ VPS/Server Installation (Advanced)
For users with VPS, dedicated servers, or cloud hosting. This method provides full control and better performance.
Step 1: Server Preparation
Connect to Your Server
bash# Connect via SSH ssh root@your-server-ip # or ssh username@your-server-ip
Update System Packages
bash# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL/Rocky Linux sudo yum update -y # or for newer versions sudo dnf update -y
Install Required Software
bash# Ubuntu/Debian sudo apt install -y nginx mysql-server php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath php8.2-tokenizer php8.2-dom php8.2-fileinfo php8.2-openssl php8.2-pcre composer git unzip curl # CentOS/RHEL/Rocky Linux sudo yum install -y nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-tokenizer php-dom php-fileinfo php-openssl php-pcre composer git unzip curl
Start and Enable Services
bashsudo systemctl start nginx mysql php8.2-fpm sudo systemctl enable nginx mysql php8.2-fpm
Step 2: Database Setup
Secure MySQL Installation
bashsudo mysql_secure_installation
- Set root password when prompted
- Remove anonymous users:
Y
- Disallow root login remotely:
Y
- Remove test database:
Y
- Reload privilege tables:
Y
Create Database and User
bashsudo mysql -u root -p
sqlCREATE DATABASE helpdesk_pro CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'helpdesk_user'@'localhost' IDENTIFIED BY 'your_strong_password_here'; GRANT ALL PRIVILEGES ON helpdesk_pro.* TO 'helpdesk_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
Step 3: Download and Setup HelpDesk
Navigate to Web Directory
bashcd /var/www/html
Download HelpDesk Pro
bash# If you have the ZIP file, upload it first via SCP/SFTP, then: unzip helpdesk-pro.zip mv helpdesk-pro helpdesk cd helpdesk # Or if you have Git access: # git clone https://github.com/your-repo/helpdesk-pro.git helpdesk # cd helpdesk
Install Dependencies
bash# Install PHP dependencies composer install --no-dev --optimize-autoloader # Install Node.js dependencies (if Node.js is installed) npm install npm run build
Set Proper Permissions
bashsudo chown -R www-data:www-data /var/www/html/helpdesk sudo chmod -R 755 /var/www/html/helpdesk sudo chmod -R 777 /var/www/html/helpdesk/storage sudo chmod -R 777 /var/www/html/helpdesk/bootstrap/cache
Step 4: Configure Nginx
Create Nginx Configuration
bashsudo nano /etc/nginx/sites-available/helpdesk
Add Configuration
nginxserver { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/html/helpdesk/public; index index.php index.html; # Security headers add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always; # Main location block location / { try_files $uri $uri/ /index.php?$query_string; } # PHP processing location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } # Deny access to hidden files location ~ /\.ht { deny all; } # Deny access to sensitive files location ~ /\.(env|git) { deny all; } }
Enable Site and Test
bashsudo ln -s /etc/nginx/sites-available/helpdesk /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
Step 5: Environment Configuration
Create Environment File
bashcd /var/www/html/helpdesk cp .env.example .env
Generate Application Key
bashphp artisan key:generate
Configure Environment Variables
bashnano .env
Update these essential settings:
bashAPP_NAME="HelpDesk Pro" APP_ENV=production APP_DEBUG=false APP_URL=https://yourdomain.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=helpdesk_pro DB_USERNAME=helpdesk_user DB_PASSWORD=your_strong_password_here # Mail Configuration MAIL_MAILER=smtp MAIL_HOST=your-smtp-host MAIL_PORT=587 MAIL_USERNAME=your-email@domain.com MAIL_PASSWORD=your-email-password MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=noreply@yourdomain.com MAIL_FROM_NAME="${APP_NAME}"
Step 6: Run the Installation Wizard
Access the Installer
- Open your browser
- Navigate to
https://yourdomain.com/install
- Follow the same installation wizard as the cPanel method
Complete Installation
- The installer will run database migrations
- Create your admin account
- Set up initial configuration
Step 7: Post-Installation (VPS)
Optimize Performance
bashcd /var/www/html/helpdesk php artisan config:cache php artisan route:cache php artisan view:cache php artisan storage:link
Set Up SSL (Recommended)
bash# Install Certbot sudo apt install certbot python3-certbot-nginx # Get SSL certificate sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # Test auto-renewal sudo certbot renew --dry-run
Configure Firewall
bashsudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable
Set Up Cron Jobs
bashsudo crontab -e
Add this line:
bash* * * * * cd /var/www/html/helpdesk && php artisan schedule:run >> /dev/null 2>&1
Post-Installation Setup
1. Essential Configuration
System Settings
- Go to Admin → Settings → General
- Set your company information
- Configure timezone and language
- Set up email templates
Email Configuration
- Go to Admin → Settings → Email
- Configure SMTP settings
- Test email delivery
- Set up email notifications
Departments Setup
- Go to Admin → Departments
- Create departments (Technical Support, Sales, Billing, etc.)
- Assign department managers
- Set up routing rules
Categories Setup
- Go to Admin → Categories
- Create ticket categories and subcategories
- Set up auto-assignment rules
- Configure SLA settings
2. Optional Features
AI Features
- Go to Admin → Settings → AI
- Enter your OpenAI API key
- Enable AI-powered features
- Configure AI responses
Real-Time Chat
- Go to Admin → Settings → Chat
- Configure Pusher settings
- Enable live chat features
- Set up chat widgets
Email Piping
- Go to Admin → Settings → Email Piping
- Configure IMAP settings
- Set up automatic ticket creation
- Test email processing
Configuration Guide
Environment Variables
Key environment variables you should configure:
# Application
APP_NAME="HelpDesk Pro"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com
# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=helpdesk_pro
DB_USERNAME=helpdesk_user
DB_PASSWORD=your_password
# Mail
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email@domain.com
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
# OpenAI (for AI features)
OPENAI_API_KEY=your-openai-api-key
OPENAI_ORGANIZATION=your-org-id
# Pusher (for real-time features)
PUSHER_APP_ID=your-pusher-app-id
PUSHER_APP_KEY=your-pusher-key
PUSHER_APP_SECRET=your-pusher-secret
PUSHER_APP_CLUSTER=us2
# Queue
QUEUE_CONNECTION=database
Web Server Configuration
Apache (.htaccess)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Nginx
server {
listen 80;
server_name yourdomain.com;
root /var/www/html/helpdesk/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
Troubleshooting
Common Issues and Solutions
Permission Errors
# Fix storage permissions
sudo chown -R www-data:www-data /var/www/html/helpdesk
sudo chmod -R 755 /var/www/html/helpdesk
sudo chmod -R 777 /var/www/html/helpdesk/storage
sudo chmod -R 777 /var/www/html/helpdesk/bootstrap/cache
Database Connection Issues
- Verify database credentials in
.env
- Ensure MySQL service is running
- Check firewall settings
- Verify database exists and user has permissions
Email Not Working
- Verify SMTP settings in admin panel
- Check spam folders
- Test with different email providers
- Verify email server allows SMTP connections
500 Internal Server Error
# Check logs
tail -f /var/log/nginx/error.log
tail -f /var/www/html/helpdesk/storage/logs/laravel.log
# Clear caches
cd /var/www/html/helpdesk
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
Real-Time Features Not Working
- Verify Pusher configuration
- Check WebSocket support
- Review browser console for errors
- Ensure firewall allows WebSocket connections
Getting Help
If you encounter issues:
Check the Logs
- Laravel logs:
storage/logs/laravel.log
- Nginx logs:
/var/log/nginx/error.log
- PHP logs:
/var/log/php8.2-fpm.log
- Laravel logs:
Clear Caches
bashphp artisan cache:clear php artisan config:clear php artisan route:clear php artisan view:clear
Contact Support
- Visit our support page
- Provide detailed error information
- Include relevant log files
Next Steps
Once installation is complete:
- Read the User Guide to learn how to use the system
- Configure AI Features for intelligent automation
- Set up Email Piping for automatic ticket creation
- Explore Customization Options to tailor the system to your needs
📹 Video Tutorials
Complete Installation Walkthrough
Watch this comprehensive video tutorial for a complete step-by-step installation process:
🎥 HelpDesk Pro Installation Tutorial
This video covers:
- Downloading and extracting files
- Uploading to cPanel
- Creating database
- Running the installation wizard
- Post-installation setup
Additional Help Videos
📁 Creating Subdomain in cPanel:How to Create a Subdomain in cPanel
🗄️ Creating Database in cPanel:How to Create a MySQL Database in cPanel
🎉 Congratulations!
You've successfully installed HelpDesk Pro! Your AI-powered customer support system is now ready to help you deliver exceptional customer experiences.
📞 Need Help?
- Documentation: Browse our comprehensive guides
- Support: Contact our support team
- Community: Join our user community for tips and tricks
Last updated: January 2025