Waktu Baca : 2 menit

Pagi-pagi sewaktu buka web Anda, tiba-tiba Anda mendapatkan pesan seperti di bawah ini :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@******.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Apaan ini yah ?

Jangan panik. Masalah seperti ini memang terkadang terjadi. Mari kita cari tahu apa sebenarnya yang terjadi.

Ada 5 macam kesalahan yang biasa muncul :

1. Error 400 : Error ini disebabkan karena kesalahan syntax

2. Error 401 : Error ini disebabkan karena file yang Anda request memerlukan authentication

3. Error 403 : Error ini disebabkan karena permission file /chmod yang Anda buka tidak bisa dibaca

4. Error 404 : Error ini disebabkan karena file / halaman web yang Anda buka tidak ditemukan

5. Error 500 : Error ini mengindikasikan bahwa terjadi masalah pada server. Sebagian besar disebabkan karena kesalahan penulisan pada .htaccess ataupun konfigurasi PHP (versi php dan ekstensionnya) yang tidak cocok dengan scriptnya.

 

Jika Error 500 terjadi pada web Anda, maka lakukan langkah-langkah berikut ini untuk menganalisa dan memperbaikinya :

1. Refresh website Anda

Cobalah tekan tombol F5 beberapa kali. Jika kadang tidak error, kemungkinan besar itu karena website Anda menggunakan resource CPU atau RAM melebihi limit yang ditentukan oleh hoster Anda, sehingga server akan memproteksi resource agar tidak mengganggu pelanggan lain. Hal ini biasa terjadi pada hosting dengan CloudLinux.

 

2. Cek permission file

Pastikan permission untuk file adalah maksimal adalah 644 dan untuk direktori/folder adalah 755. Anda tidak perlu melakukan CHMOD ke 777 agar suatu direktori atau file bisa dimanipulasi (diisi file, edit, upload dll) karena jika hosting Anda menggunakan suExec, maka Anda bisa melakukan operasi file tersebut tanpa harus merubah permission ke 777 yang bisa mengurangi tingkat keamanan website.

 

3. Cek File .htaccess

Kesalahan pada konfigurasi .htaccess juga bisa menyebabkan internal server error. Cara mengeceknya adalah dengan mengubah nama file .htaccess yang ada di directory public_html menjadi, misalnya : htaccess.txt, lau coba buka kembali website Anda. Jika sudah normal, berarti konfigurasi .htaccessnya bermasalah. Tetapi jika tetap error, berarti bukan karena file .htaccess tersebut.

 

4. Cek file error_log

Jika ketiga hal di atas ternyata tidak menyelesaikan masalah, coba buka file error_log yang ada di folder public_html. Jika misalnya muncul error seperti di bawah ini :

[06-Mar-2013 18:00:27 UTC] PHP Fatal error:  Out of memory (allocated 262144) (tried to allocate 261900 bytes) in Unknown on line 0
[06-Mar-2013 18:01:57 UTC] PHP Fatal error:  Out of memory (allocated 262144) (tried to allocate 261900 bytes) in Unknown on line 0

Itu artinya adalah script php Anda membutuhkan resources RAM melebihi batas limit yang ditentukan oleh provider hosting Anda, sehingga muncul pesan error 500. Hal ini biasa terjadi pada hosting dengan OS CloudLinux.

 

5. Jika langkah 1-4 tidak mengatasi, maka kemungkinan besar karena konfigurasi PHP pada servernya

Hal ini sering terjadi jika Anda pindah dari shared hosting ke VPS yang menggunakan cPanel… Anda harus lakukan tweaking cPanel dan konfigurasi ulang apachenya dengan menggunakan easyapache. Sesuaikan versi php dan ekstensi phpnya seperti pada hosting sebelumnya.

Jika Anda masih tetap tidak bisa menyelesaikan masalah ini, segera hubungi support hosting Anda.