Berawal dari testing salah satu vps client yang baru yang memberikan laporan bahwa Apache tidak bisa mengeksekusi file PHP padahal beberapa vps dengan setting yang nyaris sama berjalan normal-normal saja. Sehingga ketika file PHP di akses hanya memunculkan 500 Internal Server Error.
Apabila dilihat dari error lognya:
Permission denied: couldn't create child process: /opt/suphp/sbin/suphp for /home/xxx/public_html/index.php
Kecurigaan pertama saya adalah karena diinstallkannya PHP4 dan PHP5 namun hal itu tidak memberikan solusi setelah Apache di recompile.
Tidak hanya disitu, cPanel pun ikut saya upgrade ke versi RELEASE dan tetap tidak membuat permasalahan teratasi. Allhammdulillah, sembari menunggu proses update menemukan salah satu thread di forum cpanel yang ternyata itu menjadi solusi dari permasalah ini.
Inti dari permasalah itu terdapat pada permission folder /opt/curlssl yang tidak bisa diakses oleh system dalam hal ini suPHP. Dikarenakan pada saat compile EasyApache disertakan juga CurlSSL maka folder tersebut harus bisa diakses oleh suPHP.
Apakah ini bugs atau bukan, yang pasti solusinya untuk permasalah yang saya alami adalah dengan mengganti permission folder /opt/curlssl dan folder didalamnya menjadi 755.
chmod -R 755 /opt/curlssl/
Informasi aslinya dari forum saya ambil intinya saja seperti dibawah ini:
An entry in /usr/local/apache/logs/error_log led me to look carefully at the curlssl library file, in /opt/curlssl. That is how I spotted the problem:
# ls -alh /opt/ total 28K drwxr-xr-x 7 root root 4.0K Sep 20 08:48 ./ drwxr-xr-x 24 root root 4.0K Sep 20 11:51 ../ drwx------ 6 root root 4.0K Sep 20 06:44 curlssl/ drwx------ 6 root root 4.0K Sep 20 06:39 pcre/ drwx------ 4 root root 4.0K Sep 20 06:44 php_with_imap_client/ drwxr-xr-x 4 root root 4.0K Sep 20 08:48 suphp/ drwx------ 6 root root 4.0K Sep 20 06:45 xml2/ root@vps1 [/usr/local]# ls -alh /opt/curlssl/ total 24K drwx------ 6 root root 4.0K Sep 20 06:44 ./ drwxr-xr-x 7 root root 4.0K Sep 20 08:48 ../ drwx------ 2 root root 4.0K Sep 20 06:44 bin/ drwx------ 3 root root 4.0K Sep 20 06:44 include/ drwx------ 3 root root 4.0K Sep 20 06:44 lib/ drwx------ 3 root root 4.0K Sep 20 06:44 share/
By looking at a known-working server, I found that the permissions on /opt/curlssl and its contents should be 755. I changed the permissions, and PHP files now work correctly on the server using suPHP.
/opt/curlssl will only be present if "CurlSSL" is selected in EasyApache.
Semoga bermanfaat dan mohon koreksi apabila ada yang keliru .. :)
ref: http://forums.cpanel.net/f34/internal-system-error-500-vps-clean-install-165866.html