Deploy website ke VPS (Virtual Private Server) adalah skill penting yang harus dimiliki setiap web developer. Tutorial ini akan membahas langkah demi langkah cara deploy website ke VPS Ubuntu dari nol hingga online.
Buka terminal di komputer Anda dan jalankan perintah: ssh root@your-vps-ip. Masukkan password yang diberikan oleh penyedia VPS Anda.
Jalankan perintah apt update dan apt upgrade untuk memastikan semua package terbaru dan aman.
Nginx adalah web server yang ringan dan cepat. Install dengan apt install nginx, lalu jalankan systemctl start nginx dan systemctl enable nginx agar Nginx otomatis start saat VPS reboot.
Install PHP-FPM dan extensions yang dibutuhkan: php-fpm, php-mysql, php-curl, php-gd, php-mbstring, php-xml, php-zip. Restart Nginx setelah install selesai.
Install MariaDB server dan jalankan mysql_secure_installation untuk mengamankan database. Buat database dan user baru untuk website Anda.
Ada beberapa cara untuk upload website: menggunakan SCP (scp -r ./website/* root@ip:/var/www/mywebsite/), Git clone dari repository, atau FTP/SFTP menggunakan FileZilla.
Buat file konfigurasi di /etc/nginx/sites-available/mywebsite dengan konfigurasi server block. Set root directory, index file, dan PHP-FPM socket. Aktifkan site dengan symbolic link ke sites-enabled dan reload Nginx.
Di panel DNS domain Anda, tambahkan A Record untuk @ dan www yang mengarah ke IP VPS. Tunggu propagasi DNS (biasanya 5-30 menit, maksimal 48 jam).
Gunakan Let's Encrypt dengan Certbot untuk install SSL gratis. Jalankan certbot --nginx -d yourdomain.com -d www.yourdomain.com. Certbot akan otomatis konfigurasi HTTPS dan auto-renew setiap 90 hari.
Set ownership direktori website ke www-data:www-data dan permission ke 755. Ini memastikan Nginx bisa membaca file website dengan benar.
Deploy website ke VPS memang terlihat rumit, tapi dengan mengikuti langkah-langkah di atas secara berurutan, Anda bisa membuat website online dalam waktu kurang dari 30 menit. Skill ini sangat berharga untuk karir web developer dan membuka peluang freelance yang menguntungkan.