I’ve noticed a weird bug in Plesk 12 on CentOS 7: when you connect via FTP, the wp-content folder does not show up – all other folders can be seen as usual. It’s a rather crucial folder for WordPress users.
At first I had suspected a problem with the ProFTP service which is not the stock version, but a specially compiled version for use with Plesk, and Plesk takes care of this system services (it’s called psa-proftpd in case you’re interested). But ProFTP is not the problem.
Thanks to the amazing Sergey Lystsev from Parallels for letting me know that the issue is instead with SELinux: when it’s used in Enforcing mode (which is the default), wp-content does not show itself via FTP. Switching it to Permissive mode or disabling SELinux altogether solves the problem.
The entire issue will be fixed in the next release of Plesk, and it’s already working in the latest update to the Plesk Preview 12.1.13. CentOS 5 and 6 are not affected.
How do we fix it, Cap’m?
To disable SELinux on CentOS 7 we can use this:
setenforce 0
Or, to switch to permissive mode, use this:
setenforce permissive
Now we’ll need to restart the xinetd service as well as Plesk for the changes to take effect:
systemctl restart xinetd.service service psa stopall service psa restart
Connect to your site via FTP and see if the wp-content folder shows itself.
To permanently change the SELinux configuration so that it survives a server restart, check out my other article here:
Thanks a lot for this post! I was experiencing the exact same problem and this solved it. Thanks.
You’re very welcome, Ronald!