Cara Install Laravel 12 Di VPS Debian 12 Lengkap + Nginx & SSL

Cara Install Laravel 12 Di VPS Debian 12 Lengkap + Nginx & SSL

Laravel adalah salah satu framework PHP paling populer yang digunakan untuk membangun aplikasi web modern, cepat, dan aman. Versi terbaru, Laravel 12, hadir dengan berbagai peningkatan performa dan fitur baru yang memudahkan pengembangan aplikasi. Bagi kamu yang ingin menjalankan Laravel di server sendiri,   VPS dengan Debian 12   adalah pilihan tepat karena stabil, ringan, dan banyak digunakan di lingkungan produksi.

Pada panduan ini, kita akan membahas   cara install Laravel 12   di VPS Debian 12 secara lengkap, mulai dari instalasi PHP dan Composer, konfigurasi Nginx, setup database MySQL, hingga pengaturan SSL agar website dapat diakses secara aman. Dengan mengikuti langkah-langkah ini, kamu bisa memiliki lingkungan Laravel yang siap digunakan untuk pengembangan maupun produksi.

1️⃣ Update & Upgrade Server

sudo apt update && sudo apt upgrade -y

2️⃣ Install PHP dan Ekstensi Laravel

Laravel 12 (Laravel 10+) minimal butuh PHP 8.1. Debian 12 biasanya sudah ada PHP 8.2 di repositori.

sudo apt install php php-cli php-mbstring php-xml php-bcmath php-curl php-zip unzip git -y

Cek versi PHP :

php -v

Harus minimal 8.1.

3️⃣ Install Composer

Composer adalah dependency manager PHP.

cd /tmp
curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Cek versi Composer :

composer -V

4️⃣ Install Laravel 12

sudo composer create-project laravel/laravel:^12.0 proyekku

Ganti `proyekku` dengan nama folder project kamu.

5️⃣ Set Izin Folder

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

6️⃣ Konfigurasi Environment

Masuk ke folder project :

cd /var/www/proyekku
cp .env.example .env
php artisan key:generate

Edit `.env` untuk koneksi database:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=namadb
DB_USERNAME=userdb
DB_PASSWORD=passdb

7️⃣ Install & Konfigurasi MySQL (opsional jika belum ada)

sudo apt install mariadb-server -y
sudo mysql_secure_installation

Buat database :

sudo mysql -u root -p
CREATE DATABASE namadb;
CREATE USER 'userdb'@'localhost' IDENTIFIED BY 'passdb';
GRANT ALL PRIVILEGES ON namadb.* TO 'userdb'@'localhost';
FLUSH PRIVILEGES;
EXIT;

8️⃣ Konfigurasi Nginx

Install Nginx :

sudo apt install nginx -y

Buat konfigurasi Laravel :

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

Isi dengan :

server {
    listen 80;
    server_name domainkamu.com;
    root /var/www/proyekku/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;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Aktifkan konfigurasi :

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

9️⃣ Jalankan Laravel

Jika ingin testing langsung tanpa domain :

php artisan serve --host=0.0.0.0 --port=8000

Akses di browser :

http://IP-VPS:8000

Kalau ingin via domain, pastikan DNS sudah diarahkan dan Nginx berjalan.

🔟 Opsional : Install SSL Let's Encrypt

Jika sudah punya domain :

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d domainkamu.com -d www.domainkamu.com

Tags :