Monday, 20 June 2022

Membuat Website Menggunakan Laravel

Membuat Website Menggunakan Laravel

Membuat Website Menggunakan Laravel




Laravel adalah kerangka kerja PHP lintas platform untuk membangun aplikasi web, dengan sintaks yang elegan dan ekspresif. Dengan Laravel, kita dapat dengan mudah membuat situs web baru sambil juga memiliki fitur dan skalabilitas untuk menangani aplikasi tingkat lanjut dan berskala besar.






Tetapi untuk benar-benar memahami manfaat Laravel dan kegunaannya membutuhkan pemahaman yang lebih mendalam. Laravel memungkinkan pengembang untuk memanfaatkan perpustakaan besar fungsionalitas yang telah diprogram sebelumnya (seperti otentikasi, perutean, dan templating HTML). Akses ke perpustakaan ini mempermudah pembuatan aplikasi web yang kuat dengan cepat sambil meminimalkan jumlah pengkodean yang diperlukan.


Laravel menawarkan lingkungan pengembangan yang sangat fungsional, serta antarmuka baris perintah yang intuitif dan ekspresif. Selain itu, Laravel menggunakan pemetaan relasional objek (ORM) untuk akses dan manipulasi data yang lebih sederhana.


Berikut di bawah ini akan memandu Anda penyiapan untuk Laravel di perangkat Anda, lalu menunjukkan cara membuat dan menerapkan situs web Laravel Anda sendiri. Langkah-langkah instalasi khusus distribusi diberikan untuk Debian, Ubuntu, dan CentOS.


Memulai dengan Laravel



Instal Prasyarat

  1. Instal ekstensi PHP yang direkomendasikan oleh PHP dan Laravel.
    • Di Debian dan Ubuntu menggunakan:
      sudo apt install php7.4 php7.4-bcmath php7.4-common php7.4-curl php7.4-json php7.4-mbstring php7.4-mysql php7.4-xml php7.4-zip openssl
      

    • Di CentOS, Anda perlu mengambil langkah tambahan dengan menambahkan repositori Remi , karena repositori default manajer paket hanya menyertakan PHP versi 7.2.
      • Pertama, tambahkan repositori Remi:
        sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
        sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
        


      • Kemudian, aktifkan PHP 7.4 dari repositori Remi dan perbarui manajer paket.
        sudo dnf module enable php:remi-7.4
        sudo dnf update
        


      • Terakhir, instal paket PHP yang diperlukan.
        sudo dnf install php php-bcmath php-common php-json php-mbstring php-mysql php-xml php-zip curl openssl
        


  2. Ubah ke direktori tempat Anda ingin menyimpan direktori proyek Laravel Anda. Dalam contoh ini, Anda menggunakan direktori home pengguna saat ini.
    cd ~
    


  3. Download Composer, memastikan bahwa Komposer dapat digunakan secara global, dan membuatnya dapat dieksekusi.
    curl-sS https://getcomposer.org/installer | php
     sudo mv composer.phar /usr/local/bin/composer
     sudo chmod +x /usr/local/bin/composer
    


  4. Jalankan Composer installer. Perintah berikut mengunduh penginstal, memverifikasi kunci SHA-384-nya, dan menjalankan skrip penginstalan jika kuncinya valid .
     php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
     php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
     php composer-setup.php
     php -r "unlink('composer-setup.php');"
    


Membuat Proyek Laravel



  1. Membuat Aplikasi Laravel.
     php composer.phar create-project laravel/laravel example-app
    


  2. Ubah ke direktori yang dibuat untuk aplikasi.
    cd example-app
    


    catatan

    Kecuali disebutkan sebaliknya, semua perintah berikutnya dalam panduan ini menganggap Anda masih berada di direktori proyek example-app.




  3. Jalankan PHP development server, Artisan, untuk memverifikasi bahwa penyiapan Laravel telah selesai.
     php artisan serve
    


    'Artisan serves' aplikasi pada localhost:8000. Untuk mengunjungi aplikasi dari jarak jauh, Anda dapat menggunakan terowongan SSH:
    • Di Windows, Anda dapat menggunakan alat Putty untuk mengatur terowongan SSH Anda. Ikuti bagian yang sesuai dari Menggunakan SSH di Windows panduan, mengganti nomor port contoh di sana dengan 8000.


    • Di OS X atau Linux, gunakan perintah contoh untuk menyiapkan terowongan SSH. Ganti example-user dengan nama pengguna Anda di server aplikasi dan 192.0.2.0 dengan alamat IP server.
        ssh -L8000:localhost:8000 [email protected]
      


  4. Sekarang, Anda dapat mengunjungi aplikasi di browser Anda dengan menavigasi ke localhost:8000.


