Tutorial Membuat Website Ecommerce Menggunakan Laravel
Daftar Isi
- Pengenalan dan Overview
- Persiapan Environment Development
- Instalasi dan Konfigurasi VirtualBox
- Menyiapkan Ubuntu Server di VirtualBox
- Konfigurasi Shared Folder
- Instalasi LEMP Stack
- Menyiapkan Proyek Laravel
- Pengembangan dengan VSCode
- Membuat Katalog Website
- Deployment dan Konfigurasi
- Keamanan dan Optimisasi
- Troubleshooting
- Praktik
- Maintenance
- Pengenalan dan Overview 1.1 Tujuan Panduan
Panduan ini dirancang untuk membantu Anda membangun situs web katalog menggunakan Laravel dalam virtual environment yang dikelola dengan VirtualBox. Fitur utama dari situs web katalog ini meliputi:
- Manajemen produk
- Kategori produk
- Gambar produk
- Pencarian dan filter
- Panel admin
- API endpoints
1.2 Arsitektur Sistem
- Sistem Host: Ubuntu Desktop
- Sistem Guest: Ubuntu Server di VirtualBox
- Web Server: Nginx
- Database: MySQL
- Versi PHP: 8.2
- Versi Laravel: 10.x
- Development Tools: VSCode
1.3 Kebutuhan Sistem
- RAM minimal 8GB
- Penyimpanan minimal 50GB
- Prosesor dengan dukungan virtualisasi
- Koneksi internet yang stabil
- Persiapan Development Environment 2.1 Pembaruan Sistem Ubuntu Host
Untuk memperbarui daftar paket dan sistem:
sudo apt update
sudo apt upgrade -y
Instal alat-alat dasar:
sudo apt install -y build-essential curl wget git unzip net-tools
2.2 Instalasi PHP dan Ekstensi
Menambahkan repositori PHP:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Menginstal PHP dan ekstensi:
sudo apt install -y php8.1 \
php8.1-cli \
php8.1-common \
php8.1-curl \
php8.1-dev \
php8.1-gd \
php8.1-imagick \
php8.1-imap \
php8.1-intl \
php8.1-mbstring \
php8.1-mysql \
php8.1-opcache \
php8.1-pgsql \
php8.1-redis \
php8.1-soap \
php8.1-xml \
php8.1-zip
Verifikasi instalasi:
php -v
2.3 Instalasi Composer
Untuk mengunduh dan memverifikasi installer Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Instalasi Composer secara global:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"
Verifikasi instalasi Composer:
composer --version
2.4 Instalasi VSCode
Untuk menginstal VSCode:
sudo snap install code --classic
Instal ekstensi yang dibutuhkan:
code --install-extension bmewburn.vscode-intelephense-client
code --install-extension onecentlin.laravel-blade
code --install-extension amiralizadeh9480.laravel-extra-intellisense
code --install-extension ryannaddy.laravel-artisan
code --install-extension shufo.vscode-blade-formatter
code --install-extension mikestead.dotenv
code --install-extension esbenp.prettier-vscode
- Instalasi dan Konfigurasi VirtualBox 3.1 Instalasi VirtualBox
Untuk menambahkan repositori VirtualBox dan menginstalnya:
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib"
sudo apt update
sudo apt install -y virtualbox-6.1
Menginstal Extension Pack:
wget https://download.virtualbox.org/virtualbox/6.1.30/Oracle_VM_VirtualBox_Extension_Pack-6.1.30.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.30.vbox-extpack
3.2 Konfigurasi VirtualBox
Buat VM baru di VirtualBox dengan pengaturan berikut:
- Nama: Laravel-Catalog
- Tipe: Linux
- Versi: Ubuntu (64-bit)
- Memori: 4096 MB
- CPU: 2 core
- Hard disk: 40 GB (VDI, dialokasikan dinamis)
- Konfigurasi jaringan: Adapter 1 (NAT), Adapter 2 (Host-only Adapter)
Untuk membuat network host-only:
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.11.165
- Menyiapkan Ubuntu Server di VirtualBox 4.1 Instalasi Ubuntu Server
Langkah-langkah untuk menginstal Ubuntu Server di VM:
- Boot dari ISO
- Pilih bahasa dan konfigurasi jaringan
- Gunakan pengaturan default untuk partisi dan pengaturan server lainnya
4.2 Post-Instalasi
Setelah berhasil masuk ke server:
ssh laravel@192.168.11.165
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git unzip net-tools
sudo timedatectl set-timezone Asia/Jakarta
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
- Konfigurasi Folder Bersama 5.1 Instalasi Guest Additions
Untuk menginstal Guest Additions:
sudo apt install -y build-essential dkms linux-headers-$(uname -r)
sudo mount /dev/cdrom /mnt
cd /mnt
sudo ./VBoxLinuxAdditions.run
sudo reboot
5.2 Setup Shared Folder
Di VirtualBox Manager, tambahkan shared folder dan atur mount point pada VM:
sudo mkdir -p /mnt/laravel-catalog
sudo usermod -aG vboxsf laravel
sudo mount -t vboxsf laravel-catalog /mnt/laravel-catalog
sudo chown -R laravel:laravel /mnt/laravel-catalog
5.3 Auto-mount pada Startup
Untuk membuat folder ter-mount otomatis pada setiap startup:
sudo nano /etc/fstab
Tambahkan baris berikut:
laravel-catalog /mnt/laravel-catalog vboxsf defaults,_netdev 0 0
- Instalasi LEMP Stack 6.1 Nginx
Untuk menginstal Nginx:
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
Verifikasi instalasi dengan curl:
curl localhost
6.2 MySQL
Instalasi dan konfigurasi MySQL:
sudo apt install -y mysql-server
sudo mysql_secure_installation
Membuat database dan user:
sudo mysql -u root
CREATE DATABASE laravel_catalog;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON laravel_catalog.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
EXIT;
6.3 PHP-FPM
Instalasi PHP-FPM dan ekstensi:
sudo apt install -y php8.1-fpm \
php8.1-cli \
php8.1-common \
php8.1-curl \
php8.1-dev \
php8.1-gd \
php8.1-imagick \
php8.1-imap \
php8.1-intl \
php8.1-mbstring \
php8.1-mysql \
php8.1-opcache \
php8.1-pgsql \
php8.1-redis \
php8.1-soap \
php8.1-xml \
php8.1-zip
Konfigurasi PHP di /etc/php/8.1/fpm/php.ini.
- Menyiapkan Proyek Laravel 7.1 Instalasi Composer di VM
Instal Composer di VM dan buat proyek Laravel:
composer create-project laravel/laravel .
7.2 Konfigurasi Laravel dan database.
-
Pengembangan dengan VSCode 8.1 Setup workspace di VSCode dan konfigurasi Git untuk proyek.
-
Membuat Katalog Website 9.1 Membuat migrasi dan model untuk produk, kategori, dan gambar produk.
Setelah itu, lanjutkan dengan pembuatan controller, tampilan, dan fungsionalitas lainnya sesuai kebutuhan.


Komentar
Posting Komentar