Kembali ke Semua Artikel Blog Tutorial

Cara Migrasi Website dari Shared Hosting ke VPS dengan Aman

Tim Web Engineer AN Media
18 Sep 2026
Cara Migrasi Website dari Shared Hosting ke VPS dengan Aman - Pembuatan Website & Aplikasi di Jember

Anda ingin memindahkan website yang saat ini berada di shared hosting ke VPS demi kontrol penuh dan performa lebih baik, namun khawatir kehilangan data atau downtime? Artikel ini memberikan prosedur teknis terperinci sehingga migrasi dapat dilakukan dengan aman dan mulus.

Langkah Persiapan Sebelum Migrasi

  • Pastikan Anda memiliki akses SSH ke kedua server.
  • Siapkan ruang penyimpanan di VPS minimal 2× ukuran data website.
  • Catat versi PHP, MySQL, dan modul penting yang dipakai di shared hosting.

Langkah 1: Backup File Website

  1. Login ke shared hosting via SSH.
    ssh [email protected]
  2. Buat arsip tar.gz dari direktori public_html (atau folder website).
    tar -czvf website_files.tar.gz /home/user/public_html
  3. Verifikasi ukuran file dan simpan di lokasi yang mudah diakses.

Langkah 2: Backup Database

  1. Identifikasi nama database, user, dan password pada file konfigurasi (misal wp-config.php atau .env).
  2. Ekspor database menggunakan mysqldump.
    mysqldump -u db_user -p'password' db_name > database_backup.sql
  3. Compress hasil dump untuk mengurangi waktu transfer.
    gzip database_backup.sql

Langkah 3: Siapkan VPS (Instalasi LAMP/LEMP)

  1. Login ke VPS via SSH.
    ssh root@vps-ip-address
  2. Update repositori dan instal paket utama (contoh menggunakan Ubuntu 22.04).
    apt update && apt upgrade -y
    apt install nginx php-fpm php-mysql mysql-server unzip -y
  3. Konfigurasi firewall (UFW) untuk mengizinkan HTTP, HTTPS, dan SSH.
    ufw allow OpenSSH
    ufw allow "Nginx Full"
    ufw enable
  4. Buat direktori web root dan set permission.
    mkdir -p /var/www/website.com/html
    chown -R www-data:www-data /var/www/website.com/html
    chmod -R 755 /var/www/website.com

Langkah 4: Transfer Backup ke VPS

  1. Gunakan scp atau rsync untuk memindahkan arsip.
    scp website_files.tar.gz user@vps-ip-address:/tmp/
    scp database_backup.sql.gz user@vps-ip-address:/tmp/
  2. Ekstrak file website di lokasi tujuan.
    tar -xzvf /tmp/website_files.tar.gz -C /var/www/website.com/html --strip-components=1

Langkah 5: Restore Database di VPS

  1. Buat database dan user baru di MySQL.
    mysql -u root -p
    CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'new_password';
    GRANT ALL PRIVILEGES ON db_name.* TO 'db_user'@'localhost';
    FLUSH PRIVILEGES;
    exit;
  2. Decompress dan import dump.
    gunzip /tmp/database_backup.sql.gz
    mysql -u db_user -p'new_password' db_name < /tmp/database_backup.sql

Langkah 6: Sesuaikan File Konfigurasi

  • Jika menggunakan WordPress, edit wp-config.php:
    define('DB_NAME', 'db_name');
    define('DB_USER', 'db_user');
    define('DB_PASSWORD', 'new_password');
    define('DB_HOST', 'localhost');
    // Jika menggunakan Nginx, pastikan rewrite rules di .htaccess tidak dipakai.
  • Jika aplikasi Laravel, ubah .env:
    DB_DATABASE=db_name
    DB_USERNAME=db_user
    DB_PASSWORD=new_password
    APP_URL=https://website.com

Langkah 7: Konfigurasi Web Server (Nginx)

server {
    listen 80;
    server_name website.com www.website.com;
    root /var/www/website.com/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Reload Nginx:

systemctl reload nginx

Langkah 8: Uji Koneksi dan Perbaiki Permalink

  • Akses http://vps-ip-address atau gunakan file hosts untuk testing domain sebelum DNS dipindah.
  • Jika menggunakan WordPress, masuk ke dashboard > Settings > Permalinks dan klik “Save Changes” untuk memperbarui .htaccess atau rewrite rules.

Langkah 9: Update DNS ke VPS

  1. Masuk ke registrar domain, ubah A record domain.com dan www.domain.com mengarah ke IP VPS.
  2. TTL dapat dipersingkat menjadi 300 detik selama masa transisi untuk mengurangi waktu propagasi.

Langkah 10: Optimasi Keamanan dan Performa

  • Pasang SSL dengan certbot:
    apt install certbot python3-certbot-nginx -y
    certbot --nginx -d website.com -d www.website.com
  • Aktifkan firewall rate limiting pada Nginx untuk melindungi dari brute‑force.
    limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
  • Instal dan konfigurasi caching (misal fastcgi_cache atau plugin WP Super Cache).

"Migrasi ke VPS memang menantang, tetapi dengan backup terstruktur, transfer via rsync, dan pengecekan konfigurasi secara detail, downtime dapat diminimalisir hingga hampir nol. Tim AN Media siap membantu bila Anda memerlukan dukungan lanjutan." – Ahmad Fauzi, Lead Engineer AN Media

Kesimpulan & Call to Action

Dengan mengikuti 10 langkah di atas, website Anda akan berpindah dari shared hosting ke VPS secara aman, data terjaga, dan performa meningkat. Jika Anda memerlukan layanan migrasi profesional, monitoring pasca‑migrasi, atau pengembangan fitur khusus, hubungi AN Media – Software House & IT Specialist di Jember melalui [email protected] atau telepon +62 331 1234567. Kami siap menjadikan infrastruktur digital Anda lebih handal.

Tertarik Membuat Website atau Aplikasi Android/Mobile di Jember?

Tim pengembang profesional AN Media Jember siap membantu mewujudkan aplikasi website dan mobile impian Anda dengan arsitektur terbaik & terjangkau.

Konsultasi Gratis Sekarang

Artikel Lainnya yang Relevan

Rekomendasi bacaan menarik lainnya seputar pembuatan website & aplikasi

Lihat Semua Blog →
Cara Menulis Unit Test dan Feature Test di Laravel dengan PHPUnit - AN Media Jember Tutorial
18 Sep 2026
Cara Menulis Unit Test dan Feature Test di Laravel dengan PHPUnit

Panduan lengkap langkah demi langkah menulis unit test dan feature test di Laravel menggun...

Baca Selengkapnya →
Cara Setup WordPress Multisite untuk Banyak Website dalam Satu Instalasi - AN Media Jember Tutorial
17 Sep 2026
Cara Setup WordPress Multisite untuk Banyak Website dalam Satu Instalasi

Panduan lengkap AN Media langkah demi langkah setup WordPress Multisite untuk mengelola ba...

Baca Selengkapnya →
Panduan Mengatasi Plugin & Theme Conflict Error pada Website WordPress - AN Media Jember Tutorial
13 Sep 2026
Panduan Mengatasi Plugin & Theme Conflict Error pada Website WordPress

Panduan lengkap mengatasi error konflik plugin & theme WordPress dengan langkah praktis da...

Baca Selengkapnya →