//

Cara menginstal proyek berbasis laravel di VPS menggunakan Ubuntu + aaPanel

Laravel best PHP Framework

Laravel adalah framework PHP open-source yang dirancang untuk mempermudah pengembangan aplikasi web dengan sintaks yang elegan dan terstruktur. Dibuat oleh Taylor Otwell, Laravel menyediakan berbagai fitur seperti routing, sesi, autentikasi, dan caching, yang memudahkan pengembang membangun aplikasi dengan lebih cepat dan aman. Laravel juga mendukung arsitektur MVC (Model-View-Controller) yang memisahkan logika aplikasi dari tampilan, sehingga kode lebih terorganisir dan mudah dipelihara.

Toko Youtube TikTok  DONASI

Kelebihan Laravel

Laravel memiliki beberapa kelebihan dibandingkan framework lain, antara lain:

  1. Sintaks yang Elegan: Laravel menawarkan sintaks yang bersih dan sederhana, membuat kode lebih mudah dipahami dan ditulis.
  2. Ekosistem yang Kuat: Laravel dilengkapi dengan ekosistem tools yang lengkap seperti Laravel Forge, Laravel Vapor, dan Laravel Mix, yang memudahkan deployment, server management, dan asset compilation.
  3. Eloquent ORM: Eloquent ORM Laravel memungkinkan interaksi dengan database menggunakan model yang intuitif, mengurangi penggunaan query SQL mentah.
  4. Blade Templating Engine: Blade, engine template Laravel, menawarkan fitur untuk membuat tampilan dinamis dengan cara yang efisien dan ringan.
  5. Dukungan Komunitas Besar: Dengan komunitas yang luas dan aktif, Laravel terus berkembang dengan banyaknya plugin, tutorial, dan dokumentasi yang tersedia.
  6. Built-in Features: Laravel menyediakan fitur bawaan untuk routing, middleware, autentikasi, authorization, validasi, dan manajemen sesi, sehingga mempermudah pengembangan aplikasi.
  7. Testing yang Mudah: Laravel dilengkapi dengan testing tools yang memudahkan pengujian aplikasi secara unit dan fungsional.
  8. Security: Laravel menawarkan berbagai mekanisme keamanan bawaan seperti proteksi terhadap serangan CSRF (Cross-Site Request Forgery) dan SQL Injection.

Kombinasi fitur-fitur tersebut membuat Laravel sangat cocok untuk pengembangan aplikasi web yang cepat, aman, dan terstruktur.

Bagian penting Laravel

Dalam Laravel, ada beberapa bagian penting yang berperan dalam pengembangan aplikasi web:

  1. Routing: Mengatur alur permintaan HTTP ke kontroler atau closure tertentu. Laravel memiliki sistem routing yang fleksibel dan mudah digunakan.

    • File: routes/web.php (untuk rute web) dan routes/api.php (untuk rute API).
  2. Middleware: Lapisan filter yang digunakan untuk memeriksa dan mengubah permintaan sebelum diteruskan ke aplikasi. Middleware membantu menangani autentikasi, logging, dan validasi request.

    • Contoh: auth untuk mengautentikasi pengguna.
  3. Controllers: Tempat logika aplikasi ditempatkan. Kontroler mengelola request dan berinteraksi dengan model untuk mengolah data dan memberikan respons ke pengguna.

    • File: Berada di dalam app/Http/Controllers/.
  4. Models dan Eloquent ORM: Laravel menggunakan Eloquent ORM untuk berinteraksi dengan database. Model mewakili tabel database dan memungkinkan penggunaan query builder yang bersih dan intuitif.

    • File: Berada di dalam app/Models/.
  5. Blade Templating Engine: Mesin template yang ringan untuk menulis tampilan (view) menggunakan logika minimal dalam file HTML.

    • File: Berada di dalam resources/views/.
  6. Migration dan Schema: Migrations digunakan untuk mengelola perubahan struktur database secara programatik. Laravel Schema Builder menyediakan cara mudah untuk membuat, mengubah, atau menghapus tabel di database.

    • File: Berada di dalam database/migrations/.
  7. Artisan CLI: Command-line interface Laravel yang kuat. Dengan artisan, pengembang dapat menjalankan berbagai tugas seperti membuat file baru, mengelola database, melakukan migrasi, menjalankan tes, dll.

    • Contoh: php artisan migrate untuk menjalankan migrasi database.
  8. Service Providers: Ini adalah titik awal aplikasi Laravel. Service provider bertanggung jawab untuk mem-boot aplikasi, mendaftarkan layanan, dan menyiapkan konfigurasi.

    • File: Berada di dalam app/Providers/.
  9. Validation: Laravel memiliki sistem validasi yang mudah dan kuat untuk memverifikasi data input pengguna sebelum menyimpan ke database.

    • Validasi dapat ditulis dalam kontroler atau menggunakan form request classes.
  10. Queue dan Task Scheduling: Laravel mendukung pengelolaan antrian untuk pemrosesan tugas yang tertunda (asynchronous), serta penjadwalan tugas untuk otomatisasi menggunakan cron jobs.

    • Konfigurasi di config/queue.php.

