Appearance
System Requirements
This document outlines the minimum system requirements needed to install and run Growstack CRM on your server.
Refer to the online documentation for video tutorials covering the installation process.
Table of Contents
- PHP Requirements
- Database Requirements
- Web Server Requirements
- Server Software Requirements
- Memory and Disk Space
- Required PHP Extensions
- Recommended Settings
- Checking Your Server
PHP Requirements
Minimum PHP Version
- PHP 8.2.0 or higher is required
- PHP 8.3+ is recommended for better performance
How to Check PHP Version
Via Command Line:
bash
php -vVia Browser: Create a file named phpinfo.php in your web root with the following content:
php
<?php phpinfo(); ?>Then access it via your browser at http://yourdomain.com/phpinfo.php
Note: After checking, delete the phpinfo.php file for security reasons.
Database Requirements
Growstack CRM supports the following database systems:
MySQL
- Minimum Version: MySQL 5.7 or higher
- Recommended Version: MySQL 8.0+ or MariaDB 10.3+
- Character Set: UTF-8 (utf8mb4 recommended)
PostgreSQL
- Minimum Version: PostgreSQL 10.0 or higher
- Recommended Version: PostgreSQL 13.0+
SQLite
- Minimum Version: SQLite 3.8.0 or higher
- Note: SQLite is suitable for development only, not recommended for production
Database User Requirements
- User must have CREATE, DROP, ALTER, INSERT, UPDATE, DELETE, and SELECT privileges
- For production, create a dedicated database user (not root)
Web Server Requirements
Apache
- Version: Apache 2.4 or higher
- Required Module:
mod_rewritemust be enabled - .htaccess Support: Must be enabled
Check if mod_rewrite is enabled:
bash
apache2ctl -M | grep rewrite
# or
httpd -M | grep rewriteNginx
- Version: Nginx 1.18 or higher
- Configuration: Requires proper URL rewriting rules (see installation guide)
Other Web Servers
- Any web server that supports PHP-FPM and URL rewriting
Server Software Requirements
Composer
- Version: Composer 2.0 or higher
- Purpose: Dependency management for PHP packages
Installation:
bash
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composerNode.js and NPM
- Node.js: Version 18.0 or higher
- NPM: Version 9.0 or higher (comes with Node.js)
- Purpose: Building frontend assets
Installation:
bash
# Using NodeSource repository (Ubuntu/Debian)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejsMemory and Disk Space
PHP Memory Limit
- Minimum: 128MB
- Recommended: 256MB or higher
- For Large Installations: 512MB+
Check current memory limit:
bash
php -i | grep memory_limitIncrease memory limit in php.ini:
ini
memory_limit = 256MDisk Space
- Minimum: 500MB for application files
- Recommended: 2GB+ for application, database, and media files
- For Production: Plan for growth (10GB+ recommended)
Upload Limits
- upload_max_filesize: 64M or higher
- post_max_size: 64M or higher
- max_execution_time: 300 seconds or higher
Required PHP Extensions
The following PHP extensions must be installed and enabled:
Core Extensions
- ✅ OpenSSL - For secure connections
- ✅ PDO - Database abstraction layer
- ✅ Mbstring - Multibyte string handling
- ✅ Tokenizer - Token parsing
- ✅ XML - XML parsing
- ✅ Ctype - Character type checking
- ✅ JSON - JSON encoding/decoding
- ✅ cURL - HTTP requests
- ✅ Intl - Internationalization support
- ✅ GD - Image processing
- ✅ BCMath - Arbitrary precision mathematics
- ✅ Zip - Archive handling
Apache-Specific
- ✅ mod_rewrite - URL rewriting (Apache only)
How to Check Installed Extensions
Via Command Line:
bash
php -mVia phpinfo: Create phpinfo.php and check the "Loaded Extensions" section.
Installing Missing Extensions
Ubuntu/Debian:
bash
sudo apt-get update
sudo apt-get install php8.2-mbstring php8.2-xml php8.2-curl php8.2-intl php8.2-zip php8.2-gd php8.2-bcmathCentOS/RHEL:
bash
sudo yum install php-mbstring php-xml php-curl php-intl php-zip php-gd php-bcmathcPanel: Use the "Select PHP Version" tool in cPanel to enable extensions.
Recommended Settings
PHP Configuration (php.ini)
ini
; Memory and Execution
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
; File Uploads
upload_max_filesize = 64M
post_max_size = 64M
max_file_uploads = 20
; Error Reporting (Production)
display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
log_errors = On
; Session
session.save_handler = files
session.gc_maxlifetime = 1440Apache Configuration
Enable mod_rewrite:
bash
sudo a2enmod rewrite
sudo systemctl restart apache2Allow .htaccess overrides: In your virtual host configuration:
apache
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>Nginx Configuration
Ensure PHP-FPM is properly configured and URL rewriting rules are set (see Nginx installation guide).
Checking Your Server
Pre-Installation Checklist
Before installing Growstack CRM, verify:
- [ ] PHP version is 8.2.0 or higher
- [ ] All required PHP extensions are installed
- [ ] Database server is running and accessible
- [ ] Database user has required privileges
- [ ] Web server (Apache/Nginx) is configured correctly
- [ ] mod_rewrite is enabled (Apache)
- [ ] Composer is installed (for manual installation)
- [ ] Node.js and NPM are installed (for asset building)
- [ ] Sufficient disk space available
- [ ] PHP memory limit is adequate (256MB+)
- [ ] File upload limits are sufficient
Automated Requirements Check
The Growstack CRM installer includes an automated requirements checker that will verify:
- PHP version
- Required PHP extensions
- Directory permissions
- Database connectivity
Access the installer at: http://yourdomain.com/install
Troubleshooting
Common Issues
Issue: PHP version is too old
- Solution: Upgrade PHP to 8.2.0 or higher
- cPanel: Use "Select PHP Version" tool
- VPS: Update PHP packages
Issue: Missing PHP extension
- Solution: Install the missing extension using your package manager
- cPanel: Enable via "Select PHP Version" → Extensions
Issue: mod_rewrite not working
- Solution: Enable mod_rewrite and ensure .htaccess is allowed
- Apache:
sudo a2enmod rewrite && sudo systemctl restart apache2 - Check: Verify AllowOverride is set to "All"
Issue: Insufficient memory
- Solution: Increase PHP memory_limit in php.ini
- cPanel: Adjust via "Select PHP Version" → Options
Issue: Database connection fails
- Solution: Verify database credentials, host, and user privileges
- Check: Test connection using phpMyAdmin or command line
Next Steps
Once you've verified all system requirements:
Proceed to the installation guide for your server type:
Or use the Web Installer Guide for automated installation.
Support
If you encounter issues with system requirements:
- Check the Troubleshooting Guide
- Review server error logs
- Contact your hosting provider
- Refer to the Growstack CRM support channels