DEV Community

sumberweb
sumberweb

Posted on • Edited on

Deploy Laravel to cPanel v.1

Thanks to GitHub Repository [laravel-todo-list](https://github.com/benzuri/laravel-todo-list)

Simple Todo List app with Api-Rest made with Laravel.

Tech Stack : Laravel 10.25.1, MySql, User registration ( Jetstream ), Dynamic interface ( Livewire, Alpine Js, Token based API ( Sanctum ), Design ( Tailwind )

Bisa menggunakan link tutorial ini jika aplikasi laravel tidak menggunakan library node_modules
https://dev.to/sumberweb/deploy-laravel-to-cpanel-v2-5c7a


1. Setup Struktur Folder Pada Hosting

Berikut ini adalah struktur folder project aplikasi laravel yang masih di lokal komputer / leptop. lakukan compress pada files yang sudah di pilih kecuali module node_modules karena nantinya untuk library tersbut kita intallasi / setup pada cPanel.

Image description

silahkan akses hosting / cPanel kemudian arahkan ke menu file manager. buat folder laravel-todoapp di luar folder subdomain atau public_html yang nantinya menjadi entry point folder aplikasinya.

Image description

  • pertama buat folder name laravel-todoapp
  • kedua pastikan path folder sudah empty ( kosong ) yang artinya folder baru akan terbuat di home direktory
  • ketiga create new folder

Upload hasil compress files yang dipilih sebelumnya ke folder yang baru saja di buat laravel-todoapp

Image description

setelah di compress files berhasil diupload ke hosting pada folder laravel-todoapp, bisa dilanjutkan dengan mengekstract file .zip tersebut sehingga hasil nya akan seperti berikut :

files project aplikasi sudah berada di direktory laravel-todoapp

Image description

langkah selanjutnya adalah pindahkan semua isi files yang ada di dalam folder public ke folder subdomain laravel-todoapp.codesync.id kemudian jika files sudah berhasil di pindahkan isinya akan seperti berikut :

Image description

  • pilih semua files yang ada di laravel-todoapp/public
  • move ke folder tujuan yaitu subomain laravel-todoapp.codesync.id
  • move files

2. Setup Node Js

[ skip step ini jika tidak diperlukan / tidak menggunakan library node_module pada project laravel ]

Dibutuhkan untuk mengakses NPM ( node package manager ) sehingga bisa installasi package javascript nantinya. Terutama tailwindcss dan package lainnya yang dibutuhkan pada environtment project aplikasi ini.

Image description

  • Pertama silahkan pilih NodeJs Version dan Application mode nya di Production atau Development.
  • Kedua adalah Application root yang mana ini adalah root dari folder project aplikasinya. sebagai catatan : Nama Application rootnya harus sama dengan folder yang sudah di buat sebelumnya. silahkan periksa kembali pada step pertama sebelum melakukan Setup Node Js nya.
  • Ketiga adalah Application URL ini adalah URL dimana aplikasi nantinya bisa diakses atau alamat website aplikasinya.
  • Keempat adalah Application startup file ini adalah path file dimana file project aplikasi nya menjadi entry point. untuk laravel sendiri biasanya di routes/web.php

Image description

3. Create Database, Import, configurasi file .env dan configurasi file index.php

Dimulai dengan pembuatan database pada menu cPanel > MySQL® Databases / Manage My Database kemudian dilanjutkan dengan Add User To Database sehingga tampilan akan seperti berikut.

Image description

Dilanjutkan dengan import database pada menu cPanel > PhpMyAdmin dan tampilan akan seperti gambar berikut :

Image description

Jika import database sudah berhasil bisa dilanjutkan dengan configurasi file .env untuk mengkoneksikan database yang baru saja telah di setup, dimana kita bisa akses pada menu cPanel > File Manager > Folder laravel-todoapp > .env [ edit ]

Image description

setelah koneksi database pada file .env telah selesai di konfigurasi bisa di lanjutkan penyesuaian pada file index.php yang berada di folder subdomain laravel-todoapp.codesync.id dan arahkan path folder ke folder dimana project aplikasi di dimpan yaitu laravel-todoapp yang sebelumnya sudah di buat dan diinputkan file project aplikasinya.

Image description

4. NPM Install dan Composser Install

Silahkan ke menu cPanel > Setup NodeJs App > pilih setup yang sudah di buat sebelumnya dan copy link env nya.

Image description

pastekan link yang sudah dicopy tersebut dan jalankan command berikut :

  • npm install
  • composer install
  • php artisan key:gen

Image description

Notes : setiap perubahan yang sudah dilakukan selalu refresh halaman setup nodejs app nya kemudian restart.

Berikut adalah error yang mungkin muncul :

1. php artisan migrate:fresh --seed

jika ingin memulai database dari 0 jalankan command ini
Syntax error or access violation: 1071 Specified key was too long : error terselesaikan ketika menambahkan script berikut pada : laravel-todoapp/app/Providers/AppServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
/**
   * Register any application services.
*/
public function register(): void
{
//
}

/**
  * Bootstrap any application services.
 */
public function boot(): void
{
    Schema::defaultStringLength(191);
}
}
Enter fullscreen mode Exit fullscreen mode

2. Error npm run build

pastikan pada isi file .gitignore path folder /public/build sudah di comment seperti berikut # /public/build jika masih terdapat error npm run build pada tampilan website silahkan lanjutkan step di bawah ini.

3. npm run build - Fail 0r Error timeout or Out of memory

pastikan untuk menjalankan command ini sudah menggunakan ssh dari lokal komputer jika masih belum berhasil, silahkan jalankan command npm run build pada environment lokal komputer. Kemudian hasil build, yang biasanya dalam bentuk folder dengan nama dist atau build folder tersebut di upload pada direktori project aplikasi pada hosting / cPanel ( laravel-todoapp/public )

Selesai sudah tutorial ini.
Semoga bisa membantu :)

Top comments (2)

Collapse
 
abdullayev96 profile image
Abdullayev Burhon

alert("100)

Collapse
 
abdullayev96 profile image
Abdullayev Burhon

alert(100)