Melanjutkan postingan mengenai membuat modular pada CodeIgniter kemaren,
Sekarang bertemakan membuat codeigniter menjadi multisites atau bisa disebut dengan multi konfigurasi. Sebelumnya mari mengerti multisites dahulu. Tujuan multisites disini adalah untuk membuat beberapa client/subdomain menggunakan configurasi dan database koneksi berbeda beda tapi tetap menggunakan satu sumber code (source codes). Biar lebih mengerti ilustrasinya begini :
Ilustrasi diatas menggambarkan dalam satu source codes CI, bisa diakses oleh banyak client dan setiap client tersebut memiliki koneksi database masing masing. Sebenarnya di dalam CI sudah memberikan deskripsi multi database, dengan membuat configurasi databasenya lebih dari satu. Tapi yang ini sedikit berbeda, perbedaannya yaitu setiap client nanti akan dideskripsikan dengan subdomain yang berbeda, misalnya situs utamanya dalah www.kucing.com kemudian client A (www.anak.kucing.com) dan Client B (www.ibu.kucing.com) , setiap sub-domain tersebut merepresentasikan setiap clientnya sendiri. Oke, semoga penjelasannya mudah dipahami, mari lanjut ke bagian pengaturannya saja, :
Langkah – langkah pembuatan :
Pertama, silakan download codeIgniter, kalau bisa versi terbaru, silakan cari di ellislab atau menggunakan CI pada artikel yang pernah saya bahas terdahulu.
Kedua, Asumsi anda telah berhasil melakukan setup CI di Desk kalian masing-masing. Silakan buka file index.php bagian root. Ingat, bagian root. Masukan kode berikut dalam file tersebut, sebaiknya diletakan paling atas.
Fungsi ini digunakan untuk melakukan pengecekan nama client, misalnya pada url berikut www.anak.kucing.com artinya clientnya bernama anak. Hal ini digunakan untuk mengambil file konfigurasi database untuk client tersebut saja.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
if ( ! function_exists('domains_determine_uri')) { function domains_determine_uri($domain_environment = 'prefix') { $http_host = (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : FALSE); $http_split = ($http_host ? explode('.', $http_host) : FALSE); switch(strtolower($domain_environment)) { case 'prefix': $domain_uri = $http_split[0]; break; case 'suffix': $domain_uri = end($http_split); break; default: exit('The domain environment has not been set correctly, please use either prefix or suffix.'); } return (isset($domain_uri) ? $domain_uri : FALSE); } } $pref = 'prefix'; $client = domains_determine_uri($pref) ; define('ENVIRONMENT', $client); |
Jika anda menemukan baris ENVIRONMENT lain di file index.php, maka dianjurkan untuk dihapus.
Ketiga, Buat folder client di dalam configurasi /application/config. Dalam hal ini kita buat dua client yaitu anak dan ibu.
Dalam setiap folder tersebut diisikan dengan file config.php dan database.php , file ini silakan copy saja file dari /application/config. Setiap file config.php dan database.php itu dapat diseting berbeda-beda dan dapat anda sesuaikan dengan source database masing masing client. Oke sebenarnya sampai disini anda sudah selesai seting multisites pada CI.
Keempat atau terakhir, jangan lupa anda membuat atau melakukan seting vhost dan host pada website anda. Jika langkah anda benar maka seharusnya anda sudah memiliki multisites menggunakan CI. Contoh host yang saya gunakan ini yaitu http://www.kucing.com , http://www.anak.kucing.com dan http://www.ibu.kucing.com.
Sekian dulu dan semoga bermanfaat. Jika anda berminat dengan file-nya silakan email saya di [email protected]
Salam
Verba volant, scripta manent
Dear,
Mas Ardhitya, kalau kita membuat beberapa aplikasi web, terus kita ingin menerapkan single sign on itu bagaimana caranya?
Tujuannya agar apabila user sudah melakukan login pada satu aplikasi web, trus user juga langsung dapat mengoprasikan aplikasi web yang lain tanpa ada login lagi.
Mohon pencerahannya mas
coba pelajari mengenai LDAP Lightweight Directory Access Protocol, mungkin bisa membantu.
Mas Adith,,,minta script untuk artikel ini, soalnya dah saya coba tapi gak bisa bisa….
Sebelumnya Terima Kasih
Sudah saya kirimkan file ke email anda. Silakan dicek email.
Terima Kasih Mas Ardhitya
[…] Multisites CodeIgniter – Multi Configuration […]
Wah keren gan ..
nyari-nyari baru nemu sekarang..
Bisa izin praktekin gak, tolong share file script nya ya . Sangat membantu .
Mas ardhitya saya sudah coba tutorial di atas, namun gagal. tolong share source codenya mas.
met siang mas Awan,
maaf mas saya mau menanyakan, apakah setting vhost dan host itu sama , dan apakah ini perlu koneksi ke API mas,. terima kasih
salam,
sugi