Membuat Website menggunakan Laravel



Bagian ini menunjukkan kepada Anda cara mulai bekerja dengan kontroler dan tampilan Laravel untuk membuat situs web.



  1. Ikuti langkah-langkah di bagian Buat Proyek Laravel di atas untuk memulai dengan proyek dasar.


  2. Contoh ini membangun situs web dengan fitur halaman Home dan halaman About. Buat rute untuk masing-masing dengan membuka file rute — ~/example-app/routes/web.php — dan tambahkan konten berikut:

    File: ~/example-app/routes/web.php
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    <?php
    
    use Illuminate\Support\Facades\Route;
    
    use App\Http\Controllers\HomeController;
    use App\Http\Controllers\AboutController;
    
    Route::redirect('/', '/home');
    
    Route::get('/home', [HomeController::class, 'index']);
    
    Route::get('/about', [AboutController::class, 'index']);
        


    Pertama, ini mengimpor pengontrol-HomeController dan AboutController yang bisa dibuat dalam dua langkah berikutnya. Kemudian, itu mengarahkan permintaan ke /home damn /about URL ke pengontrol masing-masing. Ini juga termasuk rute untuk mengarahkan lalu lintas dari URL dasar (/) ke /home URL.


  3. Buat pengontrol Home fitur dengan membuat file ~/example-app/app/Http/Controllers/HomeController.php dan berikan konten yang ditunjukkan di bawah ini:

    File: ~/example-app/app/Http/Controllers/HomeController.php
      
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    <?php
    
    namespace App\Http\Controllers;
    
    use App\Http\Controllers\Controller;
    
    class HomeController extends Controller
    {
        public function index()
        {
            return view('home', ['title' => 'Home Page']);
        }
    }
        


    Pengontrol ini hanya merender tampilan halaman Beranda dan memasukkan parameter title ke dalamnya.


  4. Lakukan hal yang sama untuk pengontrol Tentang. Dalam hal ini, file barunya adalah ~/example-app/app/Http/Controllers/AboutController.php. Pengontrol ini memiliki fungsi yang sama dengan pengontrol Beranda, namun sebagai gantinya, pengontrol ini merender tampilan halaman tentang.

    File: ~/example-app/app/Http/Controllers/AboutController.php
      
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    <?php
    
    namespace App\Http\Controllers;
    
    use App\Http\Controllers\Controller;
    
    class AboutController extends Controller
    {
        public function index()
        {
            return view('about', ['title' => 'About Page']);
        }
    }
        


  5. Tampilan contoh ini berbagi menu navigasi, sehingga situs web dapat menggunakan template tata letak untuk mengurangi kode duplikat. Buat template layout sebagai ~/example-app/resources/views/layouts/master.blade.php, dan berikan konten yang ditunjukkan pada contoh di bawah ini.

    Catatan
    Sebelum membuat template layout, Anda perlu membuat subdirektori layouts.
    mkdir~/example-app/resources/views/layouts
    


    File: ~/example-app/resources/views/layouts/master.blade.php
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <html>
        <head>
            @if ($title)
                    <title>{{ $title }}</title>
            @else
                    <title>Example Laravel App</title>
            @endif
        </head>
        <body>
            <div><a href="/home">Home</a> | <a href="/about">About</a>
            <hr/>
            <div class="container">
                @yield('content')
            </div>
        </body>
    </html>
        


  6. Sekarang, untuk membuat tampilan sendiri. Buat file ~/example-app/resources/views/home.blade.php dan file ~/example-app/resources/views/about.blade.php . Tambahkan isi file contoh di bawah ini:

    File: ~/example-app/resources/views/home.blade.php
      
    1
    2
    3
    4
    5
    6
    7
    
    @extends('layouts.master')
    
    @section('content')
            <h1>{{ $title }}</h1>
            <p>This is the home page for an example Laravel web application.</p>
    @endsection
        


    File: ~/example-app/resources/views/about.blade.php
     
    1
    2
    3
    4
    5
    6
    7
    
    @extends('layouts.master')
    
    @section('content')
            <h1>{{ $title }}</h1>
            <p>This is the about page for an example Laravel web application.</p>
    @endsection
        


    Masing-masing template tampilan ini pertama-tama mendeklarasikan bahwa ia memperluas template tata letak master. Ini memungkinkan setiap pekerjaan dalam tata letak, mengurangi jumlah kode yang harus Anda tulis ulang dan memastikan halamannya konsisten. Setiap tampilan mendefinisikan konten utamanya sebagai bagian dari bagian content, yang didefinisikan dalam tata letak master.


  7. Jalankan aplikasi menggunakan langkah-langkah yang diberikan di akhir Buat Proyek Laravel bagian di atas.

    Anda sekarang dapat mengunjungi situs web di localhost:8000.



