Promo Domain .web.id .biz.id .my.id Hanya 5.000 Rupiah

PanduanSoftwareVPSWebsite

Deploy Aplikasi Laravel di VPS, Panduan Lengkap untuk Pemula

Ferdin Alamsyah

Laravel adalah salah satu framework PHP paling populer berkat sintaksnya yang elegan dan ekosistem yang 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 cara terbaik untuk melakukannya adalah dengan menggunakan Virtual Private Server (VPS).

Artikel ini akan membahas langkah demi langkah bagaimana cara melakukan deploy aplikasi Laravel ke VPS berbasis Linux (Ubuntu). Panduan ini cocok bagi pemula yang ingin memindahkan proyek Laravel mereka dari lokal ke produksi.

Persiapan Awal

Sebelum memulai deploy, pastikan Anda sudah menyiapkan:

  1. Akun VPS aktif (misalnya dari DigitalOcean, Vultr, Linode, Dewabiz.com atau penyedia lainnya).
  2. Akses SSH ke VPS.
  3. Aplikasi Laravel sudah siap di lokal atau di repository GitHub/GitLab.
  4. Domain (opsional) jika ingin 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 update sistem:

sudo apt update && 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 -y

Langkah 2: Instal Composer

Laravel membutuhkan Composer untuk mengelola dependensinya:

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer

Cek versi Composer:

composer --version

Langkah 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 laravelapp

Jika Anda mengunggah kode manual (tanpa Git), cukup unggah ke /var/www/laravelapp menggunakan SFTP atau SCP.

Langkah 4: Instal Dependensi Laravel

Jalankan perintah Composer untuk menginstal semua dependensi:

composer install

Langkah 5: Konfigurasi Environment

Salin file .env.example menjadi .env:

cp .env.example .env

Edit file .env untuk menyesuaikan dengan pengaturan database VPS:

nano .env

Contoh:

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_kuat

Langkah 6: Generate APP_KEY dan Migrasi Database

php artisan key:generate

php artisan migrate

Pastikan database sudah dibuat terlebih dahulu 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 membutuhkan hak 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/cache

Langkah 8: Konfigurasi Nginx

Buat file konfigurasi baru:

sudo nano /etc/nginx/sites-available/laravel

Isi dengan konfigurasi berikut:

server {

    listen 80;

    server_name your-domain.com; # atau 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 versi 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 nginx

Langkah 9: (Opsional) Menggunakan SSL dengan Let’s Encrypt

Jika Anda menggunakan domain, amankan koneksi dengan HTTPS:

sudo apt install certbot python3-certbot-nginx -y

sudo certbot --nginx -d your-domain.com

Langkah 10: Testing

Akses domain atau IP VPS Anda di browser. Jika semua langkah dilakukan dengan benar, aplikasi Laravel Anda kini live!

Kesimpulan

Melakukan deploy aplikasi Laravel ke VPS memberi Anda kontrol penuh atas server, keamanan, dan performa. Walaupun ada beberapa langkah teknis yang harus diikuti, proses ini sangat bermanfaat untuk proyek jangka panjang, terutama ketika Anda ingin menghindari keterbatasan shared hosting.

Dengan VPS, Anda bisa membangun sistem yang 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

Baca Juga