
Migrasi hosting lama ke hosting baru DirectAdmin merupakan proses memindahkan seluruh data website dari server sebelumnya ke server baru agar website dapat berjalan di lingkungan hosting yang berbeda. Proses ini bisa dilakukan sendiri tanpa harus selalu meminta bantuan administrator server, selama pemilik website memahami beberapa hal dasar, seperti pengelolaan file, database, konfigurasi domain, dan DNS.
Cara migrasi hosting lama ke hosting baru DirectAdmin perlu dilakukan secara bertahap supaya website tetap bisa diakses, data tidak hilang, dan email yang menggunakan domain yang sama tidak mengalami gangguan yang tidak diinginkan. Persiapan yang baik juga membantu mengurangi risiko kesalahan ketika domain mulai diarahkan ke server baru.
Migrasi tidak selalu berarti memindahkan file website saja. Sebuah website biasanya terdiri dari beberapa komponen yang saling berhubungan, mulai dari file aplikasi, database, konfigurasi PHP, akun email, hingga pengaturan DNS. Apabila salah satu komponen tersebut terlewat, website mungkin tidak bisa dibuka secara normal meskipun proses pemindahan file sudah selesai.
Artikel ini membahas tahapan migrasi dari berbagai jenis hosting lama, termasuk cPanel, DirectAdmin, aaPanel, dan hosting dengan akses FTP atau File Manager, menuju server baru yang menggunakan DirectAdmin.
1. Memahami Hal yang Harus Dipindahkan
Sebelum memulai migrasi, kenali terlebih dahulu komponen yang digunakan oleh website. Tujuannya agar tidak ada data penting yang tertinggal ketika hosting lama sudah tidak digunakan.
Beberapa komponen yang perlu diperiksa adalah sebagai berikut.
- File website: berisi file PHP, HTML, CSS, JavaScript, gambar, dokumen, dan file aplikasi lainnya.
- Database: menyimpan konten, akun pengguna, pengaturan, transaksi, dan data lain yang digunakan aplikasi.
- Konfigurasi aplikasi: misalnya file
.env,wp-config.php, atau konfigurasi koneksi database lainnya. - Email: mencakup akun email, pesan yang tersimpan, serta pengaturan pengiriman dan penerimaan email.
- DNS: mencakup A record, MX record, TXT record, CNAME, dan record lain yang dibutuhkan domain.
- SSL: sertifikat HTTPS yang perlu dipasang atau diterbitkan kembali pada server baru.
- Versi PHP dan ekstensi: aplikasi mungkin membutuhkan versi PHP tertentu serta ekstensi seperti mysqli, curl, mbstring, atau intl.
Tidak semua website membutuhkan seluruh komponen tersebut. Website statis, misalnya, tidak memerlukan database. Sebaliknya, WordPress, Laravel, dan aplikasi berbasis PHP lainnya mungkin membutuhkan database beserta konfigurasi koneksi yang sesuai.
2. Persiapan Sebelum Migrasi Hosting
Jangan langsung menghapus file atau menutup layanan hosting lama sebelum website berhasil berjalan di server baru. Selama proses migrasi, hosting lama sebaiknya tetap aktif sebagai sumber data dan cadangan apabila ditemukan masalah.
Lakukan beberapa pemeriksaan berikut.
Catat informasi hosting lama
Pastikan Anda memiliki akses ke panel hosting lama, FTP atau SFTP jika tersedia, phpMyAdmin, serta pengaturan DNS domain. Apabila penyedia hosting memberikan akses SSH, proses pencadangan dapat dilakukan lebih efisien menggunakan perintah terminal.
Catat pula lokasi direktori website, nama database, nama pengguna database, versi PHP, dan informasi email yang masih digunakan.
Periksa kapasitas hosting baru
Pastikan kapasitas penyimpanan server DirectAdmin cukup untuk menampung file website, database, email, dan file cadangan. Periksa juga batas penggunaan inode, ukuran database, batas upload, serta versi perangkat lunak yang tersedia.
Jika website menggunakan aplikasi lama, pastikan versi PHP di server baru kompatibel. Menggunakan versi PHP yang terlalu baru tanpa pengujian dapat menyebabkan fungsi aplikasi tidak berjalan sebagaimana mestinya.
Buat cadangan lengkap
Unduh seluruh file website dan ekspor database sebelum melakukan perubahan. Simpan salinan tersebut di komputer atau penyimpanan lain yang aman.
Untuk website penting, sebaiknya buat dua salinan cadangan. Satu digunakan untuk proses migrasi, sedangkan satu lagi disimpan tanpa perubahan sebagai cadangan pemulihan.
Periksa juga apakah file tersembunyi seperti .htaccess dan .well-known ikut tercadangkan. File tersembunyi bisa berisi aturan pengalihan, konfigurasi keamanan, atau kebutuhan verifikasi SSL.
3. Menyiapkan Domain di DirectAdmin
Setelah persiapan selesai, masuk ke panel DirectAdmin pada server baru menggunakan akun yang telah diberikan oleh administrator hosting.
Buka menu Account Manager, kemudian pilih Domain Setup atau menu pengelolaan domain yang tersedia pada versi DirectAdmin Anda. Tambahkan domain yang akan dipindahkan apabila domain tersebut belum terdaftar.
Pastikan penulisan domain benar, termasuk penggunaan subdomain seperti blog.domainanda.com apabila website yang dimigrasikan menggunakan subdomain.
Sesudah domain dibuat, DirectAdmin biasanya menyediakan direktori website di dalam struktur home akun pengguna, dengan document root yang umumnya mengarah ke domains/domainanda.com/public_html.
Lokasi persisnya dapat berbeda bergantung pada konfigurasi server. Pastikan Anda mengunggah file ke document root yang benar agar website dapat dibaca oleh web server.
Jika domain sudah digunakan pada akun DirectAdmin lain, jangan langsung membuat domain yang sama kembali. Periksa terlebih dahulu kepemilikan akun dan konfigurasi server agar tidak terjadi konflik.
4. Memindahkan File Website ke Server Baru
Pemindahan file dapat dilakukan melalui File Manager, FTP/SFTP, SSH, atau fitur pencadangan yang tersedia pada hosting lama.
Metode pertama: menggunakan File Manager
Metode ini cocok untuk website berukuran kecil hingga menengah, selama batas kapasitas dan waktu proses mencukupi.
- Masuk ke File Manager pada hosting lama.
- Buka direktori utama website, biasanya
public_html,httpdocs, atau direktori khusus yang ditetapkan penyedia hosting. - Pilih seluruh file dan folder website yang diperlukan.
- Buat arsip ZIP jika fitur kompresi tersedia.
- Unduh arsip tersebut ke komputer.
- Masuk ke File Manager DirectAdmin pada server baru.
- Buka document root domain tujuan.
- Unggah arsip ZIP, kemudian ekstrak di direktori yang benar.
- Pastikan struktur folder tidak menjadi bertingkat secara tidak sengaja.
Sebagai contoh, jika file utama website sebelumnya berada di public_html/index.php, setelah ekstraksi file tersebut seharusnya tetap berada di document root domain yang baru.
Kesalahan yang sering terjadi adalah mengekstrak arsip sehingga file utama justru berada di public_html/public_html/index.php. Kondisi tersebut membuat website menampilkan halaman kosong, daftar direktori, atau halaman bawaan server.
Periksa juga apakah arsip berisi file tersembunyi. Jika File Manager tidak menampilkan file tertentu, aktifkan opsi untuk menampilkan hidden files apabila tersedia.
Metode kedua: menggunakan FTP atau SFTP
FTP dapat digunakan untuk mengunduh dan mengunggah file dalam jumlah besar. Namun, apabila tersedia, SFTP lebih disarankan karena menggunakan koneksi terenkripsi melalui SSH.
Gunakan aplikasi FTP yang mendukung antrean transfer dan kemampuan melanjutkan transfer yang terputus. Setelah proses selesai, periksa ukuran file dan jumlah direktori penting untuk memastikan pemindahan berjalan dengan baik.
Jangan memindahkan direktori sistem hosting yang tidak dibutuhkan. Fokus pada file website, file konfigurasi aplikasi, serta aset yang memang digunakan oleh domain.
Jika terdapat file dengan izin akses khusus, pastikan permission-nya tetap sesuai. Secara umum, direktori website menggunakan permission 755 dan file menggunakan 644, tetapi aplikasi tertentu mungkin memerlukan pengaturan berbeda. Hindari memberikan permission 777 secara menyeluruh karena dapat menimbulkan risiko keamanan.
Metode ketiga: menggunakan SSH dan arsip
Untuk website berukuran besar, akses SSH bisa mempermudah proses pencadangan dan pemindahan. Jika Anda memiliki akses ke kedua server, data dapat ditransfer menggunakan rsync atau scp, sesuai izin dan konfigurasi yang tersedia.
Contoh membuat arsip pada server lama:
tar -czf website-backup.tar.gz -C /path/ke/website .
Pindahkan arsip ke server baru menggunakan metode transfer yang tersedia, kemudian ekstrak ke document root tujuan:
tar -xzf website-backup.tar.gz -C /path/document-root
Ganti /path/ke/website dan /path/document-root dengan lokasi yang sebenarnya. Pastikan direktori tujuan sudah benar dan tidak menimpa website lain.
Jika menggunakan rsync, lakukan pengujian terlebih dahulu dan periksa sumber serta tujuan sebelum menjalankan sinkronisasi. Opsi penghapusan seperti --delete sebaiknya tidak digunakan tanpa memahami dampaknya karena file pada tujuan dapat ikut terhapus.
5. Mengekspor Database dari Hosting Lama
Jika website menggunakan database MySQL atau MariaDB, database perlu diekspor secara terpisah atau melalui fitur backup yang sudah mencakup database.
Cara yang umum digunakan adalah melalui phpMyAdmin.
- Masuk ke phpMyAdmin pada hosting lama.
- Pilih database yang digunakan website.
- Klik menu Export.
- Pilih format SQL.
- Gunakan metode Quick untuk database sederhana atau Custom jika membutuhkan pengaturan tambahan.
- Unduh file hasil ekspor, misalnya
database-backup.sql.
Untuk database yang besar, metode ekspor melalui terminal atau fitur backup hosting mungkin lebih sesuai. Pastikan proses ekspor selesai tanpa kesalahan dan file SQL tidak kosong.
Perhatikan bahwa ekspor database pada saat website masih menerima transaksi atau perubahan data dapat menghasilkan cadangan yang tidak mencakup perubahan terbaru. Untuk website dinamis, seperti toko online atau portal keanggotaan, rencanakan sinkronisasi terakhir agar data yang masuk selama migrasi tidak hilang.
6. Membuat Database Baru di DirectAdmin
Setelah file website dipindahkan, buat database baru di server DirectAdmin.
Masuk ke menu Account Manager, kemudian pilih MySQL Management atau menu pengelolaan database yang tersedia. Buat database baru, lalu buat atau pilih pengguna database dan berikan hak akses yang diperlukan.
Catat empat informasi berikut:
- Nama database baru.
- Nama pengguna database.
- Kata sandi pengguna database.
- Host database, yang umumnya
localhostjika database berada pada server yang sama dan konfigurasi server mengizinkannya.
Pada sejumlah instalasi DirectAdmin, nama database dan pengguna akan memiliki awalan berupa nama akun. Gunakan nama lengkap yang ditampilkan panel, bukan hanya nama pendek yang Anda masukkan.
Setelah database dan pengguna siap, buka phpMyAdmin dari DirectAdmin. Pilih database baru, kemudian gunakan menu Import untuk mengunggah file SQL hasil ekspor sebelumnya.
Tunggu sampai proses impor selesai. Jika muncul pesan kesalahan, periksa ukuran file, batas upload, format SQL, versi MySQL atau MariaDB, serta kemungkinan adanya tabel atau fitur yang tidak kompatibel.
Untuk database besar, gunakan metode impor melalui terminal apabila akses dan kebijakan server mengizinkannya. Jangan mengimpor ulang berkali-kali ke database yang sudah berisi data tanpa memahami dampaknya, karena dapat menyebabkan duplikasi atau konflik tabel.
7. Menyesuaikan Konfigurasi Aplikasi
File website dan database yang sudah dipindahkan belum tentu langsung terhubung. Aplikasi harus menggunakan informasi database yang baru.
Pada WordPress, buka file wp-config.php dan periksa pengaturan berikut:
define('DB_NAME', 'nama_database_baru');
define('DB_USER', 'pengguna_database_baru');
define('DB_PASSWORD', 'kata_sandi_database');
define('DB_HOST', 'localhost');
Sesuaikan nilainya berdasarkan informasi database DirectAdmin. Jangan menyalin contoh di atas secara mentah tanpa mengganti nilainya dengan konfigurasi sebenarnya.
Untuk Laravel, periksa file .env, khususnya variabel DB_DATABASE, DB_USERNAME, DB_PASSWORD, dan DB_HOST. Setelah mengubah konfigurasi, aplikasi mungkin memerlukan pembersihan cache konfigurasi sesuai prosedur Laravel.
Aplikasi PHP lain bisa menggunakan file konfigurasi yang berbeda. Jika Anda tidak mengetahui file mana yang menyimpan koneksi database, cari dokumentasi aplikasi atau periksa konfigurasi yang digunakan pada server lama.
Jangan menaruh kata sandi database di file yang bisa diakses publik. File konfigurasi harus berada di lokasi dan memiliki izin akses yang sesuai.
8. Mengatur Versi PHP dan Ekstensi
Salah satu penyebab website bermasalah setelah migrasi adalah perbedaan lingkungan PHP antara hosting lama dan DirectAdmin.
Periksa versi PHP yang digunakan sebelumnya, lalu pilih versi yang kompatibel melalui menu pemilihan PHP pada DirectAdmin apabila fitur tersebut tersedia.
Periksa juga ekstensi PHP yang dibutuhkan aplikasi. Beberapa website membutuhkan mysqli, pdo_mysql, curl, mbstring, xml, zip, gd, intl, atau ekstensi lainnya.
Apabila website menampilkan pesan seperti undefined function, class not found, atau kesalahan pemrosesan gambar, kemungkinan ada ekstensi yang belum aktif atau ketidakcocokan versi aplikasi.
Jangan langsung mengubah seluruh kode aplikasi hanya karena website mengalami error setelah migrasi. Periksa log error terlebih dahulu agar penyebabnya bisa diketahui dengan lebih tepat.
Jika website menggunakan Composer, Node.js, cron job, atau layanan eksternal, periksa juga kebutuhan tersebut. Pemindahan file saja tidak otomatis memindahkan dependensi aplikasi, jadwal tugas, atau konfigurasi layanan pada server lama.
9. Menguji Website Sebelum Mengubah DNS
Sebelum domain diarahkan ke server baru, lakukan pengujian menggunakan alamat IP server, file hosts pada komputer, atau fitur pratinjau yang disediakan lingkungan hosting.
Metode file hosts memungkinkan komputer Anda membuka domain menggunakan IP server baru tanpa mengubah DNS publik untuk pengguna lain. Cara ini berguna untuk memeriksa tampilan halaman, fungsi login, formulir, gambar, dan koneksi database.
Uji beberapa halaman penting, bukan hanya halaman utama. Untuk WordPress, periksa halaman artikel, media, permalink, formulir kontak, dan dashboard administrator. Untuk toko online, periksa produk, keranjang, checkout, serta proses transaksi uji yang aman.
Perhatikan juga apakah website masih memuat aset dari server lama, menampilkan URL yang salah, atau mengalami masalah redirect. Website yang dapat membuka halaman utama belum tentu sudah berfungsi sepenuhnya.
Jika menggunakan HTTPS, pastikan sertifikat SSL tersedia pada server baru. Sertifikat dapat diterbitkan sebelum atau sesudah perubahan DNS, tergantung metode validasi dan konfigurasi hosting. Jangan menganggap HTTPS sudah berfungsi hanya karena browser sebelumnya memiliki sertifikat dari server lama.
10. Mengarahkan DNS ke Server DirectAdmin Baru
Setelah pengujian selesai, langkah berikutnya adalah mengarahkan domain ke server baru. Perubahan ini dilakukan pada penyedia DNS yang berwenang atas domain, yang belum tentu sama dengan penyedia hosting.
Ada dua pendekatan umum.
Mengubah A record: arahkan record domain utama dan subdomain yang relevan ke alamat IP server baru. Misalnya, record @ untuk domain utama dan www jika digunakan oleh website tersebut.
Mengubah nameserver: gunakan nameserver baru hanya jika Anda memang memindahkan pengelolaan DNS dan seluruh zona DNS sudah disiapkan pada layanan baru.
Sebelum mengubah DNS, salin semua record yang diperlukan. Perhatikan terutama MX untuk email, TXT untuk SPF, DKIM dan verifikasi layanan, serta CNAME yang digunakan aplikasi pihak ketiga. Mengubah nameserver tanpa menyalin record dapat mengganggu email dan layanan lain.
TTL yang lebih rendah dapat membantu mempercepat pergantian alamat bagi sebagian resolver jika sudah diterapkan sebelum migrasi. Namun, perubahan DNS tidak selalu langsung terlihat oleh semua pengguna karena cache dan TTL sebelumnya masih berlaku.
Setelah perubahan dilakukan, periksa resolusi domain dari beberapa jaringan atau gunakan alat pemeriksaan DNS. Pertahankan hosting lama aktif selama masa transisi agar pengguna yang masih mengakses alamat lama tidak langsung kehilangan layanan.
11. Memindahkan Email ke Server Baru
Email sering menjadi bagian migrasi yang terlupakan. Jika domain digunakan untuk email perusahaan atau pribadi, tentukan terlebih dahulu apakah email tetap berada di layanan lama atau ikut dipindahkan ke DirectAdmin.
Jika email ikut dipindahkan, buat akun email dengan nama dan alamat yang sesuai pada server baru. Selanjutnya, salin pesan menggunakan fitur migrasi email atau IMAP jika tersedia. Pemindahan akun email saja tidak otomatis menyalin seluruh pesan yang tersimpan di server lama.
Periksa pula konfigurasi MX, SPF, DKIM, dan DMARC. Nilai yang dibutuhkan bergantung pada server email yang digunakan. Jangan mengubah record email secara sembarangan jika layanan email tetap menggunakan penyedia yang berbeda.
Setelah perpindahan, uji pengiriman dan penerimaan pesan dari alamat eksternal. Periksa juga folder spam, log pengiriman, serta konfigurasi autentikasi email jika pesan tidak sampai.
Untuk domain dengan email aktif sepanjang hari, pertimbangkan masa transisi dan sinkronisasi pesan terakhir agar email yang masuk ke server lama selama propagasi tidak tertinggal.
12. Mengaktifkan SSL dan Memeriksa HTTPS
Setelah DNS mengarah ke server baru dan domain berhasil divalidasi, aktifkan sertifikat SSL melalui menu SSL Certificates atau fitur Let’s Encrypt yang tersedia pada DirectAdmin.
Pastikan sertifikat mencakup domain utama dan www apabila keduanya digunakan. Jika ada subdomain lain, sertifikatnya perlu disesuaikan.
Setelah sertifikat aktif, buka website menggunakan HTTPS dan periksa apakah browser menampilkan koneksi yang aman. Jika muncul peringatan sertifikat, pastikan DNS mengarah ke server yang benar dan sertifikat mencakup nama domain yang diakses.
Jika website masih memuat gambar atau skrip melalui HTTP, lakukan penyesuaian URL dengan hati-hati. Untuk WordPress, pastikan alamat WordPress dan alamat situs menggunakan skema yang benar. Hindari melakukan penggantian teks database secara langsung tanpa alat yang memahami struktur data terserialisasi.
13. Mengatasi Masalah yang Sering Terjadi Setelah Migrasi
Beberapa kendala berikut sering ditemukan setelah pemindahan hosting.
Error 500 atau Internal Server Error
Periksa log error, konfigurasi .htaccess, permission file, versi PHP, dan ekstensi yang dibutuhkan aplikasi. Jika website menggunakan aturan rewrite khusus, pastikan aturan tersebut kompatibel dengan konfigurasi web server baru.
Error koneksi database
Pastikan nama database, nama pengguna, kata sandi, host, dan hak akses sudah benar. Periksa apakah database berhasil diimpor dan server database sedang berjalan.
Website masih menampilkan server lama
Periksa A record, nameserver, TTL, cache DNS lokal, serta kemungkinan penggunaan proxy atau CDN. Gunakan pemeriksaan DNS untuk memastikan alamat yang dikembalikan sudah sesuai.
Gambar dan CSS tidak tampil
Pastikan file aset sudah ikut dipindahkan, path tidak berubah, permission benar, dan URL yang dipakai aplikasi sesuai. Periksa pula apakah file diblokir oleh aturan keamanan atau mixed content.
Email tidak dapat menerima pesan
Periksa MX record, konfigurasi mail server, status akun email, serta record autentikasi DNS. Jika email tetap berada di penyedia lama, jangan mengubah MX ke server baru tanpa alasan yang jelas.
Website lambat atau muncul error setelah migrasi
Periksa log aplikasi, penggunaan sumber daya server, konfigurasi cache, versi PHP, dan dependensi yang diperlukan. Jangan menganggap seluruh masalah berasal dari DNS karena penyebabnya bisa berada pada aplikasi atau database.
14. Checklist Setelah Migrasi Selesai
Sebelum menonaktifkan hosting lama, pastikan semua komponen penting sudah diperiksa.
- File website lengkap dan berada di document root yang benar.
- Database berhasil diimpor dan aplikasi dapat mengaksesnya.
- Versi PHP serta ekstensi sudah sesuai kebutuhan aplikasi.
- Halaman utama, halaman internal, dan formulir berjalan normal.
- Login administrator dan fungsi utama aplikasi berhasil.
- DNS domain dan subdomain mengarah ke tujuan yang benar.
- SSL aktif dan website dapat diakses melalui HTTPS.
- Email terkirim dan diterima dengan normal, jika digunakan.
- Cron job, backup otomatis, dan integrasi eksternal sudah diperiksa.
- File cadangan lama tersimpan dengan aman.
- Log error tidak menunjukkan masalah kritis yang belum ditangani.
Jangan buru-buru menghapus akun hosting lama begitu domain mulai terbuka dari server baru. Pertahankan layanan lama selama periode pemantauan yang sesuai dengan kebutuhan website. Pastikan juga data terakhir dari website dinamis sudah tersinkronisasi sebelum benar-benar menghentikan layanan lama.
Kesimpulan
Migrasi hosting lama ke server baru DirectAdmin dapat dilakukan sendiri apabila prosesnya direncanakan dengan baik. Tahapan utamanya meliputi pencadangan file dan database, pembuatan domain serta database di DirectAdmin, penyesuaian konfigurasi aplikasi, pengujian website, perubahan DNS, dan pemeriksaan email serta SSL.
Setiap jenis hosting lama mungkin memiliki cara pencadangan yang berbeda, tetapi prinsip migrasinya tetap sama: pindahkan seluruh komponen yang diperlukan, verifikasi hasilnya, lalu alihkan trafik setelah server baru siap.
Dengan mengikuti langkah-langkah di atas, pemilik website dapat mengurangi risiko kehilangan data dan gangguan layanan selama proses perpindahan. Jika muncul masalah, gunakan log error dan hasil pemeriksaan setiap komponen untuk menemukan sumbernya sebelum melakukan perubahan lebih lanjut.