Pages

Shared SSL SuPHP 500 Error Fixed

Issues: I bought the SSL certification and install on my VPS, which already have 2 dedicated IP (2 other SSL already installed). So my only option is to install the new SSL on the shared IP. While install the SSL, WHM tells me to install the SSL as nobody due to the IP is shared IP.

After restarting the Apache after installing the SSL, the HTTPS works fine on any file that is NOT PHP. When I load the WordPress, it shows me the 500 server error.

It took me hours to figure the Shared SSL with nobody user group is conflicting with suPHP due to the permission.

Solutions:
The idea of fixing this is to assign the SSL certification from nobody to the right cpanel user that owns the add-on/parked domain name. So here are the steps:

Assume you are installing SSL on the secured-domain.com.

Assume the main cpanel owner is xyz.

Install SSL as nobody on shared IP with cpanel owner "xyz".

Connect via SSH to your server as root (or as other user with enough permissions)

Change your dir to /var/cpanel/userdata/nobody and type "ls" to get directory listings. You should see a file named "secured-domain.com_SSL"

Clean up the mess by renaming the following files in /var/cpanel/userdata/nobody to remove the domain reference that cause permission issues. Otherwise, it generate an error ssl_error_rx_record_too_long when I load the secured page.

main,
secured-domain.com_SSL.cache

Finally rebuild Apache by running the following commands:

/scripts/rebuildhttpdconf

service httpd restart or restart Apache from WHM

Make sure it doesn't generate error message such as "domain owner conflict detect". It means you did not set the file right or there is a duplicate copy of secured-domain.com_SSL file somewhere.

Now you should be able to run SSL on secured-domain.com without any problem.