In order to install Neos on a hosted web server, your server must meet a few requirements.
To check point 3-6 you can copy the following file and run it as neos_check.php on your webserver.
<style>.i{color: green;}.i::after{content:" is available."}.n{color: red;}.n::after{content:" is unavailable."}</style>
<?php
$check = [
'phpVersion' => phpversion(),
'phpCheck' => ((double)substr(phpversion(), 0, 3) >= 7.1) ? 'i' : 'n',
'mbstring' => (extension_loaded('mbstring')) ? 'i' : 'n',
'tokenizer' => (extension_loaded('tokenizer')) ? 'i' : 'n',
'pdo_mysql' => (extension_loaded('pdo_mysql')) ? 'i' : 'n',
'exec' => (function_exists('exec')) ? 'i' : 'n',
'shell_exec' => (function_exists('shell_exec')) ? 'i' : 'n',
'escapeshellcmd' => (function_exists('escapeshellcmd')) ? 'i' : 'n',
'escapeshellarg' => (function_exists('escapeshellarg')) ? 'i' : 'n',
'imagick' => (extension_loaded('imagick')) ? 'i' : 'n',
'gmagick' => (extension_loaded('gmagick')) ? 'i' : 'n',
];
print_r('<h2>Neos web server check</h2><ul>');
print_r('<li class="'.$check['phpCheck'].'">Your php version ('.$check['phpVersion'].')</li>');
print_r('<li class="'.$check['mbstring'].'">The module mbstring</li>');
print_r('<li class="'.$check['tokenizer'].'">The module tokenizer</li>');
print_r('<li class="'.$check['pdo_mysql'].'">The module pdo_mysql</li>');
print_r('<li class="'.$check['exec'].'">The function exec</li>');
print_r('<li class="'.$check['shell_exec'].'">The function shell_exec</li>');
print_r('<li class="'.$check['escapeshellcmd'].'">The function escapeshellcmd</li>');
print_r('<li class="'.$check['escapeshellarg'].'">The function escapeshellarg</li>');
print_r('<li class="'.$check['imagick'].'">(Optional) The module imagick</li>');
print_r('<li class="'.$check['gmagick'].'">(Optional) The module gmagick</li>');
print_r('</ul>');
If your server meets all requirements you can continue with the following:
If there were no problems you are now the proud owner of a blank Neos installation on a hosted web server. So far the guide has been tested on serverprofis.net. Here is a thread of other Compatible Neos Hoster.
Small hint if you change the context mode from Development to Production in the .htaccess, run a $ FLOW_CONTEXT=Production ./flow flow:cache:flush --force to clear the cache. This should read your Configuration/Production/Settings.yaml correctly.