Mengganti domain dalam EasyEngine
Pertanyaan mas Hartono soal redirect non-www ke www pada Nginx ini aslinya hal mudah (tinggal dibalik saja) tapi karena pakai EasyEngine yang tempat konfigurasinya berbeda dengan standar dan ada beberapa buah juga membuatnya jadi kompleks. 😀
Catatan, sambil menuliskan caranya saya baru sadar kalau agak ngelantur ngomongin hal lainnya yang saya temukan (dan anggap jadi solusi) sambil mencari – cari jawabannya. Harap diabaikan. Hehe. 😀
Karena script EE ini ada databasenya sendiri jadi cara manual edit – edit sangat tidak disarankan. Solusi pertama adalah dengan modifikasi konfigurasi virtual host untuk website tersebut:
ee site edit nama_domain.com
Setelah itu ganti atau tambahkan isi dari baris server_name
.
Tapi ini tidak meredirect trafficnya dan cara menambahkannya bisa anda mengedit file spesifiknya:
nano /etc/nginx/conf.d/force-ssl-nama_domain.com.conf
Isinya adaptasikan seperti ini:
server {
listen 80;
server_name nama_domain.com;
return 301 https://nama_domain.com$request_uri;
}
Setelah itu restart Nginx:
service nginx restart
Semestinya akan sesuai permintaan. 😀
Alternatifnya menurut saya lebih mudah dibackup > dihapus > dibuat dengan format url baru. Asumsi WordPress ya dan pakai Let’s Encrypt untuk HTTPSnya.
- Kita buat dulu virtual hostnya dan kemudian buat copy dari seluruh file dan direktori yang ada.
ee site create domain_baru.com -wp -letsencrypt cp -a /var/www/domain_lama.com/htdocs/ /var/www/domain_baru.com/htdocs/
- Selanjutnya kita buat backup file databasenya dan direstore ke database baru.
mysqldump domain_lama.com > domain_lama.com.sql mysql domainbaru_com < domain_lama.com.sql
- Khusus WordPress maka silahkan disetting url barunya pakai www maupun tidak. Ini efeknya ke redirect Nginx secara otomatis.
wp option set home https://www.domain_baru.com wp option set site_url https://www.domain_baru.com
- Opsional, bisa dihapus kalau sudah dipastikan bekerja normal.
ee site delete domain_lama.com
Minimal downtime dan tidak edit manual.