Archive

Archive for the ‘multisite’ Category

Menggunakan satu mesin Drupal untuk lebih dari satu situs (Drupal multisite)

Artikel ini bersumber dari pengalaman saya sendiri. Saya mengasumsikan pembaca artikel ini sudah mengenal apa itu Drupal, juga fungsi dan cara penggunaannya. Bagi mereka yang belum tahu dan ingin mengenal apa itu Drupal, dapat mengunjungi situs berikut: www.drupal.org.

Sudah kira-kira satu tahun terakhir ini, saya mengerjakan banyak proyek pembuatan website dengan Drupal. Tiap kali ada proyek Drupal baru, tiap kali itu pulalah saya menginstall mesin Drupal untuk tiap proyek tersebut. Belakangan memang saya sudah membuat satu master Drupal dengan isian modul yang sering saya gunakan (nantinya tinggal ditambah atau dihapus satu dua modul, sesuai kebutuhan), sehingga lebih menghemat waktu. Namun rasanya ini tidak cukup, karena ruang harddisk yang dibutuhkan untuk tiap proyek Drupal (dengan menggunakan master Drupal saya itu) cukup besar, antara 5 sampai belasan megabyte (tergantung kelengkapan modul yang dibutuhkan), itu belum termasuk file-file tambahan, misalnya gambar desain tampilan atau dokumen yang dibutuhkan oleh sebuah situs secara spesifik. Ruang harddisk sebesar itu tentunya tidak begitu berarti ketika kita berbicara tentang laptop atau pc kita sendiri. Saya merasa perlu menghemat ruang harddisk karena saya selalu menampilkan situs yang sedang saya kerjakan di subdomain situs saya. Dengan ruang harddisk yang tidak seleluasa laptop sendiri, ruang harddisk hosting jatah saya sudah tersita banyak ketika saya mengerjakan sekitar 3 situs secara simultan.

Saya sebelumnya sudah pernah mendengar tentang kemungkinan melakukan setting Drupal agar satu mesin Drupal dapat digunakan berbarengan oleh banyak situs yang berbeda-beda. Sekarang saatnya mencoba, pikir saya. Saya memulai dengan mencari artikel tentang ini di internet. Ternyata terdapat lumayan banyak (tidak ada yang berbahasa Indonesia, jadi mungkin artikel saya ini yang pertama 🙂 ), tinggal dicoba-coba mana yang berhasil untuk saya. Berikut ini adalah yang berhasil untuk saya.

Misalnya kita merencanakan akan menggunakan mesin Drupal untuk 3 situs: localhost/situs_a, localhost/situs_b, dan localhost/situs_c (untuk awalnya kita coba setting lokal dulu). Dengan struktur folder Drupal yang ada (dengan asumsi folder drupal kita namai: drupalbase), silakan tambahkan beberapa folder berikut:

sites/situs_a
sites/situs_a/files
sites/situs_a/modules
sites/situs_a/themes
sites/situs_b
sites/situs_b/files
sites/situs_b/modules
sites/situs_b/themes
sites/situs_c
sites/situs_c/files
sites/situs_c/modules
sites/situs_c/themes

Kemudian salin file settings.php (yang biasanya terdapat di folder sites/default) ke dalam folder berikut:

sites/situs_a
sites/situs_b
sites/situs_c

Sesuaikan isi settings.php dengan kondisi tiap situs.
Terlihat di sini, kita menambahkan satu set folder baru untuk masing-masing situs. Di dalam tiap folder situs_x, terdapat 3 subfolder lagi: files, modules, dan themes.

Folder files pada akan menggantikan fungsi folder files yang terdapat di root, jadi file-file milik situs_a nantinya akan disimpan di folder situs_a/files, dan bukan di folder files yang di root seperti biasanya. Nanti kita juga harus mengubah setting tentang folder files yang digunakan, di dalam Drupal.

Folder modules akan memperluas fungsi folder modules (yang berisi modul-modul default bawaan Drupal) dan folder sites/all/modules (yang biasanya digunakan untuk meletakkan modul-modul tambahan yang kita install sendiri). Harap diperhatikan: memperluas, dan bukan menggantikan; artinya semua modul yang terdapat di folder modules dan di sites/all/modules tetap dikenali dan berfungsi sebagaimana semula. Folder sites/situs_x/modules dapat kita gunakan untuk menampung modul-modul yang hanya diperlukan situs_x secara spesifik, dan tidak dibutuhkan situs lainnya.

Folder themes pada masing-masing folder situs_x akan menggantikan fungsi folder themes yang terletak di root.

Mengenai database, harap siapkan 3 database untuk ketiga situs tersebut, dengan isi database sama dengan database hasil instalasi awal.

Nah, sekarang kita akan mengedit isi file: c:windowssystem32driversetchosts (backup dulu sebelumnya – untuk Linux, rasanya ada juga file yang setara dengan ini, tapi saya tidak ingat persis nama dan letaknya). Secara default, biasanya file tersebut sudah berisi:

127.0.0.1       localhost

Kita akan menambahnya dengan baris-baris berikut:

127.0.0.1       situs_a
127.0.0.1       situs_b
127.0.0.1       situs_c

Jika semua setting sudah benar kita lakukan, maka kita dapat melakukan akses ke masing-masing situs dengan menggunakan URL sebagai berikut:

situs_a/drupalbase
situs_b/drupalbase
situs_c/drupalbase

Lalu, bagaimana melakukan setting agar komputer lain yang terhubung dengan pc kita dapat pula mengakses situs-situs tersebut?
1/ Gunakan IP statis untuk komputer Anda.
2/ Edit file hosts yang terletak pada komputer lain yang ingin mengakses situs-situs kita, tambahkan entri seperti di atas tadi, hanya untuk IPnya harap disesuaikan dengan IP statis yang kita gunakan.

Bagaimana pula dengan setting di hosting situs online kita?
Sebagai ganti dari mengedit file hosts, lakukan setting subdomain – misalnya: situs_a.kunang.com, situs_b.kunang.com, situs_c.kunang.com – dan arahkan ke folder htdocs default kita di sana, plus folder drupalnya – misalnya: www/drupalbase (untuk ketiga situs).

Karena ini artikel tutorial saya yang pertama, adalah wajar jika setelah membacanya ada kebingungan di sana sini 🙂
Untuk itu, saya membuka diri jika ada yang ingin bertanya.

Categories: drupal, IT, multisite, pekerjaan Tags: , ,