Bagian-bagian ini adalah fondasi utama yang memungkinkan pengembangan aplikasi web yang efisien, terstruktur, dan scalable di Laravel.

Istilah di Laravel

Berikut adalah beberapa istilah penting yang sering digunakan dalam Laravel:

  1. Artisan: Command-line interface (CLI) Laravel yang menyediakan berbagai perintah untuk membantu pengembangan aplikasi, seperti membuat file, menjalankan migrasi, membersihkan cache, dll.

    • Contoh: php artisan make:model Post.
  2. Controller: Komponen yang menghubungkan antara model dan view. Controller menerima permintaan dari pengguna, memproses data melalui model, dan mengirimkan hasilnya ke view.

    • Contoh: PostController.
  3. Model: Representasi tabel database dalam kode. Model digunakan untuk berinteraksi dengan data melalui Eloquent ORM.

    • Contoh: Post model yang mewakili tabel posts.
  4. View: Bagian dari aplikasi yang bertanggung jawab untuk menampilkan data kepada pengguna. Laravel menggunakan Blade sebagai mesin templating untuk view.

    • Contoh: post.blade.php.
  5. Middleware: Filter yang digunakan untuk memproses request sebelum mencapai controller atau setelah respons dihasilkan. Middleware dapat digunakan untuk autentikasi, logging, atau proteksi CSRF.

    • Contoh: auth middleware untuk autentikasi.
  6. Route: Definisi alur permintaan HTTP dalam aplikasi. Routing menentukan bagaimana permintaan tertentu (GET, POST, PUT, DELETE) dipetakan ke kontroler atau tindakan spesifik.

    • Contoh: Route::get('/posts', [PostController::class, 'index']);.
  7. Migration: Struktur file yang digunakan untuk mengelola perubahan dalam skema database. Migrations memungkinkan Anda membuat dan mengubah tabel secara programatis.

    • Contoh: create_posts_table.php.
  8. Seeder: File yang digunakan untuk memasukkan data dummy atau default ke dalam database. Seeder sangat membantu untuk pengujian dan pengembangan aplikasi.

    • Contoh: PostsTableSeeder.
  9. Eloquent ORM: Object-Relational Mapping yang digunakan Laravel untuk mengelola dan berinteraksi dengan database menggunakan model. Eloquent memungkinkan pengelolaan data dengan query builder yang sederhana dan efisien.

    • Contoh: Post::where('status', 'published')->get();.
  10. Blade: Mesin template Laravel untuk membuat tampilan yang dinamis. Blade memungkinkan penggunaan logika seperti loop dan kondisi dalam file HTML tanpa memperlambat performa.

    • Contoh: @foreach($posts as $post) ... @endforeach.
  11. Service Provider: Komponen yang bertanggung jawab untuk mem-boot layanan aplikasi. Semua service provider didaftarkan dalam file config/app.php dan berfungsi untuk menginisialisasi berbagai komponen Laravel.

    • Contoh: AppServiceProvider.
  12. Request: Objek yang berisi informasi tentang permintaan HTTP yang masuk, seperti data input, file yang diunggah, cookie, dan banyak lagi.

    • Contoh: $request->input('title');.
  13. Response: Objek yang berisi informasi yang akan dikirim kembali ke klien setelah permintaan diproses. Bisa berupa view, JSON, atau bahkan redirect.

    • Contoh: return response()->json($data);.
  14. Queue: Sistem Laravel yang mendukung pengelolaan antrian pekerjaan untuk melakukan tugas-tugas yang membutuhkan waktu lama secara asynchronous, seperti pengiriman email atau pemrosesan file.

    • Contoh: dispatch(new SendEmailJob($user));.
  15. Session: Tempat penyimpanan sementara data pengguna, seperti informasi login atau data sementara lainnya. Laravel menyediakan API session yang mudah digunakan untuk menyimpan dan mengambil data session.

    • Contoh: session()->put('key', 'value');.
  16. Event: Sistem Laravel untuk menangani event-driven programming. Anda bisa mendefinisikan event dan listener untuk melakukan tindakan ketika event terjadi.

    • Contoh: event(new PostCreated($post));.
  17. Job: Unit kerja yang dapat diproses secara terpisah melalui sistem queue. Laravel menyediakan command untuk membuat job yang menangani tugas seperti pemrosesan data atau pengiriman email.

    • Contoh: php artisan make:job ProcessPodcast.
  18. Facades: API statis yang menyediakan akses singkat ke berbagai layanan Laravel. Facade memungkinkan akses mudah ke komponen Laravel, seperti database, cache, atau queue.

    • Contoh: Cache::get('key');.
  19. Composer: Dependency manager PHP yang digunakan Laravel untuk mengelola paket dan library yang dibutuhkan oleh aplikasi.

    • Contoh: composer install.
  20. Symfony : berfungsi sebagai framework PHP yang membantu pengembang membangun aplikasi web dengan lebih cepat dan terstruktur. Ia menyediakan berbagai alat dan komponen untuk menangani tugas-tugas umum seperti routing (mengatur URL), manajemen database, pengelolaan template, serta keamanan. Dengan Symfony, pengembang bisa membuat aplikasi yang efisien, modular, dan mudah dipelihara.

