Cara Deploy Laravel ke VPS dengan Aman dan Siap Production

cara deploy laravel ke vps
cara deploy laravel ke vps
Highlights
  • Deploy Laravel ke VPS dimulai dengan menyiapkan server, PHP, database, Composer, lalu mengunggah project Laravel ke directory yang tepat.
  • Konfigurasi .env, permission folder storage, database, serta Nginx harus diatur dengan benar agar aplikasi bisa berjalan aman di environment production.
  • Setelah deployment selesai, jalankan migration, aktifkan HTTPS, dan gunakan php artisan optimize supaya performa Laravel lebih optimal.
  • Jika aplikasi mengalami error setelah deploy Laravel VPS, cek versi PHP, ekstensi, permission, cache, konfigurasi PHP-FPM. Serta log Laravel untuk menemukan penyebabnya.

Cara deploy Laravel ke VPS bisa dilakukan dengan menyiapkan web server, PHP, database, Composer, mengunggah project, mengatur .env. Lalu mengarahkan domain ke folder public. 

Setelah itu, jalankan migrasi, atur permission, aktifkan HTTPS, dan optimalkan Laravel agar aplikasi siap dipakai di production.

Website Anda Lemot? Saatnya Pindah ke VPS Powerful!
Nikmati performa optimal dengan CPU & RAM Dedicated, Gratis SSL, dan Backup Harian Otomatis. Semua ini bisa Anda dapatkan dengan harga terjangkau!
Dapatkan VPS Hosting

Persiapan Sebelum Tahu Cara Deploy Laravel ke VPS

Sob, jangan langsung git clone lalu berharap aplikasi otomatis hidup. Cara deploy Laravel ke VPS melibatkan beberapa komponen yang harus saling cocok.

Panduan ini memakai contoh stack Ubuntu, Nginx, PHP-FPM, database MySQL atau MariaDB, Git, dan Composer. Versi PHP harus mengikuti versi Laravel pada project. 

Sebagai gambaran, dokumentasi Laravel 13.x mensyaratkan PHP 8.3 atau lebih baru serta ekstensi seperti cURL, Mbstring, OpenSSL, PDO, Tokenizer, dan XML.

Sebelum mulai, siapkan:

  • VPS dengan akses SSH
  • domain yang sudah diarahkan ke IP VPS
  • repository atau source code Laravel
  • database dan kredensialnya
  • Composer dan PHP yang sesuai

Cek versi PHP:

php -v

Kalau versi server tidak cocok dengan project, bereskan dulu. Memaksa deployment hanya akan memindahkan error ke langkah berikutnya.

Cek Konten Lainnya:
VPS Indonesia: Tips Memilih Server Pribadi Yang Bebas Worry

1. Masuk ke VPS dan Ambil Project Laravel

Akses server melalui SSH:

ssh username@IP_VPS
Lalu tempatkan aplikasi pada directory yang rapi:
cd /var/www
sudo git clone https://github.com/username/nama-project.git laravel-app
cd laravel-app

Untuk repository private, gunakan autentikasi yang aman seperti SSH key. 

Pada proses cara deploy laravel ke vps, directory project yang rapi juga memudahkan update dan troubleshooting.

2. Install Dependency dengan Composer

Setelah source code tersedia, jalankan:

composer install –no-dev –optimize-autoloader

Opsi –no-dev melewati package yang hanya diperlukan saat development. Composer juga merekomendasikan optimasi autoloader untuk production agar pemuatan class lebih efisien.

Hindari composer update sembarangan di server production. composer install mengikuti versi dependency yang sudah dikunci pada composer.lock, sehingga hasil deployment lebih konsisten.

Kalau kamu mencari tutorial dengan frasa install laravel on vps. Langkah Composer ini wajib diperhatikan karena ketidakcocokan PHP, ekstensi, atau package sering membuat proses berhenti.

3. Atur File .env untuk Production

Kalau .env belum tersedia, buat dari contoh:

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

Lalu sesuaikan konfigurasi penting:

APP_ENV=production
APP_DEBUG=false
APP_URL=https://domainkamu.com

DB_DATABASE=nama_database
DB_USERNAME=user_database
DB_PASSWORD=password_database

