Tutorial TeknisFrameworkLEMP Stack

Cara Instalasi Laravel di Ubuntu 24.04 LTS

⚡ NVMe VPS PRO — VPS Cepat, Stabil, dan Gak Bikin Kantong Bolong! Nikmati performa hingga 40x lebih cepat dengan teknologi NVMe dan IOPS tinggi sampai 20.000.

💥 Waktunya upgrade ke performa premium tanpa harga premium. 👉 Lihat detail paket NVMe VPS PRO di sini!


Pengenalan

Laravel adalah framework PHP yang kuat dan mudah digunakan untuk pengembangan web. Selain itu, framework ini memiliki sintaks yang bersih serta banyak fitur bawaan yang mempercepat proses pembuatan aplikasi. Oleh karena itu, banyak pengembang memilih Laravel untuk membangun aplikasi yang modern dan skalabel.

Persyaratan

Dikutip dari situs resmi Laravel untuk versi 12.x dari sisi server requirement sebagai berikut : Server Requirements

Tahapan Instalasi

Sebelum melakukan instalasi Laravel Anda dapat mengikuti panduan instalasi LEMP Stack terlebih dahulu : Cara Instalasi LEMP Stack di Ubuntu 24.04

🥉 Paket BRONZE

💙 Pilihan hemat untuk performa cepat dan stabil. Waktunya upgrade ke server handal dengan harga terjangkau! Spesifikasi 2vCPU 4 GB RAM 80 NVMe

Rp 100.000

⚡ Pesan Sekarang

Laravel membutuhkan beberapa dependency selain PHP diantaranya GIT, silakan install git terlebih dahulu

text
root@panel:~# apt install git -y

Pada panduan ini kami menggunakan PHP 8.4, silakan install terlebih dahulu beberapa extension yang dibutuhkan laravel diatas

text
root@panel:~# apt install -y php8.4-curl php8.4-mbstring php8.4-xml php8.4-zip php8.4-bcmath php8.4-intl php8.4-mysql php8.4-gd

⚠️ WARNING : Pastikan Anda sudah mengikuti panduan instalasi LEMP Stack terlebih dahulu baru lanjut ke tahap ini.

Selanjutnya melakukan instalasi composer ini salah satu syarat utama jika ingin menjalankan laravel

text
root@panel:~# php -r "copy('http://getcomposer.org/installer', 'composer-setup.php');"
root@panel:~# php composer-setup.php
All settings correct for using Composer
Downloading...

Composer (version 2.8.12) successfully installed to: /root/composer.phar
Use it: php composer.phar

root@panel:~#

Kemudian, pindahkan file composer.phar ke local binary supaya dapat diakses secara global

text
root@panel:~# mv composer.phar /usr/local/bin/composer
root@panel:~#

Kemudian, membuat database laravel menggunakan perintah di bawah ini

