System Requirements
This page outlines the minimum and recommended system requirements for running HelpDesk Pro effectively.
Server Requirements
Minimum Requirements
Component | Requirement |
---|---|
PHP | 8.2 or higher |
Database | MySQL 8.0+ or MariaDB 10.4+ |
Web Server | Apache 2.4+ or Nginx 1.18+ |
Memory | 512MB RAM |
Storage | 100MB free space |
Extensions | See PHP Extensions below |
Recommended Requirements
Component | Recommendation |
---|---|
PHP | 8.3+ |
Database | MySQL 8.0+ with InnoDB |
Web Server | Nginx 1.20+ or Apache 2.4+ |
Memory | 2GB+ RAM |
Storage | 1GB+ free space (SSD recommended) |
CPU | 2+ cores |
PHP Extensions
HelpDesk Pro requires the following PHP extensions:
Required Extensions
- BCMath - For arbitrary precision mathematics
- Ctype - For character type checking
- cURL - For HTTP requests and API calls
- DOM - For XML/HTML processing
- Fileinfo - For file type detection
- JSON - For JSON data handling
- Mbstring - For multibyte string handling
- OpenSSL - For secure communications
- PCRE - For regular expressions
- PDO - For database abstraction
- Tokenizer - For PHP tokenization
- XML - For XML processing
Optional Extensions (Recommended)
- GD - For image processing
- Imagick - For advanced image manipulation
- Redis - For caching and sessions
- Memcached - For caching
- Zip - For file compression
- Intl - For internationalization
Check PHP Extensions
You can check if required extensions are installed:
# Check all extensions
php -m
# Check specific extension
php -m | grep curl
# Or use PHP info
php -i | grep -i extension
Database Requirements
MySQL/MariaDB
Minimum Version: MySQL 8.0+ or MariaDB 10.4+
Recommended Configuration:
-- Character set
SET NAMES utf8mb4;
SET CHARACTER SET utf8mb4;
-- InnoDB engine
SET default_storage_engine = InnoDB;
-- Time zone support
SET time_zone = '+00:00';
Required Privileges:
- CREATE
- DROP
- ALTER
- INSERT
- UPDATE
- DELETE
- SELECT
- INDEX
- REFERENCES
Database Size Estimates
Component | Estimated Size |
---|---|
Base Installation | ~50MB |
1,000 Tickets | ~10MB |
10,000 Tickets | ~100MB |
File Attachments | Variable |
Chat Messages | ~1MB per 1,000 messages |
Web Server Configuration
Apache
Minimum Version: 2.4+
Required Modules:
- mod_rewrite
- mod_ssl (for HTTPS)
- mod_headers (recommended)
Configuration Example:
<VirtualHost *:80>
ServerName helpdesk.yourdomain.com
DocumentRoot /var/www/html/helpdesk-pro/public
<Directory /var/www/html/helpdesk-pro/public>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/helpdesk_error.log
CustomLog ${APACHE_LOG_DIR}/helpdesk_access.log combined
</VirtualHost>
Nginx
Minimum Version: 1.18+
Configuration Example:
server {
listen 80;
server_name helpdesk.yourdomain.com;
root /var/www/html/helpdesk-pro/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;
}
location ~ /\.ht {
deny all;
}
}
Development Requirements
Node.js
Version: 18.0+ (LTS recommended)
Check Version:
node --version
npm --version
Composer
Version: Latest stable
Installation:
# Download and install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Check Version:
composer --version
Git
Version: 2.0+
Check Version:
git --version
Performance Considerations
Memory Requirements
Usage Level | RAM Recommendation |
---|---|
Small (< 100 users) | 1GB |
Medium (100-500 users) | 2-4GB |
Large (500+ users) | 4-8GB |
Enterprise (1000+ users) | 8GB+ |
Storage Requirements
Component | Storage Needs |
---|---|
Application Files | ~200MB |
Database | 10MB per 1,000 tickets |
File Attachments | Variable (user-dependent) |
Logs | 1-10MB per day |
Cache | 50-500MB |
CPU Requirements
Usage Level | CPU Recommendation |
---|---|
Small | 1-2 cores |
Medium | 2-4 cores |
Large | 4-8 cores |
Enterprise | 8+ cores |
Security Requirements
SSL/TLS
Recommended: TLS 1.2+ with strong ciphers
Certificate: Valid SSL certificate (Let's Encrypt recommended)
Firewall
Required Ports:
- 80 (HTTP)
- 443 (HTTPS)
- 22 (SSH) - for administration
Optional Ports:
- 3306 (MySQL) - if external access needed
- 6379 (Redis) - if using Redis
File Permissions
# Application files
chmod -R 755 /path/to/helpdesk
# Storage and cache
chmod -R 775 storage/
chmod -R 775 bootstrap/cache/
# Ownership
chown -R www-data:www-data /path/to/helpdesk
Cloud Hosting Recommendations
Shared Hosting
Minimum Requirements:
- PHP 8.2+
- MySQL 8.0+
- 512MB RAM
- mod_rewrite enabled
Recommended Providers:
- SiteGround
- A2 Hosting
- InMotion Hosting
VPS/Dedicated Servers
Recommended Specifications:
- 2GB+ RAM
- 2+ CPU cores
- 20GB+ SSD storage
- Ubuntu 20.04+ or CentOS 8+
Recommended Providers:
- DigitalOcean
- Linode
- Vultr
- AWS EC2
Managed Hosting
Laravel-Specific Hosts:
- Laravel Forge
- Laravel Vapor
- Ploi
- ServerPilot
Browser Compatibility
Supported Browsers
Browser | Minimum Version |
---|---|
Chrome | 90+ |
Firefox | 88+ |
Safari | 14+ |
Edge | 90+ |
Mobile Safari | 14+ |
Chrome Mobile | 90+ |
Required JavaScript Features
- ES6+ support
- Fetch API
- WebSocket support (for real-time features)
- Local Storage
- Session Storage
Third-Party Services
Required Services
Service | Purpose | Required |
---|---|---|
Email Provider | SMTP for notifications | Yes |
Database | Data storage | Yes |
Optional Services
Service | Purpose | Required |
---|---|---|
OpenAI | AI features | No |
Pusher | Real-time features | No |
Redis | Caching | No |
CDN | File delivery | No |
System Check Script
You can use this PHP script to check if your server meets the requirements:
<?php
// requirements-check.php
echo "HelpDesk Pro Requirements Check\n";
echo "===============================\n\n";
// PHP Version
$phpVersion = PHP_VERSION;
echo "PHP Version: $phpVersion ";
if (version_compare($phpVersion, '8.2.0', '>=')) {
echo "✓\n";
} else {
echo "✗ (Requires 8.2+)\n";
}
// Required Extensions
$requiredExtensions = [
'bcmath', 'ctype', 'curl', 'dom', 'fileinfo',
'json', 'mbstring', 'openssl', 'pcre', 'pdo', 'tokenizer', 'xml'
];
echo "\nRequired Extensions:\n";
foreach ($requiredExtensions as $ext) {
echo "- $ext: ";
if (extension_loaded($ext)) {
echo "✓\n";
} else {
echo "✗\n";
}
}
// Memory Limit
$memoryLimit = ini_get('memory_limit');
echo "\nMemory Limit: $memoryLimit\n";
// Upload Limits
echo "Upload Max Filesize: " . ini_get('upload_max_filesize') . "\n";
echo "Post Max Size: " . ini_get('post_max_size') . "\n";
echo "Max Execution Time: " . ini_get('max_execution_time') . "s\n";
echo "\nCheck complete!\n";
?>
Next Steps
Once you've verified your system meets the requirements:
- Proceed to Installation Guide
- Review Configuration Guide
- Check Troubleshooting Guide if you encounter issues
Need Help? If you're unsure about any requirements, please contact our support team for assistance.