APP_DEBUG harus dimatikan di production. Debug mode yang aktif dapat mengekspos nilai konfigurasi sensitif kepada pengguna.

Jika aplikasi production sebelumnya sudah memiliki APP_KEY. Jangan asal membuat key baru setiap deploy Laravel VPS, karena key tersebut digunakan oleh mekanisme enkripsi Laravel.

4. Atur Permission Laravel

Laravel membutuhkan akses tulis ke storage dan bootstrap/cache. Kedua directory tersebut harus bisa ditulis oleh proses web server.

Contoh pada Ubuntu dengan user www-data:

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

Hindari langsung memakai permission 777 hanya untuk menghilangkan error.

Jika aplikasi menyimpan file publik melalui Laravel Storage, jalankan:

php artisan storage:link
Perintah itu membuat symbolic link dari storage publik aplikasi ke public/storage.

5. Arahkan Nginx ke Folder Public

Ini bagian yang tidak boleh salah. Document root Nginx harus mengarah ke folder public, bukan root project. 

Laravel menyarankan request masuk melalui public/index.php agar file sensitif pada root aplikasi tidak terekspos.

Contoh konfigurasi dasarnya:

server {
    listen 80;
    server_name domainkamu.com www.domainkamu.com;

    root /var/www/laravel-app/public;
    index index.php;

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

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Sesuaikan socket PHP-FPM dengan versi PHP di VPS. Kemudian tes dan reload Nginx:

Cek Konten Lainnya:
12 Alternative Docker Terbaik, Ada yang Bebas Biaya Lisensi!
sudo nginx -t
sudo systemctl reload nginx

Kalau nginx -t gagal, perbaiki error konfigurasi sebelum melakukan reload.

6. Jalankan Migrasi Database

Kalau dengan cara deploy Laravel ke VPS ini membawa migration baru, jalankan:

php artisan migrate –force

Laravel menyediakan –force agar migration bisa dijalankan di environment production tanpa prompt interaktif. 

Karena migration dapat mengubah struktur atau data, backup database layak dilakukan sebelum perubahan besar.

7. Optimalkan Laravel untuk Production

Setelah aplikasi berjalan, jalankan:

php artisan optimize

Laravel memakai perintah ini untuk membuat cache konfigurasi, event, route, dan view yang relevan bagi production.

Perlu dicatat, setelah konfigurasi di-cache, pemanggilan env() sebaiknya berada di file konfigurasi. Bagian aplikasi lain seharusnya membaca nilai melalui config().

Jika konfigurasi baru belum terbaca:

php artisan optimize:clear
php artisan optimize

8. Aktifkan HTTPS

Setelah domain dan Nginx berfungsi, kamu bisa memasang sertifikat HTTPS menggunakan Certbot:

sudo certbot –nginx

Panduan resmi Certbot menjelaskan bahwa perintah tersebut dapat memperoleh sertifikat sekaligus menyesuaikan konfigurasi Nginx. 

Renewal juga dapat diuji menggunakan certbot renew –dry-run.

Setelah aktif, pastikan APP_URL menggunakan https://.

9. Cek Aplikasi Setelah Melakukan Cara Deploy Laravel ke VPS

Jangan berhenti setelah homepage muncul, Sob. Tes fitur yang menyentuh komponen penting:

  • login dan autentikasi
  • operasi database
  • upload file
  • email
  • cache dan session
  • queue worker
  • log pada storage/logs

Laravel juga menyediakan health route yang secara default dapat diakses melalui /up untuk memeriksa apakah aplikasi berhasil boot tanpa exception.

Jika project memakai queue worker atau service yang berjalan lama. Jadi, pastikan proses tersebut memuat kode terbaru setelah melakukan semua cara deploy Laravel ke VPS ini. 

Laravel menyediakan mekanisme reload untuk layanan jangka panjang pada versi yang mendukungnya.

Kesalahan yang Sering Bikin Cara Deploy Laravel ke VPS Gagal

Kalau aplikasi belum jalan, cek penyebab yang paling umum dulu:

  • versi PHP tidak sesuai
  • ekstensi PHP belum lengkap
  • .env masih memakai konfigurasi lokal
  • APP_DEBUG=true
  • Nginx diarahkan ke root project
  • permission storage salah
  • migration belum dijalankan
  • cache lama masih tersimpan
  • socket PHP-FPM keliru
  • DNS belum mengarah ke VPS
Cek Konten Lainnya:
Asisten AI Terbaik yang Aktif 24/7 untuk Upscale Bisnis

Jangan mengubah banyak konfigurasi sekaligus. Periksa log dan benahi satu sumber error pada satu waktu.

Cara deploy Laravel ke VPS bukan cuma memindahkan source code. 

Kamu perlu memastikan dependency cocok, .env aman. Nginx mengarah ke folder public, database siap, permission benar, HTTPS aktif, dan Laravel sudah dioptimalkan.

Kalau kamu butuh kontrol server yang lebih bebas untuk aplikasi Laravel, VPS memberi ruang lebih luas untuk mengatur stack sesuai kebutuhan project. 

Sob, VPS Jagoan Hosting juga bisa dipertimbangkan sebagai infrastruktur dalam cara deploy Laravel ke VPS. Lalu resource server dapat disesuaikan dengan traffic dan beban aplikasi kamu.

FAQ

1. Apakah Laravel bisa dijalankan di VPS?

Bisa. Selama environment server memenuhi kebutuhan Laravel dan dependency project.

2. Apakah harus memakai Nginx?

Tidak. Artikel ini menggunakan Nginx karena dokumentasi deployment resmi Laravel menyediakan contoh konfigurasi untuk Nginx dan opsi server lainnya.

3. Kenapa Laravel error 500 setelah dipindah ke VPS?

Penyebabnya dapat berupa .env salah, permission bermasalah, dependency belum lengkap, PHP tidak kompatibel, atau konfigurasi web server keliru. Cek log Laravel dan log web server untuk mengetahui error spesifik.

4. Apakah composer install perlu dijalankan saat deploy?

Ya, ketika dependency perlu dipasang sesuai composer.lock. Untuk production, –no-dev dan optimasi autoloader dapat digunakan sesuai kebutuhan.

5. Apakah php artisan serve cocok untuk production?

Untuk VPS production, gunakan web server atau application server yang memang dikonfigurasi menerima traffic aplikasi.

Ketahui Cara Deploy Laravel ke VPS Lebih Nyaman dengan VPS Jagoan Hosting

Kalau kamu ingin aplikasi Laravel punya resource yang lebih fleksibel dan kontrol server yang lebih luas. 

Sob, kamu bisa menggunakan VPS Murah Jagoan Hosting

Pilihan VPS-nya tersedia untuk berbagai kebutuhan, mulai dari project pengembangan sampai workload production. 

Dengan dukungan processor AMD EPYC, storage NVMe pada paket tertentu, serta opsi resource yang dapat disesuaikan. 

Jagoan Hosting juga menyediakan layanan support 24/7 melalui WhatsApp dengan CS bersertifikasi yang siap diajak diskusi saat kamu menemukan kendala.

Bantuan CS yang proaktif juga bikin pengelolaan layanan terasa lebih praktis, terutama ketika kamu butuh informasi terkait server atau maintenance. 

Kalau ingin pendampingan yang lebih intens untuk kebutuhan teknis. Kamu juga bisa menggunakan VIP Support Jagoan Hosting agar pengelolaan layanan jadi lebih tenang.

Rakasena Pratama Avatar

Rakasena Pratama

IT Consultant M. Kom

IT Consultant dengan pengalaman 11+ tahun di bidang server, hosting, dan technology. Berpengalaman dalam menyusun konten teknis dan edukatif seputar infrastruktur digital dan pemanfaatan AI untuk membantu pengguna memahami solusi teknologi secara akurat dan aplikatif.

Areas of Expertise: Technology, Server, hosting, domain, AI

Authors (2)

Rakasena Pratama

Primary Author
IT Consultant M. Kom
IT Consultant dengan pengalaman 11+ tahun di bidang server, hosting, dan technology. Berpengalaman dalam menyusun konten teknis dan edukatif seputar…
6 years of experience in providing readers with the latest insights and best practices in various fields related to Business,…
You May Also Like