Cara Setting WordPress Multisite dengan Nginx 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 Nginx 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: Nginx
- 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 Nginx + Cloudflare
- Install WordPress. Baca tutorial Cara Install WordPress dengan Nginx di Ubuntu 20.04
Buka konfigurasi server block Nginx, ubah dari www.domain.com menjadi *.domain.com.
File konfigurasi domain.com.conf.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | server { listen 443 ssl http2; server_name domain.com *.domain.com; root /var/www/domain.com; index index.php index.html index.htm; ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $fastcgi_script_name =404; include fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT $realpath_root; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; } access_log /var/log/nginx/domain.com_access.log; error_log /var/log/nginx/domain.com_error.log; } server { listen 80; server_name domain.com *.domain.com; return 301 https://domain.com$request_uri; } |
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.
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.
Addresses of Sites in your Network pilih Sub-domains.
Lalu 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', true); define('DOMAIN_CURRENT_SITE', 'domain.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); |
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): subdomain website, 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 🙂
terima kasih atas pencerahannya mas musa, sekalian mau tanya nih mas ..
setingan multisite untuk subdirectory itu gmana ya ?
silakan baca di Cara Setting WordPress Multisite dengan Nginx dan Sub-directories