Laravel adalah salah satu framework PHP paling terkenal berkah sintaksnya nan elegan dan ekosistem nan kuat. Banyak developer memilih Laravel untuk membangun aplikasi web modern. Namun, setelah aplikasi selesai dikembangkan di lokal, tahap selanjutnya adalah deploy ke server agar bisa diakses oleh publik. Salah satu langkah terbaik untuk melakukannya adalah dengan menggunakan Virtual Private Server (VPS).
Artikel ini bakal membahas langkah demi langkah gimana langkah melakukan deploy aplikasi Laravel ke VPS berbasis Linux (Ubuntu). Panduan ini cocok bagi pemula nan mau memindahkan proyek Laravel mereka dari lokal ke produksi.
Persiapan Awal
Sebelum memulai deploy, pastikan Anda sudah menyiapkan:
- Akun VPS aktif (misalnya dari DigitalOcean, Vultr, Linode, Dewabiz.com alias penyedia lainnya).
- Akses SSH ke VPS.
- Aplikasi Laravel sudah siap di lokal alias di repository GitHub/GitLab.
- Domain (opsional) jika mau menghubungkan aplikasi ke nama domain.
Langkah 1: Update dan Instalasi Paket Dasar
Login ke VPS Anda via SSH:
ssh root@alamat-ip-vps Lalu jalankan pembaruan sistem: sudo apt pembaruan && sudo apt upgrade -y Instal paket-paket dasar: sudo apt install nginx php php-fpm php-mbstring php-xml php-bcmath php-curl php-mysql php-zip unzip git curl mysql-server -yLangkah 2: Instal Composer
Laravel memerlukan Composer untuk mengelola dependensinya:

Cek jenis Composer:
composer --versionLangkah 3: Clone Aplikasi Laravel
Pindah ke direktori web server:
cd /var/www/Clone proyek Laravel Anda dari GitHub:
git clone https://github.com/username/proyek-laravel.git laravelapp cd laravelappJika Anda mengunggah kode manual (tanpa Git), cukup unggah ke /var/www/laravelapp menggunakan SFTP alias SCP.
Langkah 4: Instal Dependensi Laravel
Jalankan perintah Composer untuk menginstal semua dependensi:
composer installLangkah 5: Konfigurasi Environment
Salin file .env.example menjadi .env: cp .env.example .envEdit file .env untuk menyesuaikan dengan pengaturan database VPS:
nano .envContoh:
APP_NAME=LaravelApp APP_ENV=production APP_KEY= APP_DEBUG=false APP_URL=http://your-domain.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=laravel_user DB_PASSWORD=password_kuatLangkah 6: Generate APP_KEY dan Migrasi Database
php artisan key:generate php artisan migratePastikan database sudah dibuat terlebih dulu di MySQL:
mysql -u root -p CREATE DATABASE laravel_db; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password_kuat'; GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES;Langkah 7: Set Izin Akses Folder
Laravel memerlukan kewenangan akses tertentu untuk direktori storage dan bootstrap/cache:
sudo chown -R www-data:www-data /var/www/laravelapp sudo chmod -R 775 /var/www/laravelapp/storage sudo chmod -R 775 /var/www/laravelapp/bootstrap/cacheLangkah 8: Konfigurasi Nginx
Buat file konfigurasi baru:
sudo nano /etc/nginx/sites-available/laravelIsi dengan konfigurasi berikut:
server { listen 80; server_name your-domain.com; # alias alamat IP VPS root /var/www/laravelapp/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Sesuaikan jenis PHP Anda } location ~ /\.ht { deny all; } } Aktifkan konfigurasi dan restart Nginx: sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginxLangkah 9: (Opsional) Menggunakan SSL dengan Let’s Encrypt
Jika Anda menggunakan domain, amankan hubungan dengan HTTPS:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your-domain.comLangkah 10: Testing
Akses domain alias IP VPS Anda di browser. Jika semua langkah dilakukan dengan benar, aplikasi Laravel Anda sekarang live!
Kesimpulan
Melakukan deploy aplikasi Laravel ke VPS memberi Anda kontrol penuh atas server, keamanan, dan performa. Walaupun ada beberapa langkah teknis nan kudu diikuti, proses ini sangat berfaedah untuk proyek jangka panjang, terutama ketika Anda mau menghindari keterbatasan shared hosting.
Dengan VPS, Anda bisa membangun sistem nan fleksibel, dapat diskalakan, dan siap untuk lingkungan produksi. Terapkan praktik keamanan seperti menggunakan SSH key, memperbarui sistem secara berkala, dan mengatur firewall untuk melindungi server Anda
English (US) ·
Indonesian (ID) ·