Docs
Hosting requirements and hosting check
| What | Minimum |
|---|---|
| PHP | 8.2 with pdo_mysql, curl, mbstring, json, optionally gd |
| Database | MySQL 5.7 or MariaDB 10.4, charset utf8mb4 |
| Access | SSH (ideally with rsync) or SFTP only |
| Network | outgoing HTTPS to the control center |
| Runtime | requests may run about 30 seconds, one job portion needs less than 25 |
Not needed: Composer, cron at your host, shell functions such as exec.
Layout on the server
config.php site configuration (server only, mode 600)
core/ modules/ themes/ install/ core, read only
site/ your overlay (templates, assets, seed data)
public/ web root: index.php, cron.php, .htaccess, assets/, media/
var/ cache, locks, logs, the only writable place
Web server
Point the domain to public/ and route everything that is not a real file to public/index.php.
Apache: public/.htaccess is included. If you cannot change the web root, put this .htaccess in the site root and deny access to core/, modules/, site/, var/, install/ and config.php:
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
nginx:
root /path/to/site/public;
location / { try_files $uri /index.php$is_args$args; }
location ~ /\. { deny all; }
location = /index.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
The hosting check
- SSH or SFTP connection with the key of the control center
- Write permissions in the target path, rsync available
- A short lived, signed check script in the web root, called via HTTPS: PHP version, extensions, limits, write access to
var/, outgoing HTTPS, database withutf8mb4 - The script deletes itself afterwards.
Every item shows a tick or a concrete error message you can pass on to your host.
Question not answered? Write to us using the request form and we will extend the docs.