text
root@panel:/var/www/laravel.nvmevps.pro# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 89
Server version: 10.11.13-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'Laravel_securepassword';
Query OK, 0 rows affected (0.007 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'laravel_user'@'localhost';
Query OK, 0 rows affected (0.004 sec)

MariaDB [(none)]> CREATE DATABASE laravel_db;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| laravel_db         |
| mysql              |
| performance_schema |
| sys                |
| wpnvme             |
+--------------------+
6 rows in set (0.002 sec)

MariaDB [(none)]> exit;
Bye
root@panel:/var/www/laravel.nvmevps.pro#

Verifikasi dependency yang dibutuhkan mulai dari git, php 8.4, database dan composer

text
root@panel:~# composer -V
Composer version 2.8.12 2025-09-19 13:41:59
PHP version 8.4.14 (/usr/bin/php8.4)
Run the "diagnose" command to get more detailed diagnostics output.
root@panel:~#
root@panel:~# php -v
PHP 8.4.14 (cli) (built: Oct 27 2025 20:53:56) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.4.14, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.14, Copyright (c), by Zend Technologies
root@panel:~#
root@panel:~# mariadb -V
mariadb  Ver 15.1 Distrib 10.11.13-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper
root@panel:~#
root@panel:~# git --version
git version 2.43.0
root@panel:~#

Membuat Project Laravel

Jika semua dependency sudah selesai di install, sekarang Anda dapat membuat project Laravel sebagai contoh root direktori laravel akan di simpan di /var/www/laravel.nvmevps.pro/

text
root@panel:~# cd /var/www/
root@panel:/var/www# mkdir laravel.nvmevps.pro
root@panel:/var/www#

Kemudian, cloning laravel menggunakan command git berikut

text
root@panel:/var/www# git clone https://github.com/laravel/laravel.git /var/www/laravel.nvmevps.pro/
Cloning into '/var/www/laravel.nvmevps.pro'...
remote: Enumerating objects: 35030, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 35030 (delta 17), reused 11 (delta 11), pack-reused 35002 (from 2)
Receiving objects: 100% (35030/35030), 10.65 MiB | 15.09 MiB/s, done.
Resolving deltas: 100% (20718/20718), done.
root@panel:/var/www# cd laravel.nvmevps.pro/
root@panel:/var/www/laravel.nvmevps.pro#

Jika sudah, selanjutnya atur permission dan owner pada root direktori laravel diatas

text
root@panel:/var/www/laravel.nvmevps.pro# sudo chown -R www-data:www-data /var/www/laravel.nvmevps.pro
root@panel:/var/www/laravel.nvmevps.pro# sudo find /var/www/laravel.nvmevps.pro -type f -exec chmod 644 {} \;
root@panel:/var/www/laravel.nvmevps.pro# sudo find /var/www/laravel.nvmevps.pro -type d -exec chmod 755 {} \;
root@panel:/var/www/laravel.nvmevps.pro# sudo chown -R www-data:www-data /var/www/laravel.nvmevps.pro/storage /var/www/laravel.nvmevps.pro/bootstrap/cache
root@panel:/var/www/laravel.nvmevps.pro#

Kemudian, jalankan perintah composer install untuk instalasi requirement yang di butuhkan laravel

text
root@panel:/var/www/laravel.nvmevps.pro# composer install

Copy environment sample menggunakan command berikut

text
root@panel:/var/www/laravel.nvmevps.pro# cp .env.example .env
root@panel:/var/www/laravel.nvmevps.pro#

Konfigurasi database pada environment .env sesuai database yang sudah di buat sebelumnya

text
root@panel:/var/www/laravel.nvmevps.pro# vim .env

Berikut contohnya

text
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=Laravel_securepassword

ℹ️ INFO : Harap menggunakan password yang lebih kompleks pada tutorial ini kami hanya memberikan contoh nya saja

Langkah selanjutnya generate application key

text
root@panel:/var/www/laravel.nvmevps.pro# php artisan key:generate

   INFO  Application key set successfully.

root@panel:/var/www/laravel.nvmevps.pro#

Jika sudah, lakukan run migration

text
root@panel:/var/www/laravel.nvmevps.pro# php artisan migrate

Konfigurasi Nginx dan SSL

Jika semuanya sudah dilakukan langkah terakhir yaitu melakukan konfigurasi nginx dan pemasangan SSL, silakan membuat server block untuk laravel.nvmevps.pro terlebih dahulu

text
root@panel:/var/www/laravel.nvmevps.pro# cd /etc/nginx/sites-available/
root@panel:/etc/nginx/sites-available#
root@panel:/etc/nginx/sites-available# vim laravel.nvmevps.pro.conf

Berikut ini contoh konfigurasi nginx untuk laravel

text
server {
    server_name laravel.nvmevps.pro;

    root /var/www/laravel.nvmevps.pro/public;
    index index.php index.html;

    # -------------------------------------------------
    # Security headers (opsional tapi direkomendasikan)
    # -------------------------------------------------
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
    add_header Referrer-Policy "strict-origin-when-cross-origin";
    add_header Permissions-Policy "geolocation=(), microphone=()";

    # -------------------------------------------------
    # Laravel Pretty URL (tanpa index.php di URL)
    # -------------------------------------------------
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # -------------------------------------------------
    # PHP-FPM 8.4 handler
    # -------------------------------------------------
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.4-fpm.sock;

        # Optional: improve performance & debugging
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        include fastcgi_params;
    }

    # -------------------------------------------------
    # Deny access to sensitive files
    # -------------------------------------------------
    location ~ /\.(env|git|htaccess|htpasswd|ini|log|sh|sql)$ {
        deny all;
    }

    # -------------------------------------------------
    # Caching static assets
    # -------------------------------------------------
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|ttf|eot)$ {
        expires 30d;
        access_log off;
        add_header Cache-Control "public";
    }

    # -------------------------------------------------
    # Error pages
    # -------------------------------------------------
    error_page 404 /index.php;
    error_page 500 502 503 504 /index.php;
}

