500 Internal Server Error due to suPHP permission requirements

suPHP requires specific permissions and ownership for scripts to run:

  • all folders within public_html – user:user 755
  • all files in public_html – user:user 644
  • public_html itself – user:nobody 750

(“user” refers to account name)

Without these permissions set you will see a lot of errors such as: “403 Forbidden”, “500 Internal Server Error” or other messages.

In example, CPanel error logs may show something like:
SoftException in Application.cpp:631: Directory “/home/[your-account]/public_html” is writeable by group

For more details about mass updating your file permissions, see:

Change php directives with suPHP

You need to create 2 files in public_html of website where suPHP is enabled. A .htaccess specifying path to php.ini configuration and a php.ini with directives.
You can change php settings and load extensions from a central php.ini for all site folders.


Example for account “account-name”. Make sure you update that in .htaccess content:


suPHP_ConfigPath /home/[account-name]/public_html



register_globals = Off