Cara Setting WordPress Multisite dengan Apache dan Subdomain

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

*Tutorial Environment*

Spesifikasi dan konfigurasi yang dipakai di tutorial ini:

· Server: VPS Ubuntu 20.04 · IP server: 188.166.229.126 · Web server: Apache · PHP: versi 7.4 · MariaDB: versi 10.5 · WordPress: versi 5.7 · Domain: domain.com · Tipe multisite: sub-domain

*Persiapan Awal*

Persiapan awal yang harus dilakukan sebelum setting multisite.

· Install SSL wildcard. Jika menggunakan Let’s Encrypt + Cloudflare baca tutorial Cara Install SSL Let”€™s Encrypt Wildcard di Apache + Cloudflare · Install WordPress. Baca tutorial Cara Install WordPress dengan Apache di Ubuntu 20.04

Buka konfigurasi virtual host Apache, ubah dari www.domain.com menjadi *.domain.com.

File konfigurasi domain.com.conf untuk port 80 (HTTP)

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17     ServerName domain.com     ServerAlias *.domain.com     DocumentRoot /var/www/domain.com              Options Indexes FollowSymLinks MultiViews         AllowOverride All         Require all granted          ErrorLog /var/log/apache2/domain.com_error.log     CustomLog /var/log/apache2/domain.com_access.log combined       RewriteEngine on     RewriteCond %{SERVER_NAME} =*.domain.com [OR]     RewriteCond %{SERVER_NAME} =domain.com     RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

File konfigurasi domain.com-ssl.conf untuk port 443 (HTTPS)

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17     ServerName domain.com     ServerAlias *.domain.com     DocumentRoot /var/www/domain.com              Options Indexes FollowSymLinks MultiViews         AllowOverride All         Require all granted          ErrorLog /var/log/apache2/domain.com_error.log     CustomLog /var/log/apache2/domain.com_access.log combined       SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem     SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem

DNS record untuk subdomain multisite, tambahkan record untuk * (wildcard subdomain apapun).

· Type = A, Name = domain.com, Target = 188.166.229.126 · Type = A, Name = *, Target = 188.166.229.126

*Setting Multisite*

Buka file wp-config.php.

[INPUT]

1 nano /var/www/domain.com/wp-config.php

Tambahkan konfigurasi multisite, pasang di atas baris */* That’s all, stop editing! Happy publishing. */ *.

[INPUT]

1 define(‘WP_ALLOW_MULTISITE’, true);

Login ke dashboard WordPress. Buka menu *Tools->Network Setup*.

*Addresses of Sites in your Network* pilih *Sub-domains*.

Lalu *Install*.

Buka kembali file wp-config.php.

[INPUT]

1 nano /var/www/domain.com/wp-config.php

Tambahkan konfigurasi wp-config.php.

[INPUT]

1 2 3 4 5 6 define(‘MULTISITE’, true); define(‘SUBDOMAIN_INSTALL’, true); 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.

[INPUT]

1 nano /var/www/domain.com/.htaccess

Hapus isi file .htaccess dan gantikan dengan konfigurasi di bawah ini.

[INPUT]

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 ^wp-admin$ wp-admin/ [R=301,L]   RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ – [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [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*.

1. Site Address (URL): subdomain website, misal ‘site1’ 2. Site Title: judul website, misal ‘Site Satu Domain.Com’ 3. Admin Email: alamat email untuk admin website, misal ‘admin@domain.com’ 4. 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 🙂

Leave a Reply

Your email address will not be published.