
Cara install Laravel di VPS sering jadi kendala bagi developer pemula yang ingin go-live dengan aplikasi PHP modern. Padahal, dengan urutan yang tepat, proses deploy bisa selesai dalam waktu singkat tanpa error yang membingungkan.
Laravel membutuhkan environment khusus: PHP versi terbaru, Composer, dan beberapa ekstensi tambahan. Beda dengan hosting shared biasa, di VPS Anda punya kontrol penuh atas konfigurasi server. Artikel ini akan membimbing instalasi dari nol hingga aplikasi bisa diakses publik.
Persiapan Sebelum Install Laravel di VPS
Sebelum mulai, pastikan VPS Anda sudah siap. Gunakan sistem operasi Ubuntu LTS atau CentOS dengan akses root. Spesifikasi minimal yang disarankan: RAM dua gigabyte dan storage SSD untuk performa optimal.
Beberapa komponen wajib harus terpasang:
- PHP versi delapan atau lebih baru dengan ekstensi BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML
- Composer untuk manajemen dependensi PHP
- Database MySQL atau MariaDB
- Web server Nginx atau Apache
Jika Anda baru setup VPS, pertimbangkan untuk mengaktifkan firewall terlebih dahulu demi keamanan server. Selain itu, instal SSL certificate agar komunikasi data terenkripsi sejak awal.
Langkah 1: Update Sistem dan Install PHP
Mulai dengan memperbarui repository sistem operasi. Perintahnya berbeda tergantung distro, tapi konsepnya sama: dapatkan versi paket terbaru.
Untuk Ubuntu, tambahkan repository PHP dari Ondřej Surý karena versi default Ubuntu biasanya tertinggal:
sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
Setelah itu, install PHP beserta semua ekstensi yang Laravel butuhkan:
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip php8.2-bcmath php8.2-tokenizer php8.2-json php8.2-opcache -y
Verifikasi instalasi dengan menjalankan php -v. Pastikan output menampilkan versi PHP yang sesuai.
Langkah 2: Install Composer di VPS
Composer adalah dependency manager wajib untuk Laravel. Tanpa ini, Anda tidak bisa mengunduh framework maupun package tambahan.
Install Composer secara global agar bisa dipanggil dari mana saja:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
Cek versi Composer untuk memastikan berjalan normal. Jika muncul error permission, periksa ownership direktori /usr/local/bin.
Langkah 3: Setup Database MySQL atau MariaDB
Laravel butuh database untuk menyimpan data aplikasi. Pilih antara MySQL atau MariaDB — keduanya kompatibel penuh.
Install MariaDB yang lebih ringan:
sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
Buat database dan user khusus untuk aplikasi Laravel. Jangan gunakan user root di konfigurasi aplikasi:
CREATE DATABASE laravel_app CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘laravel_user’@’localhost’ IDENTIFIED BY ‘password_kuat_anda’;
GRANT ALL PRIVILEGES ON laravel_app.* TO ‘laravel_user’@’localhost’;
FLUSH PRIVILEGES;
Catat nama database, username, dan password. Data ini akan dimasukkan ke file .env nanti.
Langkah 4: Install Laravel Melalui Composer
Ada dua cara install Laravel di VPS: menggunakan installer global atau membuat project via Composer langsung. Metode kedua lebih fleksibel untuk production.
Pilih direktori web server, biasanya /var/www, lalu jalankan:
cd /var/www
composer create-project laravel/laravel nama-projek-andal
Proses ini mengunduh semua dependency Laravel. Durasinya tergantung koneksi internet VPS, biasanya beberapa menit. Setelah selesai, atur permission direktori storage dan bootstrap/cache agar web server bisa menulis log:
sudo chown -R www-data:www-data /var/www/nama-projek-andal
sudo chmod -R 755 /var/www/nama-projek-andal/storage
Langkah 5: Konfigurasi Environment dan Key Aplikasi
File .env menyimpan semua konfigurasi sensitif aplikasi Laravel. Duplikat dari .env.example, lalu sesuaikan:
cp .env.example .env
php artisan key:generate
Edit bagian database sesuai credential yang dibuat sebelumnya:
DB_DATABASE=laravel_app
DB_USERNAME=laravel_user
DB_PASSWORD=password_kuat_anda
Untuk environment production, ubah APP_ENV=local menjadi production dan APP_DEBUG=true menjadi false. Debug mode yang aktif di production membocorkan informasi teknis ke publik.
Langkah 6: Konfigurasi Nginx untuk Laravel
Laravel menggunakan public directory sebagai document root, bukan root project. Konfigurasi Nginx harus mengarahkan ke folder public dan menangani rewrite URL ke index.php.
Buat virtual host baru di /etc/nginx/sites-available/:
server {
listen 80;
server_name domain-anda.com;
root /var/www/nama-projek-andal/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:/var/run/php/php8.2-fpm.sock;
}
}
Aktifkan konfigurasi dengan symlink ke sites-enabled, lalu test dan reload Nginx. Jangan lupa atur DNS domain agar mengarah ke IP VPS.
Langkah 7: Optimasi Production Laravel
Setelah aplikasi berjalan, jalankan beberapa perintah optimasi agar performa maksimal:
- php artisan config:cache — menggabungkan semua config jadi satu file
- php artisan route:cache — mempercepat proses routing
- php artisan view:cache — mengkompilasi view Blade
- php artisan migrate –force — menjalankan migrasi database tanpa konfirmasi
Cache ini harus di-clear setiap kali ada perubahan config atau route. Untuk deployment berkelanjutan, pertimbangkan menggunakan Docker agar environment development dan production seragam.
Troubleshooting Umum Setelah Install
Beberapa masalah sering muncul setelah deploy. Berikut solusinya:
MasalahPenyebabSolusi
Permission denied storageOwnership folder salahchown ke www-data:www-data
404 pada semua routeRewrite tidak berfungsiCek konfigurasi try_files Nginx
Database connection failedCredential .env salahVerifikasi host, port, dan password
CSRF token mismatchSession tidak tersimpanPastikan permission storage/session writable
Jika aplikasi mengalami error 500 internal server, cek log di storage/logs/laravel.log untuk detail error spesifik.
Kesimpulan
Cara install Laravel di VPS memang memerlukan beberapa langkah teknis, tapi hasilnya worth it: performa lebih baik, kontrol penuh, dan biaya lebih efisien untuk skala menengah ke atas. Mulai dari persiapan PHP dan Composer, setup database, hingga konfigurasi Nginx — semua bisa dikuasai dengan praktik berulang.
Kalau Anda masih bingung memilih spesifikasi VPS yang cocok untuk Laravel, baca panduan memilih VPS dari kami. Atau langsung hubungi tim AntaHost untuk rekomendasi paket yang sesuai kebutuhan aplikasi Anda. Server siap, kode siap — saatnya go-live!