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.