Simpan dan enable site nginx dan verifikasi nginx server block sudah benar, jika sudah restart nginx

text
root@panel:/etc/nginx/sites-available# ln -s /etc/nginx/sites-available/laravel.nvmevps.pro.conf /etc/nginx/sites-enabled/
root@panel:/etc/nginx/sites-available# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@panel:/etc/nginx/sites-available#
root@panel:/etc/nginx/sites-available# systemctl restart nginx

Sebelum pemasangan SSL pastikan Anda sudah menyiapkan subdomain atau domain yang akan digunakan untuk mengakses laravel sebagai contoh di server block nginx sudah kami tentukan dengan subdomain laravel.nvmevps.pro silakan pointing A record terlebih dahulu ke IP Public VPS NVMe Pro seperti gambar di bawah ini

Jika sudah silakan install certbot terlebih dahulu

text
root@panel:/etc/nginx/sites-available# apt install certbot python3-certbot-nginx -y

Jika sudah silakan generate SSL untuk subdomain laravel.nvmevps.pro

text
root@panel:/etc/nginx/sites-available# certbot --nginx -d laravel.nvmevps.pro

Kemudian, Restart nginx dan php-fpm

text
root@panel:/etc/nginx/sites-enabled# systemctl restart nginx
root@panel:/etc/nginx/sites-enabled# systemctl restart php8.4-fpm.service
root@panel:/etc/nginx/sites-enabled#

Sekarang Anda dapat verifikasi akses melalui browser untuk laravel

Sampai disini Laravel sudah berhasil di install di VPS NVMe Pro menggunakan Ubuntu 24.04 LTS

.cta-nvme { max-width: 900px; margin: 40px auto; padding: 30px 24px; text-align: center; background: linear-gradient(135deg, #0f172a, #1e293b); color: #fff; border-radius: 18px; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.3); } .cta-nvme h2 { font-size: 26px; font-weight: 800; margin-bottom: 12px; color: #fff; } .cta-nvme p { font-size: 15px; color: #cbd5e1; margin-bottom: 24px; } .cta-nvme a { display: inline-block; background: linear-gradient(90deg, #00d4ff, #0066ff); color: #031026; text-decoration: none; font-weight: 700; padding: 14px 28px; border-radius: 12px; box-shadow: 0 10px 30px rgba(6,132,255,0.3); transition: all 0.2s ease-in-out; } .cta-nvme a:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(6,132,255,0.4); } .cta-nvme small { display: block; margin-top: 10px; font-size: 13px; color: #94a3b8; }

🚀 Ayo Pesan NVMEVPSPRO Sekarang!

Rasakan kecepatan NVMe sesungguhnya, performa gahar, dan stabilitas tinggi untuk semua kebutuhan server Anda.

Pesan Sekarang Diskon hingga 60% + Gratis CWP Pro untuk paket tahunan & dua tahunan!

Artikel ini membantu?

Butuh VPS untuk mencoba ini?

Kelola server, order & billing langsung dari Portal Area.

Kunjungi Portal →

Artikel Terkait

Tutorial Teknis
Cara Menghubungkan NVMe Backup Pro ke Proxmox VE
Tutorial Teknis
Cara Instalasi ERP Odoo 19 di Ubuntu 24.04 LTS Lengkap dan Mudah
Tutorial Teknis
Instalasi CloudPanel di Debian 12
Tutorial Teknis
Cara Instalasi WAHA di Ubuntu 24.04 LTS