Many’s the time after you have uploaded some PHP script to your server and point the web browser to the address it gives 500 Internet Server Error. If you have suPHP installed this is very likely because the uploaded PHP script (files and directories) have wrong permissions set to them.
With regards to Linux permissions, suPHP requires all directories to be at least 755 and all files to be at least 644 for any PHP script to run. If the directory or the PHP script has the wrong permissions set to them, suPHP would give out 500 Internet Server Error until you have corrected them. In addition, the directory and the PHP script must be owned by the current user and group or they wouldn’t run either.
To fix this is very easy, just perform the following command after you have uploaded the PHP script:
chown -R youruser /home/youruser/public_html/*
chgrp -R youruser /home/youruser/public_html/*
find /home/youruser/public_html/* -type f -exec chmod 644 {} \;
find /home/youruser/public_html/* -type d -exec chmod 755 {} \;
The 1st line sets everything (files and directories) under /home/youruser/public_html/ to be owned by user youruser.
The 2nd line sets everything (files and directories) under /home/youruser/public_html/ to be owned by group youruser.
The 3rd line sets all files under /home/youruser/public_html/ to be 644 in permissions.
The 4th line sets all directories under /home/youruser/public_html/ to be 755 in permissions.