Control panels: overview
This section is for hosting companies that run Exponential sites on servers managed by a hosting control panel, and for their support staff. It answers which panels the project's sources know, how far each is verified, and how the everyday panel tasks (choosing PHP, setting up cron, creating databases, installing certificates) apply to an Exponential site.
Warning
.htaccess slows down every request. When .htaccess files are enabled (AllowOverride anything but None), let alone
used, Apache looks for them and reads and evaluates them on every request, in every directory of the path, and
page loading times go up drastically (measured). The only real fix is to switch the feature off for
the virtual host: AllowOverride None in the HTTPS virtual host, and the rules in the virtual host's own
configuration as mod_rewrite rules. That is far faster in production speed tests and well worth the time it takes
to optimize a production configuration. Switch over right away: copy the rules of the
example HTTPS virtual host into your virtual host (with the static cache, also
staticcache_offload.conf), set AllowOverride None, run apachectl configtest, reload Apache and
test the site. The same rules for other servers: nginx, LiteSpeed,
Caddy, IIS, Velocity (built in); where virtual host rules go in a control
panel: Plesk, cPanel, DirectAdmin, ISPConfig.
On LiteSpeed or OpenLiteSpeed, the server's own page cache can also answer anonymous visitors and crawlers without PHP: Page caching with LiteSpeed and OpenLiteSpeed.
Back to Hosting companies: start here.
Note
This section states only what the Exponential sources say about each panel. For anything inside a panel that the sources do not describe (menu names, screens, options), check your panel's documentation. Where these pages give operational advice that the sources do not cover, they say so.
Contents
- The pages of this section
- Panels in the sources
- What every panel must provide
- Velocity on a panel server
The pages of this section
| Page | What it answers |
|---|---|
| Plesk | The panel of the project's own development server: PHP paths, per-domain pools, the plesk-php<XY>-fpm services, certificates, logs |
| cPanel | What the sources say (tier 3, EasyApache PHP), and how to approach it |
| DirectAdmin | What the sources say (tier 3), and how to approach it |
| ISPConfig | Not mentioned in the sources; the generic requirements |
| Webmin | Not mentioned in the sources; the generic requirements |
| PHP selection and FPM pools | The site's PHP version for web and command line, one pool per site, reloading the right service |
| Cron and shell access | Scheduling runcronjobs.php with the right PHP, and what works without a shell |
| Databases and users | Creating the database and its user for each engine, in the official order |
| TLS certificates in panels | Certificates from the panel, and when Velocity or FrankenPHP serves HTTPS instead |
Panels in the sources
| Panel | Tier in the sources | What the sources say |
|---|---|---|
| Plesk | 1 (tested here) on AlmaLinux 9; Plesk hosts on the tier 2 distributions are tier 2 | "The project's development server: Apache 2.4 with PHP-FPM 8.5 from the Plesk panel, and Exponential Velocity on the same installation" |
| cPanel | 3 (expected to work) | "EasyApache (EA-PHP 8.x), per-account PHP"; "shared hosting may forbid long-running processes, so Velocity may not be allowed; use Apache or LiteSpeed with .htaccess" |
| DirectAdmin | 3 (expected to work) | the same row as cPanel |
| ISPConfig | not placed | not mentioned in the sources |
| Webmin | not placed | not mentioned in the sources |
Source: Operating system support (tiers 1 to 3 and "Containers, cloud and hosting panels"). Tier 3 is "a reasoned expectation, not a test result"; a panel that is not placed has no statement at all. Plan a test installation before you offer either.
What every panel must provide
Whatever the panel, an Exponential site needs (Chapter 2):
| Need | In panel terms |
|---|---|
| PHP 8.0 or later (Velocity included) with the required extensions | the panel's PHP selector and extension switches, for the site and for its command line |
php.ini: memory_limit 64M or more, max_execution_time 30 or more, date.timezone, file_uploads, allow_url_fopen | the panel's per-site PHP settings |
Rewrite rules: only listed asset paths served as files, everything else to index.php | .htaccess from .htaccess_root under Apache or LiteSpeed; for nginx the derived server block (8.6) |
| The document root at the installation root | the panel's document root setting for the domain |
| One database of the six, in the official order: 1. SQLite 3 (the default, no server) · 2. PostgreSQL · 3. MongoDB · 4. MariaDB · 5. Oracle · 6. MySQL; Microsoft SQL Server is known to be possible with additional work at this time | the panel's database page, or nothing for SQLite |
Writable var/ and settings/ for the site's user | the account's own user |
Scheduled runcronjobs.php | the panel's cron page |
| HTTPS | the panel's certificate management |
With a shell (the panel's terminal or SSH), run as the site's own system user, the console puts the shipped templates
into place: php bin/php/console exp:setup:htaccess --apply (.htaccess_root to .htaccess) and php bin/php/console exp:setup:config --apply (config.php-RECOMMENDED to config.php). As root, add --allow-root-user, and
--owner=<user>:<group> when the files must belong to the site's user. Without a shell, the panel's file manager does
the same copy. See Setting up .htaccess and config.php from the console.
Velocity on a panel server
Panels manage Apache or nginx and their PHP-FPM pools. Velocity is a separate long-running process, so on a panel server it runs beside the panel's web server, as on the project's development server, where Plesk's Apache with PHP-FPM and Velocity serve the same installation (Tier 1). Then:
- both must write
var/as the same user (8.7.2); - a deploy must reload the right PHP-FPM and restart Velocity;
exp:velocity deploydoes both in order (8.3.14); - the panel's firewall must allow Velocity's ports if visitors reach it directly.
See Velocity beside Apache or nginx.
Related pages
- Hosting companies: start here
- Shared hosting
- Setting up .htaccess and config.php from the console
- Operating system support
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.