Ad image

Install Laravel di Ubuntu: Panduan Lengkap untuk Pengembang

Jaka Taruna
Jaka Taruna

Install laravel ubuntu – Membangun aplikasi web modern dengan Laravel di Ubuntu? Anda berada di tempat yang tepat! Laravel, framework PHP yang populer, menawarkan kemudahan dan efisiensi dalam pengembangan web. Panduan lengkap ini akan memandu Anda langkah demi langkah, dari persiapan lingkungan hingga pengembangan aplikasi, sehingga Anda dapat memulai proyek Laravel di Ubuntu dengan percaya diri.

Artikel ini akan membahas berbagai aspek penting, mulai dari instalasi Laravel, konfigurasi server, hingga pengaturan keamanan. Anda akan mempelajari cara mengonfigurasi database, membuat route, controller, dan view, serta memanfaatkan berbagai fitur Laravel untuk membangun aplikasi yang kuat dan skalabel.

Persiapan Lingkungan: Install Laravel Ubuntu

Rosehosting ubuntu laravel

Membangun aplikasi web menggunakan Laravel di Ubuntu memerlukan persiapan lingkungan yang tepat. Langkah-langkah ini memastikan aplikasi Laravel dapat dijalankan dengan lancar dan optimal.

Instalasi Laravel

Untuk menginstal Laravel, pastikan sistem Ubuntu Anda telah diperbarui. Gunakan perintah berikut di terminal:

  • sudo apt update
  • sudo apt upgrade

Selanjutnya, instal Composer, alat manajemen dependensi PHP yang diperlukan untuk Laravel:

  • php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  • php composer-setup.php
  • php -r "unlink('composer-setup.php');"
  • sudo mv composer.phar /usr/local/bin/composer

Setelah Composer terpasang, Anda dapat menginstal Laravel dengan perintah:

  • composer global require laravel/installer

Untuk memverifikasi instalasi, jalankan perintah:

  • laravel --version

Memilih Web Server

Apache dan Nginx adalah dua web server populer yang dapat digunakan untuk menjalankan aplikasi Laravel di Ubuntu. Berikut perbandingan singkatnya:

Fitur Apache Nginx
Performa Relatif lebih lambat Lebih cepat dan efisien
Konfigurasi Lebih kompleks Lebih sederhana
Kemampuan Dukungan modul yang luas Fokus pada performa dan skalabilitas
Popularitas Lebih populer di masa lalu Makin populer untuk aplikasi modern

Instalasi Apache

Untuk menginstal Apache, gunakan perintah berikut di terminal:

  • sudo apt install apache2

