Symptoms
Website hosted in Plesk is not working:
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.Or, a blank page is shown instead of content.
Error in Domains > example.com > Logs:
(13)Permission denied: /var/www/vhosts/example.com/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://example.com/
(13)Permission denied: [client 203.0.113.2:39024] AH00529: /var/www/vhosts/example.com/httpdocs/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/vhosts/example.com/httpdocs/' is executable
Cause
Incorrect permissions on domain files or folders.
Resolution
Repair permissions for the website content:
Go to Tools & Settings > Diagnose & Repair
In File System section select Only the Virtual Hosts Files and click Check Selected:
Click Show Issues when some are detected to view the details:
Click Repair to repair all detected issues for all virtual hosts files.
SSH solution for Plesk Onyx 17.8 and Obsidian
Connect to the server via SSH.
Execute the following command (replacing example.com with the domain name):
# plesk repair fs example.com
Add required permissions for all the folders inside the document root of the website:
# find /var/www/vhosts/example.com/httpdocs/ -type d -exec chmod 755 {} ;
Add required permissions for all files inside the document root of the website:
# find /var/www/vhosts/example.com/httpdocs/ -type f -exec chmod 644 {} ;
Set the proper ownership:
# chown jdoe:psaserv /var/www/vhosts/example.com
For Plesk Onyx 17.5 and lower
Connect to the server via SSH.
Execute the following command (replace example.com in the command below with the domain name:
# INFO=($(MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin psa -sN -e'SELECT h.www_root,s.login FROM domains d, hosting h, sys_users s WHERE s.id=h.sys_user_id AND h.dom_id=d.id AND d.name="example.com"')); chown -R ${INFO[1]}:psacln ${INFO[0]}; chown ${INFO[1]}:psaserv ${INFO[0]}
Execute the following command (replacing example.com with the domain name):
# plesk repair fs example.com
Add executable for all the folders inside the document root of the website:
# find /var/www/vhosts/example.com/httpdocs/ -type d -exec chmod 755 {} ;