Cara Install Laravel 10 Di cPanel: Panduan Lengkap & Terbaru

Laravel 10 adalah framework PHP yang powerfull dan elegan, pilihan populer untuk membangun aplikasi web modern. Jika Anda ingin meng-host aplikasi Laravel 10 Anda di cPanel, panduan ini adalah tempat yang tepat! Kami akan membahas cara install Laravel 10 di cPanel secara detail, langkah demi langkah, sehingga Anda dapat memulai proyek Anda dengan cepat dan mudah. Panduan ini lengkap dan terbaru, memastikan Anda mendapatkan informasi yang paling relevan untuk instalasi yang sukses.

1. Persiapan Awal Sebelum Instalasi Laravel 10 di cPanel

Sebelum memulai proses instalasi, ada beberapa persiapan yang perlu Anda lakukan agar semuanya berjalan lancar. Pastikan Anda memiliki akses ke cPanel hosting Anda dan memenuhi persyaratan minimum untuk Laravel 10.

  • Akses cPanel: Pastikan Anda memiliki username dan password untuk mengakses cPanel hosting Anda. Ini biasanya disediakan oleh penyedia hosting Anda.
  • Versi PHP yang Sesuai: Laravel 10 membutuhkan PHP versi 8.1 atau lebih tinggi. Periksa versi PHP yang aktif di cPanel Anda. Jika perlu, upgrade versi PHP melalui fitur “Select PHP Version” di cPanel. Ini sangat penting untuk menghindari error kompatibilitas.
  • Ekstensi PHP yang Dibutuhkan: Laravel 10 membutuhkan beberapa ekstensi PHP agar berfungsi dengan baik. Pastikan ekstensi seperti BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, dan XML aktif. Anda bisa mengaktifkan atau menonaktifkannya melalui “Select PHP Version” di cPanel.
  • Akses SSH (Opsional Tapi Disarankan): Meskipun tidak wajib, memiliki akses SSH akan sangat mempermudah proses instalasi dan manajemen aplikasi Laravel Anda. Tanyakan pada penyedia hosting Anda tentang cara mengaktifkan akses SSH.

Setelah semua persiapan ini selesai, Anda siap untuk melanjutkan ke langkah selanjutnya dalam cara install Laravel 10 di cPanel.

2. Upload File Laravel 10 ke cPanel

Setelah persiapan selesai, langkah selanjutnya adalah meng-upload file Laravel 10 ke cPanel Anda. Ada dua cara utama untuk melakukan ini: melalui File Manager cPanel atau menggunakan SSH (jika tersedia).

  • Menggunakan File Manager:

    1. Login ke cPanel Anda.
    2. Cari dan klik “File Manager”.
    3. Navigasi ke direktori public_html atau direktori domain yang ingin Anda gunakan. Ini adalah direktori utama website Anda.
    4. Klik “Upload” dan unggah file ZIP Laravel 10 yang sudah Anda download dari situs resmi Laravel (atau dari Composer).
    5. Setelah file ZIP selesai diunggah, klik kanan pada file tersebut dan pilih “Extract”. Ekstrak file ke direktori yang sama.
  • Menggunakan SSH (Disarankan):

    1. Login ke server Anda melalui SSH menggunakan terminal atau aplikasi seperti PuTTY.
    2. Navigasi ke direktori public_html atau direktori domain Anda: cd public_html (atau cd namadomain.com).
    3. Download file Laravel 10 langsung ke server menggunakan perintah wget atau curl. Misalnya: wget https://example.com/laravel.zip (ganti https://example.com/laravel.zip dengan URL file ZIP Laravel Anda). Atau, Anda bisa menggunakan composer create-project laravel/laravel . untuk menginstal Laravel secara langsung (pastikan Composer sudah terinstal di server).
    4. Ekstrak file ZIP menggunakan perintah unzip laravel.zip (ganti laravel.zip dengan nama file ZIP Anda).

Menggunakan SSH umumnya lebih cepat dan efisien, terutama untuk file yang berukuran besar. Namun, jika Anda tidak memiliki akses SSH, File Manager adalah alternatif yang baik.

3. Konfigurasi Direktori public Laravel di cPanel

Setelah file Laravel 10 berhasil diunggah dan diekstrak, langkah selanjutnya adalah mengarahkan domain Anda ke direktori public Laravel. Ini adalah bagian penting dari cara install Laravel 10 di cPanel karena memastikan bahwa website Anda menampilkan konten yang benar.