Setelah instalasi selesai, verifikasi Apache dengan membuka browser dan mengakses alamat IP server Anda (misalnya, http://192.168.1.100). Jika Apache terinstal dengan benar, Anda akan melihat halaman default Apache.

Instalasi Nginx

Untuk menginstal Nginx, gunakan perintah berikut di terminal:

  • sudo apt install nginx

Setelah instalasi selesai, verifikasi Nginx dengan membuka browser dan mengakses alamat IP server Anda (misalnya, http://192.168.1.100). Jika Nginx terinstal dengan benar, Anda akan melihat halaman default Nginx.

Instalasi Laravel

Setelah Anda berhasil menginstal dan menyiapkan lingkungan pengembangan, langkah selanjutnya adalah menginstal Laravel. Laravel adalah framework PHP yang populer dan mudah digunakan. Untuk menginstal Laravel, Anda dapat menggunakan Composer, alat pengelola dependensi untuk PHP.

Instalasi Laravel melalui Composer

Composer memungkinkan Anda untuk menginstal dan mengelola paket PHP dengan mudah. Berikut adalah cara menginstal Laravel melalui Composer:

  • Buka terminal atau command prompt di komputer Anda.
  • Navigasi ke direktori tempat Anda ingin menginstal Laravel.
  • Jalankan perintah berikut untuk menginstal Laravel:
composer create-project laravel/laravel my-laravel-project

Perintah ini akan membuat direktori baru bernama “my-laravel-project” dan menginstal semua file Laravel yang diperlukan di dalamnya. Ganti “my-laravel-project” dengan nama proyek yang Anda inginkan.

Konfigurasi Database

Setelah Laravel terinstal, Anda perlu mengonfigurasi database. Laravel mendukung berbagai sistem database, termasuk MySQL, PostgreSQL, SQLite, dan SQL Server. Untuk konfigurasi database, buka file .env di direktori root proyek Anda.

  • Temukan variabel DB_CONNECTION dan atur nilainya ke jenis database yang ingin Anda gunakan. Misalnya, untuk MySQL, atur nilainya ke mysql.
  • Atur variabel DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, dan DB_PASSWORD dengan informasi koneksi database Anda.

Jika Anda menggunakan MySQL, Anda perlu menginstal dan mengonfigurasi server MySQL terlebih dahulu. Setelah server MySQL terinstal, Anda dapat membuat database baru untuk proyek Laravel Anda.

Perbedaan MySQL dan PostgreSQL

MySQL dan PostgreSQL adalah sistem database relasional yang populer. Keduanya memiliki kelebihan dan kekurangan masing-masing. MySQL lebih mudah dipelajari dan digunakan, sedangkan PostgreSQL memiliki fitur keamanan dan skalabilitas yang lebih baik. Dalam konteks instalasi Laravel, keduanya dapat digunakan dengan mudah. Anda dapat memilih sistem database yang paling sesuai dengan kebutuhan proyek Anda.

Konfigurasi Aplikasi

Install laravel ubuntu

Setelah Laravel terinstal, langkah selanjutnya adalah mengonfigurasi aplikasi untuk memenuhi kebutuhan proyek Anda. Salah satu aspek penting dalam konfigurasi Laravel adalah file .env. File ini berisi pengaturan penting yang memengaruhi cara kerja aplikasi Anda, seperti koneksi database, konfigurasi email, dan pengaturan lainnya.

Konfigurasi File .env

File .env berisi variabel lingkungan yang digunakan oleh aplikasi Laravel. Anda dapat mengedit file ini untuk menyesuaikan pengaturan aplikasi sesuai dengan kebutuhan Anda.

  • Buka file .env di direktori root proyek Laravel Anda. Anda dapat menggunakan editor teks seperti nano atau vim.
  • Cari variabel yang ingin Anda ubah dan ubah nilainya sesuai kebutuhan. Misalnya, untuk mengubah koneksi database, cari variabel DB_CONNECTION dan ubah nilainya menjadi mysql atau pgsql.
  • Simpan perubahan yang Anda buat pada file .env.

Membuat Route Sederhana

Route adalah jantung dari aplikasi web Laravel. Route menentukan bagaimana URL dipetakan ke fungsi atau controller tertentu. Untuk membuat route sederhana di Laravel, Anda dapat menggunakan metode get() dalam file routes/web.php.

Contoh kode PHP untuk membuat route sederhana di Laravel:

Route::get('/', function () 
    return 'Selamat datang di aplikasi Laravel!';
);

Kode di atas akan menampilkan teks “Selamat datang di aplikasi Laravel!” ketika Anda mengakses URL http://localhost:8000.

Membuat Controller dan View

Controller dan view adalah komponen penting dalam arsitektur MVC (Model-View-Controller) Laravel. Controller bertanggung jawab untuk memproses data dan mengarahkan ke view yang tepat, sedangkan view bertanggung jawab untuk menampilkan data ke pengguna.

Membuat Controller

Anda dapat membuat controller baru menggunakan perintah Artisan:

php artisan make:controller WelcomeController

Perintah ini akan membuat file app/Http/Controllers/WelcomeController.php. Anda dapat menambahkan kode di dalam controller untuk memproses data dan mengarahkan ke view.

Membuat View

Untuk membuat view, Anda dapat menggunakan perintah Artisan:

php artisan make:view welcome

Perintah ini akan membuat file resources/views/welcome.blade.php. Anda dapat menambahkan kode HTML di dalam file view untuk menampilkan data ke pengguna.

Pengaturan Keamanan

Setelah Laravel terinstal dan berjalan, langkah penting berikutnya adalah mengamankan aplikasi Anda. Ini mencakup berbagai aspek, mulai dari konfigurasi file .htaccess hingga implementasi autentikasi pengguna dan pencegahan serangan umum seperti XSS dan SQL injection.

Konfigurasi File .htaccess

File .htaccess adalah file konfigurasi yang digunakan oleh server web Apache untuk mengontrol perilaku situs web. Dengan memanfaatkan file ini, Anda dapat meningkatkan keamanan aplikasi Laravel dengan cara berikut:

  • Mencegah Akses Direktori: Anda dapat memblokir akses langsung ke direktori tertentu, seperti direktori “vendor” atau “storage”, yang berisi file sensitif. Ini dapat dilakukan dengan menambahkan baris berikut ke file .htaccess:
<Files vendor>
Order allow,deny
Deny from all
</Files>
  • Menonaktifkan Penampil Daftar Direktori: Dengan menonaktifkan penampil daftar direktori, Anda dapat mencegah penyerang melihat struktur direktori aplikasi Anda. Ini dapat dilakukan dengan menambahkan baris berikut ke file .htaccess:
Options -Indexes
  • Mengatur Header Keamanan: Anda dapat mengatur header keamanan tambahan untuk meningkatkan keamanan aplikasi. Misalnya, Anda dapat menambahkan header “X-Frame-Options” untuk mencegah aplikasi Anda dimasukkan ke dalam iframe, yang dapat digunakan oleh penyerang untuk melakukan serangan clickjacking.

Implementasi Autentikasi Pengguna

Autentikasi pengguna adalah proses memverifikasi identitas pengguna sebelum mengizinkan akses ke aplikasi. Laravel menyediakan berbagai metode autentikasi, termasuk:

  • Autentikasi Berbasis Database: Metode ini menggunakan tabel database untuk menyimpan informasi pengguna, seperti nama pengguna dan kata sandi. Laravel menyediakan dukungan bawaan untuk autentikasi berbasis database.
  • Autentikasi Berbasis API: Metode ini menggunakan API eksternal untuk memverifikasi identitas pengguna. Laravel mendukung autentikasi berbasis API melalui paket pihak ketiga.
  • Autentikasi Berbasis Token: Metode ini menggunakan token untuk memverifikasi identitas pengguna. Token biasanya dihasilkan setelah pengguna berhasil masuk dan disimpan dalam cookie atau header permintaan.

Contoh kode PHP untuk menerapkan autentikasi pengguna di Laravel:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class UserController extends Controller

    public function login(Request $request)
    
        $credentials = $request->validate([
            'email' => ['required', 'email'],
            'password' => ['required'],
        ]);

        if (Auth::attempt($credentials)) 
            $request->session()->regenerate();

            return redirect()->intended('dashboard');
        

        return back()->withErrors([
            'email' => 'The provided credentials do not match our records.',
        ]);
    

    public function logout(Request $request)
    
        Auth::logout();

        $request->session()->invalidate();
        $request->session()->regenerateToken();

        return redirect('/');
    

>

Perlindungan dari Serangan XSS dan SQL Injection

Serangan XSS (Cross-Site Scripting) dan SQL injection adalah dua serangan umum yang dapat membahayakan aplikasi web. Laravel menyediakan mekanisme bawaan untuk melindungi aplikasi Anda dari serangan ini:

  • Perlindungan XSS: Laravel secara otomatis melakukan escaping terhadap semua data yang ditampilkan di template, mencegah serangan XSS. Anda juga dapat menggunakan fungsi “htmlspecialchars()” atau “e()” untuk melakukan escaping terhadap data secara manual.
  • Perlindungan SQL Injection: Laravel menggunakan PDO (PHP Data Objects) untuk berinteraksi dengan database. PDO secara otomatis melakukan escaping terhadap semua parameter kueri, mencegah serangan SQL injection. Anda juga dapat menggunakan fungsi “DB::raw()” untuk menjalankan kueri mentah, tetapi pastikan Anda memahami risiko keamanan yang terkait dengan kueri mentah.

Selain mekanisme bawaan, Anda dapat mengambil langkah-langkah tambahan untuk meningkatkan perlindungan aplikasi Anda, seperti:

  • Memvalidasi Input: Selalu validasi semua input pengguna sebelum memprosesnya. Ini dapat dilakukan dengan menggunakan metode “validate()” pada objek Request.
  • Menggunakan Sanitizer: Gunakan sanitizer untuk membersihkan data input sebelum menyimpannya di database. Ini membantu menghilangkan karakter berbahaya yang dapat menyebabkan serangan XSS atau SQL injection.
  • Memperbarui Framework dan Library: Selalu perbarui framework Laravel dan library yang digunakan ke versi terbaru untuk mendapatkan patch keamanan terbaru.

Pengembangan Aplikasi

Install laravel ubuntu

Laravel, framework PHP yang populer, menyediakan alat dan struktur yang kuat untuk membangun aplikasi web yang kompleks. Framework ini menawarkan berbagai fitur dan komponen yang membantu pengembang untuk membangun aplikasi dengan cepat dan efisien.

Implementasi Fitur CRUD, Install laravel ubuntu

Fitur CRUD (Create, Read, Update, Delete) merupakan dasar dari banyak aplikasi web. Laravel menyediakan cara yang mudah untuk mengimplementasikan fitur CRUD dengan menggunakan model, controller, dan view.

Contoh Kode PHP

Berikut adalah contoh kode PHP untuk mengimplementasikan fitur CRUD untuk model “Artikel” di Laravel:

// Model Artikel


// Controller Artikel
validate([
            'judul' => 'required',
            'isi' => 'required',
            'penulis' => 'required',
        ]);

        Artikel::create($request->all());

        return redirect()->route('artikel.index')->with('success', 'Artikel berhasil ditambahkan.');
    

    /
     * Menampilkan detail artikel.
     *
     * @param  \App\Models\Artikel  $artikel
     * @return \Illuminate\Contracts\View\View
     */
    public function show(Artikel $artikel)
    
        return view('artikel.show', compact('artikel'));
    

    /
     * Menampilkan form untuk mengedit artikel.
     *
     * @param  \App\Models\Artikel  $artikel
     * @return \Illuminate\Contracts\View\View
     */
    public function edit(Artikel $artikel)
    
        return view('artikel.edit', compact('artikel'));
    

    /
     * Memperbarui artikel.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Models\Artikel  $artikel
     * @return \Illuminate\Http\RedirectResponse
     */
    public function update(Request $request, Artikel $artikel)
    
        $request->validate([
            'judul' => 'required',
            'isi' => 'required',
            'penulis' => 'required',
        ]);

        $artikel->update($request->all());

        return redirect()->route('artikel.index')->with('success', 'Artikel berhasil diperbarui.');
    

    /
     * Menghapus artikel.
     *
     * @param  \App\Models\Artikel  $artikel
     * @return \Illuminate\Http\RedirectResponse
     */
    public function destroy(Artikel $artikel)
    
        $artikel->delete();

        return redirect()->route('artikel.index')->with('success', 'Artikel berhasil dihapus.');
    


?>

// View Artikel Index
@extends('layouts.app')

@section('content')
Daftar Artikel
@if (session('success')) @endif @foreach ($artikel as $art) @endforeach
Judul Penulis Aksi
$art->judul $art->penulis Detail Edit
@csrf @method('DELETE')
@endsection // View Artikel Create @extends('layouts.app') @section('content')
Buat Artikel Baru
@csrf
@error('judul') $message @enderror
@error('isi') $message @enderror
@error('penulis') $message @enderror
@endsection // View Artikel Show @extends('layouts.app') @section('content')
Detail Artikel

$artikel->judul

$artikel->isi

Penulis: $artikel->penulis

@endsection // View Artikel Edit @extends('layouts.app') @section('content')
Edit Artikel
@csrf @method('PUT')
@error('judul') $message @enderror
@error('isi') $message @enderror
@error('penulis') $message @enderror
@endsection

Library dan Package Laravel

Laravel memiliki ekosistem library dan package yang kaya, yang memungkinkan pengembang untuk memperluas fungsionalitas aplikasi dengan mudah.

Nama Library/Package Deskripsi
Eloquent ORM Sistem Object-Relational Mapping (ORM) yang memudahkan interaksi dengan database.
Blade Templating Engine Engine templating yang kuat dan mudah digunakan untuk membangun tampilan aplikasi.
Artisan CLI Antarmuka baris perintah (CLI) yang memungkinkan pengembang untuk melakukan tugas-tugas umum seperti membuat model, controller, dan migrasi.
Authentification and Authorization Sistem otentikasi dan otorisasi bawaan untuk mengelola pengguna dan izin.
Queue Sistem antrian untuk memproses tugas yang membutuhkan waktu lama secara asinkron.
Cache Sistem caching untuk meningkatkan performa aplikasi dengan menyimpan data yang sering diakses.
Mail Sistem pengiriman email untuk mengirim email kepada pengguna.
Session Sistem sesi untuk menyimpan data pengguna selama sesi browser aktif.

Ringkasan Terakhir

Dengan panduan ini, Anda telah memiliki pemahaman yang kuat tentang cara menginstal dan mengembangkan aplikasi Laravel di Ubuntu. Sekarang, saatnya untuk mengeksplorasi lebih lanjut berbagai fitur dan library Laravel untuk membangun aplikasi web yang inovatif dan memenuhi kebutuhan Anda.

Pertanyaan dan Jawaban

Apa saja persyaratan sistem untuk menginstal Laravel di Ubuntu?

Anda membutuhkan Ubuntu 18.04 LTS atau yang lebih baru, PHP 7.3 atau yang lebih baru, Composer, dan database seperti MySQL atau PostgreSQL.

Apakah saya perlu menginstal Apache atau Nginx?

Ya, Anda perlu menginstal salah satu web server tersebut untuk menjalankan aplikasi Laravel.

Bagaimana cara mengupdate Laravel setelah instalasi?

Anda dapat menggunakan Composer untuk mengupdate Laravel dengan perintah `composer update`.

Bagaimana cara mengonfigurasi Laravel untuk menggunakan database PostgreSQL?

Anda perlu mengubah pengaturan database di file .env dan menginstal driver PostgreSQL untuk PHP.

Share This Article