Cara Setting WordPress Multisite dengan Apache dan Sub-directories
WordPress Multisite adalah WordPress yang sudah dikonfigurasi agar dapat membuat dan mengelola banyak website WordPress hanya dari satu dashboard dan satu core WordPress saja. Contoh kasus pemakaiannya ingin membuat blog network, seperti blog di lingkungan perguruan tinggi untuk dosen atau mahasiswanya.
Awalnya fitur multisite ini diberi nama WordPress MU (Multiuser) dan instalernya terpisah sendiri. Tapi sejak WordPress versi 3.0 WordPress MU berubah nama menjadi WordPress Multisite dan sudah menyatu di dalam WordPress. Cukup mengaktifkan konfigurasi multisite untuk menggunakannya. Pada tutorial kali ini, kita akan belajar bagaimana cara setting WordPress Multisite dengan Apache dan sub-directories.
Tutorial Environment
Spesifikasi dan konfigurasi yang dipakai di tutorial ini:
- Server: VPS Ubuntu 20.04
- Web Server: Apache
- PHP: Versi 7.4
- Database: MariaDB 10.5
- WordPress: Versi 5.8
- Domain: domain.com
- SSL: Let’s Encrypt
- Tipe Multisite: sub-directories
Diasumsikan WordPress sudah berjalan dengan baik.
Setting Multisite
Buka file wp-config.php.
1 | nano /var/www/domain.com/wp-config.php |
Tambahkan konfigurasi multisite, pasang di atas baris /* That’s all, stop editing! Happy publishing. */
1 | define('WP_ALLOW_MULTISITE', true); |
Login ke dashboard WordPress.
Buka menu Tools->Network Setup.
Pada Addresses of Sites in your Network pilih Sub-directories.
Lalu klik Install.
Buka kembali file wp-config.php.
1 | nano /var/www/domain.com/wp-config.php |
Tambahkan konfigurasi wp-config.php.
1 2 3 4 5 6 | define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); define( 'DOMAIN_CURRENT_SITE', 'domain.com' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 ); |
Buka file .htaccess.
1 | nano /var/www/domain.com/.htaccess |
Hapus isi file .htaccess dan gantikan dengan konfigurasi di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L] |
Setelah semuanya selesai, logout dan login kembali.
Menambah Website Baru
Untuk menampilkan daftar semua website, klik menu My Sites->Network Admin->Sites.
Untuk menambah website, klik Add New.
- Site Address (URL): misal site1
- Site Title: judul website, misal ‘Site Satu Domain.Com’
- Admin Email: alamat email untuk admin website, misal ‘[email protected]’
- Lalu Add Site
Untuk masuk ke dashboard website, klik menu My Sites->Network Admin->Sites, lalu klik Dasboard di bawah URL website.
Untuk menambah theme dan plugin harus dilakukan di dashboard website utama.
Selamat mencoba 🙂
Min mau tanya klo saya mau buat dashboar utama dengan domain.com dan blognya di subdirectory domain.com/blog dalam satu database itu bagaimana caranya min? saya sudah mengunakan tutorial diatas tapi ketika ingin membuat subdirectory blog tidak bisa tapi harus nama yg lain, misal blog1 atau blog2, dll
kalau hanya ingin menempatkan semua post di /blog, cukup membuat satu page kosong dengan judul Blog, lalu ubah Posts Pages ke Blog di Settings -> Reading