Secara default, website Anda akan mencari file index.html atau index.php di direktori public_html. Namun, aplikasi Laravel Anda terletak di direktori public di dalam folder Laravel. Ada beberapa cara untuk mengatasi ini:

  • Opsi 1: Mengubah document root Domain:

    1. Di cPanel, cari dan klik “Domains” atau “Addon Domains”.
    2. Temukan domain yang ingin Anda konfigurasi.
    3. Ubah document root domain tersebut dari public_html menjadi public_html/nama_folder_laravel/public (ganti nama_folder_laravel dengan nama folder tempat Anda mengekstrak file Laravel).
  • Opsi 2: Memindahkan Isi Direktori public (Tidak Disarankan):

    1. Pindahkan semua file dan folder di dalam direktori public Laravel ke direktori public_html (atau direktori domain Anda).
    2. Hapus direktori public yang kosong.

Opsi pertama (mengubah document root) adalah cara yang lebih disarankan karena menjaga struktur folder Laravel tetap utuh. Memindahkan file public dapat menyebabkan masalah di masa mendatang.

4. Konfigurasi File .env dan Database Laravel

Konfigurasi file .env sangat penting untuk mengatur koneksi database dan pengaturan aplikasi Laravel Anda. File ini berisi informasi sensitif seperti username, password, dan nama database. Berikut adalah langkah-langkah untuk mengkonfigurasi file .env saat install Laravel 10 di cPanel:

  • Rename File .env.example: Di dalam direktori Laravel Anda, Anda akan menemukan file bernama .env.example. Rename file ini menjadi .env.

  • Edit File .env:

    1. Buka file .env menggunakan File Manager atau editor teks di cPanel.
    2. Cari bagian yang berkaitan dengan database (biasanya dimulai dengan DB_).
    3. Ubah nilai-nilai berikut sesuai dengan informasi database Anda:
      • DB_CONNECTION=mysql (atau driver database yang Anda gunakan)
      • DB_HOST=127.0.0.1 (biasanya localhost atau IP server database Anda)
      • DB_PORT=3306 (biasanya 3306)
      • DB_DATABASE=nama_database_anda (ganti dengan nama database yang Anda buat)
      • DB_USERNAME=username_database_anda (ganti dengan username database Anda)
      • DB_PASSWORD=password_database_anda (ganti dengan password database Anda)
    4. Simpan perubahan pada file .env.
  • Generate Aplikasi Key: Di terminal SSH, navigasi ke direktori Laravel Anda dan jalankan perintah php artisan key:generate. Ini akan menghasilkan application key yang unik dan menyimpannya di file .env. Jika Anda tidak memiliki akses SSH, Anda bisa menambahkan key secara manual di file .env dengan format: APP_KEY=base64:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Gunakan fungsi base64 encode untuk menghasilkan key yang valid.

Membuat Database di cPanel: Jika Anda belum memiliki database, Anda perlu membuatnya di cPanel terlebih dahulu.

  1. Cari dan klik “MySQL Databases”.
  2. Buat database baru dengan nama yang Anda inginkan.
  3. Buat user baru dan berikan hak akses ke database yang baru Anda buat.
  4. Catat nama database, username, dan password yang Anda buat. Informasi ini akan digunakan untuk mengkonfigurasi file .env.

5. Menjalankan Migrasi Database Laravel

Setelah database terkonfigurasi, langkah selanjutnya adalah menjalankan migrasi database. Migrasi adalah cara untuk membuat dan memodifikasi struktur database Anda menggunakan kode. Laravel menyediakan sistem migrasi yang powerfull dan mudah digunakan. Berikut adalah cara menjalankan migrasi database Laravel di cPanel:

  • Akses SSH (Disarankan):

    1. Login ke server Anda melalui SSH.
    2. Navigasi ke direktori Laravel Anda.
    3. Jalankan perintah php artisan migrate. Ini akan menjalankan semua migrasi yang belum dijalankan dan membuat tabel yang diperlukan di database Anda.
  • Menggunakan PHP Shell (Jika tidak ada SSH): Jika Anda tidak memiliki akses SSH, beberapa penyedia hosting mungkin menyediakan akses ke PHP Shell melalui cPanel. Jika ada, gunakan PHP Shell untuk menjalankan perintah php artisan migrate.

  • Alternatif (Tidak Disarankan): Jika tidak ada SSH atau PHP Shell, Anda bisa membuat file PHP sederhana yang berisi kode untuk menjalankan migrasi. Namun, cara ini kurang aman dan tidak disarankan. Contohnya:

<?php

require __DIR__.'/../bootstrap/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

use IlluminateContractsConsoleKernel;

$kernel = $app->make(Kernel::class);

