Before installing ProSchedule, ensure your server meets the following requirements. The installation system will automatically check these requirements and provide detailed feedback.
🖥️ Server Requirements
PHP Requirements
- PHP Version: 7.4 or higher (PHP 8.0+ recommended)
- Memory Limit: 256MB minimum (512MB recommended)
- Max Execution Time: 300 seconds minimum
- Upload Max Filesize: 64MB minimum
- Post Max Size: 64MB minimum
Required PHP Extensions
The following PHP extensions must be installed and enabled:
Core Extensions
- ✅ BCMath - For mathematical operations
- ✅ Ctype - For character type checking
- ✅ Fileinfo - For file type detection
- ✅ JSON - For JSON data handling
- ✅ Mbstring - For multibyte string support
- ✅ OpenSSL - For secure communications
- ✅ PDO - For database connectivity
- ✅ Tokenizer - For PHP tokenization
- ✅ XML - For XML processing
Database Extensions
- ✅ PDO MySQL - For MySQL database support
- ✅ PDO PostgreSQL - For PostgreSQL database support (optional)
- ✅ PDO SQLite - For SQLite database support (optional)
Additional Extensions
- ✅ GD - For image processing
- ✅ cURL - For HTTP requests
- ✅ Zip - For archive handling
- ✅ Intl - For internationalization
- ✅ PCRE - For regular expressions
Database Requirements
- MySQL: 5.7 or higher (MySQL 8.0+ recommended)
- PostgreSQL: 10.0 or higher (optional)
- SQLite: 3.8.8 or higher (optional)
Web Server Requirements
- Apache: 2.4 or higher with mod_rewrite enabled
- Nginx: 1.18 or higher with PHP-FPM
- IIS: 8.0 or higher (Windows servers)
📁 Directory Permissions
The following directories must be writable by the web server:
Required Writable Directories
- ✅
storage/- Application storage - ✅
storage/app/- File storage - ✅
storage/framework/- Framework cache - ✅
storage/logs/- Application logs - ✅
bootstrap/cache/- Bootstrap cache - ✅
public/- Public assets (if needed)
Recommended Permissions
# Set directory permissions
chmod -R 755 storage/
chmod -R 755 bootstrap/cache/
chmod -R 755 public/
# Set file permissions
find storage/ -type f -exec chmod 644 {} \;
find bootstrap/cache/ -type f -exec chmod 644 {} \;
🌐 Network Requirements
Outbound Connections
ProSchedule requires outbound internet access for:
- License Validation: Connection to license verification servers
- Email Sending: SMTP server connections
- Calendar Integration: External calendar API access
- Updates: Software update checks
- Analytics: Usage analytics (optional)
Required Ports
- HTTP: Port 80 (for web access)
- HTTPS: Port 443 (for secure web access)
- SMTP: Port 587/465 (for email sending)
- Database: Port 3306 (MySQL), 5432 (PostgreSQL)
🔒 Security Requirements
SSL/TLS
- HTTPS: Strongly recommended for production environments
- SSL Certificate: Valid SSL certificate for secure communications
- TLS Version: TLS 1.2 or higher
Firewall Configuration
- Web Access: Allow HTTP/HTTPS traffic
- Database Access: Restrict database access to application servers only
- Admin Access: Consider IP restrictions for admin areas
📊 Performance Requirements
Minimum Specifications
- CPU: 1 core, 2.0 GHz
- RAM: 1GB minimum (2GB recommended)
- Storage: 5GB available space
- Bandwidth: 100GB monthly transfer
Recommended Specifications
- CPU: 2+ cores, 2.5+ GHz
- RAM: 4GB or higher
- Storage: 20GB+ SSD storage
- Bandwidth: 500GB+ monthly transfer
🧪 Testing Your Requirements
Manual PHP Check
Create a PHP file with the following content to check your PHP configuration:
<?php
// Check PHP version
echo "PHP Version: " . PHP_VERSION . "\n";
// Check required extensions
$required_extensions = [
'bcmath', 'ctype', 'fileinfo', 'json', 'mbstring',
'openssl', 'pdo', 'tokenizer', 'xml', 'gd', 'curl',
'zip', 'intl', 'pcre'
];
foreach ($required_extensions as $ext) {
echo $ext . ": " . (extension_loaded($ext) ? "✅ Loaded" : "❌ Missing") . "\n";
}
// Check PHP settings
echo "Memory Limit: " . ini_get('memory_limit') . "\n";
echo "Max Execution Time: " . ini_get('max_execution_time') . "\n";
echo "Upload Max Filesize: " . ini_get('upload_max_filesize') . "\n";
echo "Post Max Size: " . ini_get('post_max_size') . "\n";
?>
Installation System Check
The ProSchedule installation system will automatically:
- ✅ Check PHP version and extensions
- ✅ Verify directory permissions
- ✅ Test database connectivity
- ✅ Validate server configuration
- ✅ Provide detailed feedback and recommendations
🚨 Common Issues
PHP Version Issues
- Problem: PHP version too old
- Solution: Upgrade to PHP 7.4 or higher
- Check: Contact your hosting provider for PHP version upgrade
Missing Extensions
- Problem: Required PHP extensions not installed
- Solution: Install missing extensions through your hosting control panel
- Check: Most hosting providers have extension management in cPanel
Permission Issues
- Problem: Directories not writable
- Solution: Set proper file permissions (755 for directories, 644 for files)
- Check: Use File Manager in cPanel or FTP client
Database Connection Issues
- Problem: Cannot connect to database
- Solution: Verify database credentials and server access
- Check: Test database connection through phpMyAdmin
📞 Getting Help
If you're unsure about your server requirements:
- Contact Your Hosting Provider: They can verify your server configuration
- Use the Installation Check: The installer will validate all requirements
- Check Our Support: Contact our support team for assistance
- Community Forums: Ask questions in our community forums
Next Steps:
- Installation overview
- Installation process
- Post-installation
- Troubleshooting
← All ProSchedule – Online Appointment Booking Software for Service Businesses documentation