System Requirements
Server prerequisites, PHP 8.2+ settings, database engines, and required PHP extensions.
System Requirements
Encrypt CMS is built to deliver fast execution and minimal server overhead. Before installing, verify that your hosting environment meets the following specifications.
Minimum Hardware & Hosting Environment
- Architecture: 64-bit CPU (x86_64 / ARM64).
- RAM: Minimum 256 MB available to PHP (512 MB+ recommended for high-traffic environments).
- Disk Space: Minimum 50 MB for core installation; 500 MB+ recommended for media storage and pre-update rollback backups.
- Hosting Compatibility: Standard Apache/Nginx Linux servers, cPanel, Plesk, DirectAdmin, and 20i StackCP shared hosting.
PHP Runtime Requirements
- PHP Version:
PHP 8.2.0or higher (PHP 8.2andPHP 8.3fully tested). - Memory Limit:
memory_limit = 128M(256M recommended). - Upload File Size:
upload_max_filesize = 32M(or according to your media requirements). - Post Max Size:
post_max_size = 32M.
Required PHP Extensions
The guided installer automatically checks for the presence of these required extensions:
| Extension | Requirement | Purpose |
|---|---|---|
pdo |
Mandatory | PHP Data Objects database abstraction layer |
pdo_mysql |
Mandatory | Native MySQL and MariaDB PDO database driver |
curl |
Mandatory | Secure HTTPS communications for license verification and update delivery |
mbstring |
Mandatory | Multi-byte string manipulation for Unicode content |
json |
Mandatory | JSON encoding and decoding for configuration and API responses |
gd or imagick |
Mandatory | Image processing, thumbnail generation, and dimension extraction |
zip |
Mandatory | Archive unpacking for automated updates, themes, and plugins |
fileinfo |
Mandatory | Magic byte inspection for secure media MIME type verification |
openssl |
Mandatory | Cryptographic token generation, session security, and HTTPS validation |
Database Requirements
- Database Management System:
- MySQL: Version
5.7or8.0+ - MariaDB: Version
10.4or higher
- MySQL: Version
- Storage Engine:
InnoDB(required for row-level locking and transaction integrity) - Character Set & Collation:
utf8mb4withutf8mb4_unicode_ci(full emoji and international character support)
Web Server Configuration
Apache (.htaccess)
Encrypt CMS requires the Apache mod_rewrite module enabled. The core archive includes a production .htaccess file handling URL rewrites to index.php:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Prevent direct access to hidden files (.env, .git)
RewriteRule ^\.(?!well-known/) - [F,L]
# Deliver existing static files directly
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Route all other requests through Front Controller
RewriteRule ^ index.php [L]
</IfModule>
Nginx
If running Nginx, configure your server block location as follows:
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;
}
# Block protected storage and config directories
location ~ ^/(config|storage/framework|storage/logs)/ {
deny all;
return 404;
}