$status = $kernel->handle(
    $input = new SymfonyComponentConsoleInputArgvInput(['artisan', 'migrate']),
    new SymfonyComponentConsoleOutputConsoleOutput()
);

echo "Migrasi Selesai!";

$kernel->terminate($input, $status);

Simpan file ini (misalnya, migrate.php) di direktori public_html dan akses melalui browser (misalnya, https://domainanda.com/migrate.php). Pastikan untuk menghapus file ini setelah migrasi selesai demi keamanan.

6. Mengatur Permission File dan Folder Laravel

Mengatur permission file dan folder yang tepat sangat penting untuk keamanan aplikasi Laravel Anda. Permission yang salah dapat menyebabkan masalah seperti error, kerentanan keamanan, atau bahkan website yang tidak berfungsi. Berikut adalah panduan cara mengatur permission file dan folder Laravel dengan benar:

  • Folder storage: Folder storage (dan semua subfoldernya) harus memiliki permission 775. Ini memungkinkan Laravel untuk menulis file log, cache, dan file sesi.
  • Folder bootstrap/cache: Folder bootstrap/cache harus memiliki permission 775. Ini memungkinkan Laravel untuk menyimpan file cache konfigurasi.
  • File Lainnya: Semua file lainnya (termasuk file PHP, file konfigurasi, dan file view) harus memiliki permission 644.

Cara Mengubah Permission:

  • Melalui File Manager:

    1. Login ke cPanel dan buka File Manager.
    2. Klik kanan pada folder atau file yang ingin Anda ubah permission.
    3. Pilih “Change Permissions”.
    4. Masukkan nilai permission yang sesuai (775 untuk folder dan 644 untuk file).
  • Melalui SSH:

    1. Login ke server melalui SSH.
    2. Navigasi ke direktori Laravel Anda.
    3. Gunakan perintah chmod untuk mengubah permission. Contoh:
      • chmod -R 775 storage (mengubah permission folder storage dan semua subfoldernya)
      • chmod -R 775 bootstrap/cache (mengubah permission folder bootstrap/cache dan semua subfoldernya)
      • chmod 644 * (mengubah permission semua file di direktori saat ini)

7. Konfigurasi Cron Job Laravel (Jika Diperlukan)

Cron job adalah tugas terjadwal yang dijalankan secara otomatis oleh server. Laravel menggunakan cron job untuk menjalankan tugas-tugas seperti mengirim email, membersihkan cache, dan menjalankan scheduler. Jika aplikasi Anda memerlukan cron job, berikut adalah cara mengkonfigurasi cron job Laravel di cPanel:

  1. Dapatkan Command Scheduler Laravel: Command scheduler Laravel terletak di file artisan di direktori root aplikasi Anda. Command lengkapnya adalah php /path/to/your/laravel/project/artisan schedule:run >> /dev/null 2>&1. Ganti /path/to/your/laravel/project dengan path absolut ke direktori Laravel Anda. Anda bisa mendapatkan path absolut ini melalui cPanel (biasanya ditampilkan di bagian atas File Manager).

  2. Buka Cron Jobs di cPanel: Cari dan klik “Cron Jobs” di cPanel.

  3. Tambahkan Cron Job Baru:

    • Pilih interval waktu yang sesuai untuk menjalankan scheduler. Disarankan untuk menjalankan scheduler setiap menit (*/1 * * * *).
    • Masukkan command scheduler Laravel yang Anda dapatkan di langkah 1 ke kolom “Command”.
    • Klik “Add New Cron Job”.

Dengan mengkonfigurasi cron job, Anda memastikan bahwa tugas-tugas terjadwal di aplikasi Laravel Anda berjalan secara otomatis sesuai jadwal yang ditentukan.

8. Mengatasi Masalah Umum Saat Install Laravel 10 di cPanel

Meskipun proses instalasi Laravel 10 di cPanel relatif mudah, Anda mungkin menghadapi beberapa masalah umum. Berikut adalah beberapa masalah umum dan solusinya:

  • Website Menampilkan Error 500: Error 500 biasanya disebabkan oleh kesalahan konfigurasi server, permission yang salah, atau masalah kode. Periksa file log Laravel (storage/logs/laravel.log) untuk informasi lebih lanjut tentang penyebab error. Pastikan permission file dan folder sudah benar.

  • Error Koneksi Database: Pastikan informasi koneksi database di file .env sudah benar. Periksa nama database, username, password, dan host database. Pastikan juga bahwa database server berjalan dan dapat diakses.

  • Error Class Not Found: Error ini biasanya disebabkan oleh Composer yang belum diinstal atau package yang belum diinstal. Jalankan perintah composer install di direktori Laravel Anda untuk menginstal semua dependencies.

  • Website Tidak Menampilkan Apa-apa: Pastikan Anda sudah mengarahkan domain Anda ke direktori public Laravel dengan benar. Periksa juga file .htaccess di direktori public untuk memastikan konfigurasi rewrite engine sudah benar.

  • Error terkait Versi PHP: Pastikan Anda menggunakan versi PHP yang sesuai dengan persyaratan Laravel 10 (PHP 8.1 atau lebih tinggi). Upgrade versi PHP melalui fitur “Select PHP Version” di cPanel.

Jika Anda terus mengalami masalah, jangan ragu untuk mencari bantuan di forum Laravel, Stack Overflow, atau menghubungi penyedia hosting Anda.

9. Tips Optimasi Performa Aplikasi Laravel di cPanel

Setelah berhasil menginstal Laravel 10 di cPanel, Anda dapat melakukan beberapa optimasi untuk meningkatkan performa aplikasi Anda. Berikut adalah beberapa tips:

  • Gunakan Cache: Laravel menyediakan sistem cache yang powerfull. Gunakan cache untuk menyimpan data yang sering diakses, seperti hasil query database, konfigurasi, dan tampilan.
  • Optimalkan Query Database: Hindari query database yang kompleks dan tidak efisien. Gunakan eager loading untuk mengurangi jumlah query database. Gunakan indexing pada kolom yang sering digunakan dalam query.
  • Gunakan CDN: Gunakan Content Delivery Network (CDN) untuk menghosting file statis seperti gambar, CSS, dan JavaScript. CDN akan mempercepat pengiriman file statis ke pengguna di seluruh dunia.
  • Aktifkan Gzip Compression: Aktifkan Gzip compression untuk mengurangi ukuran file yang dikirim ke browser. Ini akan mempercepat waktu loading halaman.
  • Gunakan Opcode Cache: PHP memiliki opcode cache yang dapat meningkatkan performa aplikasi secara signifikan. Pastikan opcode cache diaktifkan di server Anda.
  • Gunakan Queues: Jika aplikasi Anda memiliki tugas yang memakan waktu, gunakan queues untuk memproses tugas-tugas tersebut di background. Ini akan membebaskan web server dan meningkatkan responsivitas aplikasi.
  • Minifikasi CSS dan JavaScript: Minifikasi CSS dan JavaScript untuk mengurangi ukuran file. Ini akan mempercepat waktu loading halaman.

10. Keamanan Aplikasi Laravel di cPanel: Praktik Terbaik

Keamanan adalah aspek penting dari pengembangan aplikasi web. Berikut adalah beberapa praktik terbaik untuk mengamankan aplikasi Laravel Anda di cPanel:

  • Gunakan HTTPS: Selalu gunakan HTTPS untuk mengenkripsi komunikasi antara browser dan server. Ini akan melindungi data sensitif seperti username, password, dan informasi kartu kredit.
  • Lindungi File .env: File .env berisi informasi sensitif seperti username, password database, dan API key. Pastikan file ini tidak dapat diakses oleh publik.
  • Gunakan CSRF Protection: Laravel menyediakan CSRF protection untuk mencegah serangan Cross-Site Request Forgery (CSRF). Aktifkan CSRF protection di semua form Anda.
  • Validasi Input Pengguna: Selalu validasi input pengguna untuk mencegah serangan SQL injection, XSS, dan serangan lainnya.
  • Gunakan Autentikasi dan Otorisasi: Implementasikan sistem autentikasi dan otorisasi yang kuat untuk melindungi resource aplikasi Anda.
  • Perbarui Laravel dan Packages Secara Teratur: Selalu perbarui Laravel dan packages Anda ke versi terbaru untuk mendapatkan perbaikan keamanan terbaru.
  • Pantau Log Aplikasi: Pantau log aplikasi Anda secara teratur untuk mendeteksi aktivitas yang mencurigakan.
  • Gunakan Firewall: Gunakan firewall untuk memblokir akses yang tidak sah ke server Anda.
  • Backup Data Secara Teratur: Backup data aplikasi Anda secara teratur untuk mencegah kehilangan data akibat serangan, kerusakan hardware, atau bencana alam.

Dengan mengikuti panduan lengkap cara install Laravel 10 di cPanel dan menerapkan praktik terbaik untuk optimasi dan keamanan, Anda dapat membangun dan mengelola aplikasi Laravel yang sukses di cPanel hosting Anda. Selamat mencoba!