Istilah-istilah ini adalah bagian penting dari Laravel dan sering muncul dalam dokumentasi maupun pengembangan sehari-hari.

 


Cara menginstal Laravel di VPS

 

Cek OS Ubunru + aaPanel

  1. Pastikan anda sudah menginstal sistem Operasi UBUNTU +aaPanel di VPS anda
  2. Pastikan anda sudah masuk di konsole VPS anda baik menggunakan teminal atau menggunakan putty dan anda sudah bisa login
  • Pastikan anda masuk user root dengan perintah sudo -i 
  • Update dahulu ubuntu anda sudo apt-get update && sudo apt-get upgrade
  • Opsional..!! tes kecepatan storage anda dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync

Cek aaPanel

  1. melihat alamat IP, user dan password ketik perintah bt
  2. Pilih no 14 view panel default info
  3. Jila password tidak tahu pilih no 5 change panel password
  4. Pastikan sudah menginstal PHP 8.1 dan mysql 5.7
  5. Hapus putenv jika, composer install PHP Warning: putenv()

Memasang Laravel

  1. Menggunakan CLI pastikan anda sebagai root
  2. masuk ke directori proyek laravel anda
  3. ambil proyek laravel misalkan git clone https://github.com/andes2912/sekolahku.git
  4. Instal composer dulu sudo apt install composer 
  5. menginstal pakage yang dibutuhkan proyek laravel anda composer install jika banyak yg gagal karena ketidak cocokan PHP dipaksa dengan menggunakan perintah composer install --ignore-platform-reqs
  6. Di folder proyek laravel anda akan ada tambahan folder vendor menandakan bahwa composer berhasil di instal
  7. Buat database
  8. Rename Run .env.example ke .env dan sesuaikan nama databasenya sesuai yang sudah dibuat
  9. ketik di CLI php artisan key:generate,adalah perintah untuk men-generate random string yang digunakan sebagai key yang diperlukan untuk semua proses enkripsi dan dekripsi pada aplikasi kita. Proses yang saya maksud seperti proses session, CSRF token, sign url, dan masih banyak lagi
  10. Ketik CLI php artisan migrate (mengexport tabel2 database dan isi kosongan)atau php artisan migrate --seed (mengexport database berisi file). Jika gagal dan keluar informasi Illuminate\Database\QueryException di CLI ketik sudo apt install php-mysql kemudian restart mysql dan php nya kemudian ulangi point 10 ini dari awal kembali.

