Cara Deploy Laravel ke VPS dengan Mudah dan Cepat

Melakukan deployment aplikasi Laravel ke Virtual Private Server (VPS) adalah langkah penting untuk membawa proyek web Anda dari lingkungan lokal ke server produksi yang dapat diakses oleh publik. Proses ini melibatkan konfigurasi server web, pengelolaan dependensi PHP, serta pengaturan database agar aplikasi dapat berjalan optimal dan aman.

Berdasarkan panduan resmi dari Hostinger mengenai cara deploy Laravel ke VPS, berikut adalah tahapan teknis yang harus Anda lalui secara sistematis untuk memastikan aplikasi berjalan tanpa kendala.

Persiapan Awal Sebelum Deployment

Sebelum mengunggah kode sumber aplikasi ke VPS, pastikan server Anda telah memenuhi standar kebutuhan sistem Laravel. Anda memerlukan akses SSH ke VPS yang menjalankan sistem operasi Linux (seperti Ubuntu) serta hak akses sudo.

Komponen Versi Minimum Keterangan
PHP Versi Sesuai Proyek Dilengkapi ekstensi wajib (BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, Tokenizer, XML)
Web Server Nginx / Apache Direkomendasikan Nginx untuk performa tinggi
Database MySQL / MariaDB / PostgreSQL Tempat penyimpanan data aplikasi
Composer Versi Terbaru Manajer dependensi PHP

Langkah-Langkah Deploy Laravel ke VPS

1. Hubungkan ke VPS via SSH

Buka terminal di komputer lokal Anda dan sambungkan ke VPS menggunakan perintah SSH:

ssh username@alamat_ip_vps

2. Instalasi Dependensi dan Server Web

Perbarui daftar paket sistem, lalu instal PHP, web server pilihan Anda (misalnya Nginx), serta Composer pada VPS Anda:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx php-fpm php-mysql composer git -y

3. Clone Repositori Proyek ke VPS

Masuk ke direktori web server (biasanya di /var/www/html atau direktori pilihan Anda) lalu unduh kode proyek dari repositori Git:

cd /var/www
git clone https://url-repositori-anda.git nama-proyek
cd nama-proyek

4. Instal Dependensi Menggunakan Composer

Jalankan perintah Composer untuk mengunduh seluruh pustaka yang dibutuhkan oleh aplikasi Laravel tanpa menyertakan paket pengembangan (development packages):

composer install --optimize-autoloader --no-dev

5. Konfigurasi Environment (.env)

Salin contoh berkas konfigurasi lingkungan dan sesuaikan pengaturannya dengan kredensial server produksi Anda:

cp .env.example .env
php artisan key:generate

Edit berkas .env menggunakan nano atau vim untuk memasukkan detail koneksi database dan mengubah APP_ENV=production serta APP_DEBUG=false.

6. Pengaturan Hak Akses Folder

Agar Laravel dapat menulis data ke direktori penyimpanan dan cache, berikan izin akses yang tepat kepada pengguna web server:

sudo chown -R www-data:www-data /var/www/nama-proyek
sudo chmod -R 775 /var/www/nama-proyek/storage
sudo chmod -R 775 /var/www/nama-proyek/bootstrap/cache

7. Konfigurasi Virtual Host Nginx

Buat berkas konfigurasi baru untuk situs Anda di direktori Nginx:

sudo nano /etc/nginx/sites-available/nama-proyek

Masukkan konfigurasi blok server yang mengarah ke folder public proyek Laravel Anda, lalu aktifkan situs dan muat ulang Nginx:

sudo ln -s /etc/nginx/sites-available/nama-proyek /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Tips Keamanan dan Pemeliharaan

Setelah situs dapat diakses melalui alamat IP or domain VPS Anda, pastikan untuk selalu mengaktifkan firewall (UFW) dan mengatur sertifikat SSL menggunakan Let's Encrypt agar komunikasi data terenkripsi dengan protokol HTTPS.