base_url Dinamis Pada CodeIgniter

Pendahuluan

Artikel ini merupakan salah satu solusi yang penulis temukan pada saat membuat Aplikasi Ujian Sekolah Berbasis Komputer (USBK). Arsitektur yang dibuat adalah server berada di lokas sekolah namun dapat diakses secara online karena menggunakan IP Public Astinet. Untuk tim pembuat soal tidak masalah dengan bandwidth Astinet 1M.

usbk_smk_2

Permasalahan

Permasalahan timbul ketika dua ratus siswa secara serentak melaksanakan ujian di laboratrium komputer, karena dua ratus client tersebut mengakses server yang berada di local namun menggunakan domain public sekolah, sehingga server USBK pun down ketika menjalankan ujian bahasa inggris yang menjalankan soal-soal listening, untuk itu diperlukan solusi dari sisi aplikasi USBK agar bisa membedakan apakah aplikasi diakses secara lokal atau melalui internet.

Untuk permasalahan diatas solusi awal adalah memasang dua interface pada server ubuntu, dimana satu interface menggunakan ip public dan satu interface menggunakan ip local, dengan tujuan ip public untuk diakses panitia sedangkan ip local untuk diakses client, namun permasalahan yang timbul adalah dari sisi aplikasi karena aplikasi dibangun menggunakan FrameWork CodeIgniter maka base_url yang dibuat masih bersifat statis yaitu mengarah ke subdomain sekolah. Sehingga solusi belum terpecahkan !

Solusi

Pemecahan solusi sebenarnya adalah terletak pada sisi aplikasi yaitu membuat base_url menjadi dinamis, seperti kita ketahui bahwa untuk mendifinisikan base_url di file config.php adalah sebagai berikut ;

$config['base_url']='http://domain.com';  // misal

Contoh diatas adalah pendefinisian secara statis seperti yang penulis lakukan semula, supaya Framework CodeIgniter bisa membedakan apakah dirinya diakses dari jaringan local atau internet, maka penulisan base_url harus diganti menjadi :

$config['base_url']='http://'.$_SERVER['HTTP_HOST'];

 

Post a Comment

Previous Post Next Post