Skip to content
AffiliateAI

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

  1. SSH or SFTP connection with the key of the control center
  2. Write permissions in the target path, rsync available
  3. A short lived, signed check script in the web root, called via HTTPS: PHP version, extensions, limits, write access to var/, outgoing HTTPS, database with utf8mb4
  4. 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.