Cara Seru Install Banyak WordPress di Satu Domain

wp.jpegKalau di artikel sebelumnya kita bisa memiliki banyak blog WordPress dengan subdomain yang berbeda, sekarang akan dijelaskan bagaimana kita melakukan hal serupa namun hanya pada sebuah domain / hostname.

Asumsi kita memiliki sebuah host dengan alamat : http://www.inoidage.com. Kemudian kita ingin memiliki 3 buah blog WordPress, masing-masing dengan alamat :

Langkah pertama tentunya mengekstraksi file-file wordpress ke “Document Root“. Kemudian, seperti biasa, membuat sebuah database khusus untuk wordpress. Setelah itu, bukalah file wp-config.php dan masukkan parameter database yang telah kita buat. Contohnya :

define('DB_NAME', 'blogs');
define('DB_USER', 'blogs-user');
define('DB_PASSWORD', 'blogs-password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

Karena kita ingin menginstall beberapa blog dalam satu database, maka yang harus di-“mainkan” adalah “table_prefix”-nya. Nah, sekarang, problemnya adalah bagaimana menghubungkan antara URL dan “table_prefix” tersebut, sehingga pengaksesan /aisar dan /labibi akan merujuk ke tabel-tabel yang berbeda.

Karena kita akan memanipulasi URL, otomatis kita harus bekerja dengan mod_rewrite pada Apache. Aktifkanlah terlebih dahulu modul tersebut, kemudian buat sebuah file .htaccess pada “Document Root” dengan isi sebagai berikut :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Contoh tersebut merupakan standar WordPress apabila kita mengaktifkan “permalink”. Jika file-file wordpress tidak berada pada “document root”, cukup mengubah parameter RewriteBase dan RewriteRule. Contohnya, apabila file-file wordpress berada di bawah /blog, maka .htaccess menjadi :

...
RewriteBase /blog/
...
RewriteRule . /blog/index.php [L]

Setelah berhasil memanipulasi URL dengan mod_rewrite, saatnya menghubungkan URL tersebut dengan “tabel_prefix”. Dikaitkan dengan asumsi sebelumnya, aku akan membuat folder baru dengan nama “wp-configs”, kemudian di dalamnya terdapat empat file :

  • aisar.php
  • labibi.php
  • romas.php
  • wp.php (default blog)

isi file tersebut kurang lebih hanya saru baris, seperti ini :

<?php $table_prefix = 'aisar_'; ?>

dengan ‘aisar_’ diubah-ubah sesuai “tabel_prefix” yang ingin dipakai (harus unik untuk tiap blog).

Pada file wp_config.php yang asli, aku menghapus baris yang mendefinisikan “table_prefix”, dan aku ganti dengan script di bawah ini :

define('BLOG_ID_POS',1);

define('ABSPATH', dirname(__FILE__).'/');
$parse = explode("/",$_SERVER['REQUEST_URI']);
$parse2 = explode("/",$_SERVER['PHP_SELF']);
if ($parse2[BLOG_ID_POS]=='index.php') {
setcookie('sitenya',$parse[BLOG_ID_POS]);
}
if (file_exists(ABSPATH.'wp-configs/'.$parse[BLOG_ID_POS].'.php')) {
include(ABSPATH.'wp-configs/'.$parse[BLOG_ID_POS].'.php');
}
else {
if ($_COOKIE['sitenya']) {
if (file_exists(ABSPATH.'wp-configs/'.$_COOKIE['sitenya'].'.php')){
include(ABSPATH.'wp-configs/'.$_COOKIE['sitenya'].'.php');
}
else
include(ABSPATH.'wp-configs/wp.php');
}
else
include(ABSPATH.'wp-configs/wp.php');
}

Jika diperhatikan secara sekilas, script ini bekerja dengan memparsing REQUEST_URI, untuk mengambil BLOG_ID. BLOG_ID inilah yang kemudian dicari di dalam folder wp_configs. Contohnya, apabila diakses : http://www.inoidage.com/aisar maka script akan mengenali “aisar” sebagai BLOG_ID dan mencari “aisar.php” di dalam folder wp_configs. Tidak lupa, kita juga harus menyediakan sebuah blog “default” (pada script di atas, BLOG_ID default-nya adalah “wp”, dengan file “wp.php”).

Yang perlu disesuaikan dari script di atas adalah konstanta BLOG_ID_POS yang menunjukkan posisi BLOG_ID pada URL. Contohnya apabila URL tadi diganti menjadi : http://www.inoidage.com/blog/aisar maka BLOG_ID_POS-nya harus diubah menjadi 2 ([1]->’blog’, [2]->’aisar’)

Oke, saatnya mencoba. Apabila langkah-langkah di atas dilakukan dengan benar, maka wordpress akan melakukan proses instalasi pada saat kita mengakses ketiga URL tadi. Setelah proses instalasi berhasil dan masuk ke dashboard, terdapat 2 langkah krusial yang harus dilakukan sebelum mengutak-atik yang lain :

  • Pastikan setting Options > General > Blog Address sudah benar sesuai URL-nya, contoh : http://www.inoidage.com/aisar
  • Aktifkan Options > Permalink dengan memilih opsi selain “default”

Untuk membuat sebuah blog baru, tinggal membuat file konfigurasi “table_prefix” di bawah folder “wp-configs”. Contoh, untuk membuat http://www.inoidage.com/putri, tinggal membuat file “putri.php” dan disimpan ke dalam folder “wp-configs”. Jangan lupa melakukan 2 langkah krusial, sebelum mengutak-atik yang lain.

Selamat Mencoba!

2 Responses to Cara Seru Install Banyak WordPress di Satu Domain

  1. krissy says:

    V5Iudl gfb07yvt9d6t94wbtx63bgq7d

  2. Pingback: Cara Seru Install Banyak WordPress di Satu Domain « Best WordPress Theme

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: