- Requirements
- Licence
- Database
- Company and admin
- Migration
- Finish
Check requirements
- PHP 8.1.0 or newerYou have 8.4.27
- PHP extension: curlLoaded
- PHP extension: gdLoaded
- PHP extension: jsonLoaded
- PHP extension: mbstringLoaded
- PHP extension: opensslLoaded
- PHP extension: pdo_mysqlLoaded
- PHP extension: xmlLoaded
- PHP extension: zipLoaded
- PHP extension: intlLoaded
- PHP extension: bcmathLoaded
- PHP extension: fileinfoLoaded
- templates_c/ is writableWritable
- attachments/ is writableWritable
- downloads/ is writableWritable
- Can write configuration.phpYes
- memory_limit at least 128M128M
- Composer dependenciesPresent
- Private files are blocked from the web
The web server is not applying HostBMS's .htaccess rules. Apache: enable mod_rewrite and AllowOverride All for the site. OpenLiteSpeed / KarnakPanel: turn on "Auto Load from .htaccess" for the site, or paste the example rewrite rules below into its rewrite rules. Nginx: add the example location rules below. Then check again.Downloadable: src/Core/Version.phpExample rules
Apache / LiteSpeed: .htaccess in the HostBMS folder (needs mod_rewrite and AllowOverride All)
RewriteEngine On RewriteRule ^includes/api\.php$ - [L] RewriteRule ^(src|vendor|includes|crons|templates|templates_c|docs|bin|database|tests|attachments|downloads)(/|$) - [F,L] RewriteRule \.(tpl|md|neon|lock|sql|sh|log|dist)$ - [F,L] RewriteRule (^|/)(configuration(\.sample)?\.php|init\.php|router\.php|composer\.(json|lock)|phpunit\.xml|release-files\.json)$ - [F,L] RewriteRule (^|/)(INSTALL|LICENSE|README|CHANGELOG|UPGRADE|SECURITY)(\.txt|\.md)?$ - [F,L] RewriteCond %{DOCUMENT_ROOT}/install.lock -f RewriteRule ^install(/|$) - [F,L] RewriteCond %{REQUEST_URI} !/\.well-known/ RewriteRule (^|/)\. - [F,L]OpenLiteSpeed / KarnakPanel: the site's rewrite rules
RewriteEngine On RewriteRule ^/?includes/api\.php$ - [L] RewriteRule ^/?(src|vendor|includes|crons|templates|templates_c|docs|bin|database|tests|attachments|downloads)(/|$) - [F,L] RewriteRule \.(tpl|md|neon|lock|sql|sh|log|dist)$ - [F,L] RewriteRule (^|/)(configuration(\.sample)?\.php|init\.php|router\.php|composer\.(json|lock)|phpunit\.xml|release-files\.json)$ - [F,L] RewriteRule (^|/)(INSTALL|LICENSE|README|CHANGELOG|UPGRADE|SECURITY)(\.txt|\.md)?$ - [F,L] RewriteCond %{DOCUMENT_ROOT}/install.lock -f RewriteRule ^/?install(/|$) - [F,L] RewriteCond %{REQUEST_URI} !/\.well-known/ RewriteRule (^|/)\. - [F,L]Nginx: inside the site's server { } block, before "location ~ \.php$" (change fastcgi_pass to your PHP-FPM socket)
location = /includes/api.php { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/includes/api.php; fastcgi_pass unix:/run/php/php-fpm.sock; } location ~ ^/(src|vendor|includes|crons|templates|templates_c|docs|bin|database|tests|attachments|downloads)(/|$) { return 404; } location ~ \.(tpl|md|neon|lock|sql|sh|log|dist)$ { return 404; } location ~ (^|/)(configuration(\.sample)?\.php|init\.php|router\.php|composer\.(json|lock)|phpunit\.xml|release-files\.json)$ { return 404; } location ~ (^|/)(INSTALL|LICENSE|README|CHANGELOG|UPGRADE|SECURITY)(\.txt|\.md)?$ { return 404; } location ~ (^|/)\.(?!well-known/) { return 404; }