Terapkan Aplikasi Web Laravel



Meskipun server Artisan bekerja dengan baik untuk pengembangan, Anda disarankan untuk menggunakan server yang lebih kuat untuk penyebaran produksi. Di bagian ini, Anda dapat melihat bagaimana melakukan hal itu, menggunakan aplikasi web Laravel Anda menggunakan NGINX


Langkah-langkah ini mengasumsikan aplikasi Anda memiliki lokasi dan nama yang sama seperti yang diberikan di bagian sebelumnya.



  1. Install NGINX.

    • Debian and Ubuntu, gunakan :
        sudo apt install nginx
      


    • On CentOS, gunakan:
      sudo yum install nginx
      


  2. Copy proyek Laravel Anda di directory ke /var/www.
     sudo cp -R ~/example-app /var/www
    


  3. Tambahkan kepemilikan pengguna www-data atas subdirectory storage proyek.
     sudo chown -R www-data.www-data /var/www/example-app/storage
    


  4. Buat file konfigurasi NGINX untuk situs web, dan tambahkan konten yang ditunjukkan di bawah ini. Ganti example.com dengan nama domain server Anda.
    File: /etc/nginx/sites-available/example-app
     
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    server {
        listen 80;
        server_name example.com;
        root /var/www/example-app/public;
    
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-Content-Type-Options "nosniff";
    
        index index.php;
    
        charset utf-8;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }
    
        error_page 404 /index.php;
    
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ /\.(?!well-known).* {
            deny all;
        }
    }
        


  5. Buat tautan simbolis dari file konfigurasi di direktori sites-enabled NGINX. Anda juga dapat menghapus konfigurasi situs default dari direktori ini.
     sudo ln -s /etc/nginx/sites-available/example-app /etc/nginx/sites-enabled/
     sudo rm /etc/nginx/sites-enabled/default
    


  6. Verifikasi konfigurasi NGINX.
     sudo nginx -t
    


  7. Aktifkan dan mulai layanan NGINX :
     sudo systemctl enable nginx
     sudo systemctl start nginx
    


  8. Demikian pula, aktifkan dan mulai layanan PHP-FPM, yang digunakan NGINX untuk menjalankan aplikasi Anda.
    • Debian and Ubuntu, gunakan:

      sudo systemctl enable php7.4-fpm
        sudo systemctl start php7.4-fpm
      


    • CentOS, gunakan:
      sudo systemctl enable php-fpm
        sudo systemctl start php-fpm
      


  9. Aplikasi Anda sekarang harus berjalan, kunjungi dengan menavigasi ke nama domain server Anda di browser Anda. Pastikan Anda mengawali nama domain dengan http daripada https, karena server belum disiapkan dengan Sertifikat SSL.


Konklusi



Anda sekarang memiliki situs web Laravel Anda sendiri dan berjalan! Untuk membangun apa yang Anda buat dengan mengikuti panduan ini, pastikan untuk melihat-lihat dokumentasi Laravel. Di sana, Anda dapat menemukan banyak informasi untuk menyelami lebih dalam komponen aplikasi Laravel.



Info Tambahan



Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan pada topik ini. Sementara ini disediakan dengan harapan akan menjadi berguna, harap dicatat bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.

No comments:

Post a Comment