Info tambahan

Informasi tambahan

aaPanel disetiap web yang di develop akan ada tambahan composer, tinggal klik aja untuk mendevelopmennya, tetapi jika tidak muncul bisa anda munculkan via CLI, pstikan anda subagai root user, dengan perintah sebagai berikut :

  1. mv /usr/bin/composer /usr/bin/composer_bak
  2. wget -O/usr/bin/composer https://node.aapanel.com/install/src/composer.phar -T20;
  3. chmod +x /usr/bin/composer

Instal NPM (Node Package Manager) jika dibutuhkan  apt install npm cek versi NPM  npm --version cek versi node.js node --version atau klik link ini untuk copy skrip https://nodejs.org/en/download/package-manager pilih versi v20.18.LTS | Linux | nvm 

Video tutorial memasang web PPDB Online berbasis Laravel di VPS

 

Uji Kehebatan VPS Biznet Gio Cloud 1vCPU, 1GB RAM untuk web PPDB berbasis Laravel

Informasi seputra pengujian concurrent users di VPS :  

  1. Blazmeter digunakan untuk merekam skrip dan Jmeter digunakan untuk pegujian concurrent users
  2. Hardware dan internet disisi penguji akan mempengaruhi hasil pengujian, bisa jadi anda menggunakan spesifikasi yang berbeda dengan yang saya pakai maka hasilnya akan berbeda pula. Disarankan hardware disisi penguji menggunakan hardware berspesifikasi tertinggi dan teknologi paling baru
  3. Mensimulasikan pengguna mencapai ribuan membutuhkan hardware yang mumpuni dan kecepatan internet yang tinggi pula disisi penguji.
  4. Pengujian concurrent users bisa menghabiskan 20-30% durasi video utama
  5. Pengujian di waktu berbeda memungkinkan akan menghasilkan hasil yang berbeda pula (bisa lebih tinggi bisa lebih rendah) dikarenakan bisa jadi disisi layanan VPS ada upgrade hardware/downgrade hardware

 

Informasi Pemilik Blog
JokoVlog
Author: JokoVlogWebsite: https://s.id/jokovlogEmail: This email address is being protected from spambots. You need JavaScript enabled to view it.
Assalamualaikum wr. wb salam satu Server
Blog ini hanya untuk menceritakan kegiatan sehari-hari. Saat ini masih aktif menjadi akademisi. Youtube Channel : https://s.id/jokovlog Donasi: https://saweria.co/jokovlog

Bacaan asik lainnya..!

Sunday, 10 October 2021 16:40

Bitcoin saat ini menjadi salah satu cryptocurrency terpopuler di seluruh dunia karena harganya...

Sunday, 22 November 2015 15:32

Untuk karya selanjutnya adalah CTD ( CBT Token Distribution), Software ini berfungsi untuk...

Sunday, 27 August 2023 09:13

MCBOOT adalah salah satu cara playstation 2(PS2) bisa membaca game via USB tanpa harus memililiki...

Saturday, 16 October 2021 17:05

Anda lupa password erkam, gak masalah silahkan anda mengunjungi https://erkam.kemenag.go.id/...

AI JokoVlog ×
Ask me anything, and I'll answer you.

Tentang JokoVlog

JokoVlog berawal dari sebuah chanel youtube yang dibuat 26 Juni tahun 2017. Sekarang Jokovlog berkembang menjadi web blog. Melalui platform ini, saya Joko Supriyanto yang merupakan pemilik web blog ini membagikan berbagai konten, termasuk vlog harian, tips dan trik, serta diskusi mengenai perangkat lunak. Saya juga memiliki profil di GitHub dengan username "joklin12" yang akan digunakan untuk berbagi kode berbagai proyek terkait teknologi
 

 

Peta Lokasi

peta rumah

Top