- Plesk Onyx 17.5 for Linux
Website is hosted on server with Plesk.
Option Restriction to follow symlinks is enabled in Domains > example.com > Apache and nginx settings.
Option Smart static files processing is enabled in Domains > example.com > Apache and nginx settings.
Website elements like css and images are not shown web in browser.
"Permission denied" error appears in developers console of web browser (console is opened by pressing F12).
The following error can be found in file /var/www/vhosts/example.com/logs/proxy_error_log:
CONFIG_TEXT: [error] 54202#0: *11723 openat() "/var/www/vhosts/example.com/httpdocs/wp-content/themes/twenty-minutes/css/default.css" failed (13: Permission denied)
This is a Plesk bug with ID PPPM-6440 which is planned to be fixed in the future Plesk updates.
As a workaround, create a custom configuration template. For that:
2. Create the /usr/local/psa/admin/conf/templates/custom/domain/ directory (if it does not exists) with the command:
# mkdir -p /usr/local/psa/admin/conf/templates/custom/domain
3. Copy required template file from "
default" directory to "
# cp -p /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
4. Modify the template file using the following command (it replaces one line with another):
# sed -i -e 's/disable_symlinks if_not_owner;/disable_symlinks if_not_owner from=$document_root;/g' /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
5. Go to the Plesk > Domains > example.com > Apache & nginx settings and press Apply / Ok .
6. Clear browser cache and check the results by accessing website example.com.
To apply workaround for multiple domains at once use this script:
Warning: On servers with more than 30 domains it can take significant time to finish work of the script. Example: it take ~1.5 hours to run script for 200 domains.
Warning: Script can cause temporary downtime of websites so run it during maintenance time frame.
2. Download the script and place it to the server, for example to the path /root/fixpppm6440.sh:
3. Run the script and wait until it finished:
# bash /root/fixpppm6440.sh
4. Clear browser cache and check the results by accessing websites.