BlogMultisites CodeIgniter – Multi Configuration

Multisites CodeIgniter – Multi Configuration

-

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.

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

Previous article
Next article
Ardhitya Wiedha Irawan
Ardhitya Wiedha Irawanhttp://aiueo.web.id
Full time Web Developer - Part time Android Coder - Part time Publisher - Big fan of #GGMU.

9 COMMENTS

  1. 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

Comments are closed.

Latest news

Perbedaan Apache2 Reload dan Restart ?

Kamu pengguna apache ? ahh selamat! berarti kamu orang lama yang sulit move on haha. Konon sekarang di dunia...

Membuat Shortcut untuk switch Dark dan Light Mode di Macbook

Baru baru ini aku menginginkan sebuah fungsi tombol yang bisa mengganti tema di Macbook secara cepat, dari Dark Mode...

Cara buat Sticker langsung di Web WhatsApp tanpa Install aplikasi!

Hai sob! kali ini gulangguling.com akan berbagi cara mudah membuat sticker untuk whatsapp tanpa harus install aplikasi lainnya. Sering...

Cara Mengembalikan Nomer WhatsApp yang terkena Banned

Halo teman-teman. Kali ini saya akan berbagi cara mengembalikan nomer yang sudah terkena banned dari aplikasi WhatsApp. Tapi sebelumnya...

Aplikasi Rambox, dapat digunakan untuk login banyak akun WhatsApp hingga marketing jualan.

Aplikasi Rambox adalah sebuah program yang dirancang untuk mengintegrasikan beberapa aplikasi chatting dan kolaborasi dalam satu tempat. Dengan menggunakan...

Cara melihat history Kometar dan Like di Instagram

Pernah penasaran dengan apa saja sih yang pernah kita lakukan di Instagram? seperti kita likes komentarin postingan siapa saja...

Must read

You might also likeRELATED
Recommended to you