Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Operating systems for hosts

Which operating systems a hosting company can run Exponential on, sorted by the project's four tiers, with the reference platform, the Linux families, panels, containers, processor architectures, Windows and how to…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/basics/operating-systems-for-hosts.md

On this page

Operating systems for hosts

This page is for system administrators and product managers at a hosting company who choose the operating system of the servers an Exponential offer runs on. It answers: which systems are tested, known to work or only expected to work, what that means for a hosting platform, and what to watch on panels, containers, other architectures and Windows. The full support statement with every system is Operating system support; this page arranges it for hosts.

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.

Contents

  1. The short answer
  2. The four tiers
  3. Linux distributions for hosting
  4. Panels
  5. Containers and cloud
  6. Processor architectures
  7. Windows and the BSDs
  8. Check a machine
  9. Checklist
  10. Related pages

The short answer

Exponential 6.0.x runs on almost any operating system that has PHP 8.0 or later (PHP 7.4 usable without support) and a web server. It is plain PHP files plus a database; it has no compiled code of its own and no dependency on one C library (OS support). For a host the practical choice is a current Linux distribution with a maintained PHP 8.

The four tiers

TierMeaningExamples for hosts
1. Tested herethe project runs it every day, or its CI runs on it on every pushAlmaLinux 9 (the development server, with Plesk); Ubuntu in GitHub Actions
2. Known to workcovered by the documentation, packages or the Velocity engine's CIRHEL 9 and 10, Rocky Linux, AlmaLinux, Oracle Linux, CentOS Stream 9 and 10; Debian 12 and 13; Ubuntu 22.04 and 24.04; Alpine; Plesk hosts; FreeBSD 14; Windows x64; Docker and Podman
3. Expected to worka maintained PHP 8 exists and nothing known stands in the way, but nobody has watched Exponential run thereFedora, SUSE and openSUSE, Amazon Linux 2023, cPanel and DirectAdmin hosts, Kubernetes
4. Not possible todayno PHP 8 exists for the systemof no practical concern to a host

A tier 3 row is "a reasoned expectation, not a test result". If you run Exponential on a tier 3 system, the project asks to be told on the software tracker, and the row moves up.

Tip

For a new hosting platform, choose a tier 1 or tier 2 system. That keeps your platform on the paths the project's own documentation and packages describe.

Linux distributions for hosting

FamilyPHP 8 fromNotes for hosts
RHEL 9 and 10 and rebuildsAppStream (PHP 8.0 stock in EL 9; module streams php:8.1 to php:8.3), Remi (8.0 to 8.5)the documented reference platform; Velocity ships .rpm packages for EL 9 and EL 10; the stock 8.0 runs Velocity (from release 0.0.4.54)
Debian 12 and 13the distribution (8.2, 8.4) or Ondřej Surý's repositoryVelocity ships .deb packages
Ubuntu 22.04 and 24.04the distribution (8.1, 8.3) or the ondrej/php PPAVelocity ships .deb packages; the project's CI runs on Ubuntu
Alpine (musl)apkVelocity's CI proves its server there; common as a container base

Package names per family are on PHP versions and extensions and in chapter 2.9.

PHP 8.0 and Red Hat Enterprise Linux

Exponential Velocity runs on PHP 8.0 to 8.5 from its release 0.0.4.54 (20 October 2026); nothing extra is needed on 8.0. For a host that means:

  • RHEL 9, AlmaLinux 9, Rocky Linux 9: the default AppStream PHP 8.0 runs Velocity. The el9 rpm (exponential-velocity-<release>-1.el9.noarch.rpm) depends on php-cli >= 8.0 and installs without enabling a module stream; a newer stream still works. Composer installs the engine on 8.0 too.
  • RHEL 8: the default PHP is 7.2. Enable the 8.0 stream (dnf module enable php:8.0) and use the phar or Composer; there is no el8 rpm.
  • What differs on 8.0: AVIF image output needs PHP 8.1 (the negotiation stops at WebP); the dashboard's per-request memory peak needs PHP 8.2 (the column is empty); $_FILES has no full_path, as in PHP 8.0 itself; a class declared with eval() that has static properties makes its worker get replaced after that request (correct, it costs a fork).

Extensions, systemd, SELinux and verification: the engine's PHP 8.0 and Red Hat Enterprise Linux page and chapter 2.

Panels

PanelTierWhat the documentation says
Plesk1the project's development server; per-domain PHP-FPM pools, PHP under /opt/plesk/php/<version>/, service plesk-php<XY>-fpm
cPanel, DirectAdmin3per-account PHP; shared hosting may forbid long-running processes, so Velocity may not be allowed: use Apache or LiteSpeed with .htaccess

On shared hosting without shell access the setup wizard in the browser is the installer. See Control panels.

Containers and cloud

From OS support:

  • Any image with PHP 8 and the required extensions runs Exponential. Velocity publishes images at ghcr.io/se7enxweb/exponential-velocity for amd64 and arm64, one per PHP version and variant.
  • Keep var/ (storage, logs, the SQLite database) and settings/override on a persistent volume.
  • With SQLite, run one container that writes: WAL needs shared memory on one host, so several replicas cannot share one database file over a network volume. Several replicas need a database server (PostgreSQL first) and shared storage for var/storage.
  • Cloud virtual machines are ordinary Linux machines, in the tier of their distribution.
  • Platform-as-a-service offerings with a writable persistent disk are expected to work; a read-only or ephemeral file system needs var/ on persistent storage and a database server.

See Containers: Docker and Podman and Kubernetes.

Processor architectures

Exponential has no machine code, so the architecture matters only through PHP and the database:

ArchitectureTier
x86_641
aarch64 (ARM64: Graviton, Ampere, Apple Silicon, Raspberry Pi 4 and 5)2; Velocity publishes aarch64 binaries and images
armv7, i3863; 32-bit PHP limits a site to 30 languages
ppc64le, s390x3; Velocity's CI proves its server on both
riscv643; tested only under emulation

Windows and the BSDs

Windows (tier 2): the official PHP 8 builds with Apache or IIS (FastCGI). What is missing there (OS support: Windows):

  • pcntl and posix do not exist, so asynchronous publishing is unavailable and Velocity runs its workers as php-cgi subprocesses.
  • Velocity's single-file Windows binaries are built without intl, which Exponential requires; run Velocity on Windows through the phar with the official PHP.
  • The documentation and its shell commands are written for Linux.

FreeBSD 14 and DragonFly BSD (tier 2): Velocity's CI boots and serves there; PHP 8 from pkg. Exponential itself is not run there by the project. OpenBSD and NetBSD are tier 3.

Check a machine

php -v                          # 8.0 or later, for Velocity too
php -m                          # the required extensions
php -i | grep "Integer Size"    # 64 bits recommended

Then let the installer check the rest: the setup wizard's System check, the kickstarter or exp:install. With Velocity installed, php bin/php/console exp:velocity ext check compares the machine with the extension set Velocity expects (OS support).

Checklist

  • To do: The platform's operating system is tier 1 or tier 2.
  • To do: A maintained PHP 8 source chosen (distribution, module stream, Remi, Ondřej Surý's packages or the panel's builds).
  • To do: 64-bit PHP.
  • To do: Containers keep var/ and settings/override on persistent volumes; one writer for SQLite.
  • To do: Panels that forbid long-running processes are offered with Apache or LiteSpeed, not Velocity.

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.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x