Cara Install Yii2 Advanced via Composer

Advertisement

Membangun aplikasi web modern dengan arsitektur yang terpisah antara antarmuka pengguna dan panel admin memerlukan fondasi yang kuat. Yii2 Advanced Template adalah solusi terstruktur yang menawarkan hal itu, dilengkapi sistem manajemen pengguna lengkap. Panduan komprehensif ini akan memandu Anda melalui instalasi, konfigurasi, hingga optimalisasi lingkungan pengembangan untuk template ini.

Advertisement

Dalam pengembangan aplikasi web berskala menengah hingga besar, pemilihan kerangka kerja yang tepat sangat krusial. Yii2 Advanced Template hadir sebagai solusi yang lebih robust dibandingkan versi Basic. Template ini secara khusus dirancang untuk proyek yang membutuhkan pemisahan logika bisnis yang jelas antara frontend (aplikasi untuk pengguna akhir) dan backend (dashboard administrator).

Alasan utama developer berpindah ke Yii2 Advanced Template adalah ketersediaan fitur manajemen pengguna yang komprehensif dan siap pakai. Fitur ini mencakup proses registrasi, login, logout, verifikasi email, dan reset password yang telah diimplementasikan dengan standar keamanan yang baik. Selain itu, arsitekturnya yang modular memungkinkan pengembangan lebih lanjut, seperti menambahkan aplikasi terpisah untuk peran moderator, manager, atau layanan API yang terisolasi.

Advertisement
AspekYii2 Basic TemplateYii2 Advanced Template
Struktur AplikasiSingle ApplicationMulti-Application (Frontend, Backend, Console)
Manajemen PenggunaHanya Login/Logout DasarSistem Lengkap (Signup, Reset Password, dll)
Kode Dasar (Bootstrap)TersediaTersedia
KesesuaianAplikasi Sederhana, MVPAplikasi Kompleks, Enterprise
Tingkat KompleksitasRendah ke MenengahMenengah ke Tinggi
Perbandingan Mendalam: Yii2 Basic vs. Advanced Template. Pilihan template sangat menentukan skalabilitas dan struktur kode proyek Anda.

Persiapan Wajib Sebelum Instalasi

Sebelum memulai instalasi Yii2 Advanced Template, pastikan lingkungan pengembangan Anda telah memenuhi semua persyaratan teknis. Persiapan yang matang akan menghindari error dan menghemat waktu.

Advertisement
  • Web Server: Anda membutuhkan server lokal seperti XAMPP (Windows), Laragon (Windows), MAMP (Mac), atau LAMP (Linux). Pastikan PHP versi 7.4.0 atau lebih tinggi telah terinstal. Versi PHP 8.0+ sangat disarankan untuk performa dan keamanan terbaru. Unduh XAMPP terbaru dari situs resmi Apache Friends.
  • Composer: Ini adalah dependency manager untuk PHP yang wajib digunakan. Pastikan Composer telah terinstal secara global di sistem Anda. Verifikasi dengan menjalankan perintah composer --version di Command Prompt atau Terminal. Jika belum, instal dari GetComposer.org.
  • Ekstensi PHP: Pastikan ekstensi berikut aktif di file php.ini Anda: pdo, pdo_mysql (atau pdo_pgsql jika menggunakan PostgreSQL), mbstring, openssl, dan intl. Ekstensi ini biasanya sudah aktif di paket XAMPP default.
  • Database: Siapkan server database (MySQL/MariaDB disarankan) dan buatlah satu database kosong yang nantinya akan digunakan oleh aplikasi Yii2.

Langkah 1: Instalasi Yii2 Advanced via Composer

Proses instalasi menggunakan Composer adalah metode yang paling direkomendasikan karena akan mengelola semua dependensi library secara otomatis dan terstruktur.

  1. Buka Command Prompt (Windows) atau Terminal (Mac/Linux).
  2. Arahkan (cd) ke direktori htdocs server lokal Anda (contoh: cd C:\xampp\htdocs atau cd /Applications/MAMP/htdocs).

3. Jalankan perintah instalasi berikut. Perintah ini akan membuat folder baru bernama yii2-advanced yang berisi seluruh kode template.

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii2-advanced
  1. Tunggu proses hingga selesai. Composer akan mengunduh semua paket yang diperlukan, termasuk framework Yii2 sendiri, SwiftMailer, dan library pendukung lainnya. Proses ini memerlukan koneksi internet stabil dan mungkin memakan waktu beberapa menit.

Catatan Penting untuk Composer 2.x: Berbeda dengan tutorial lama, Anda tidak perlu lagi menjalankan perintah composer global require "fxp/composer-asset-plugin:~1.1.1". Plugin tersebut sudah tidak didukung dan digantikan oleh metode native di Composer versi 2. Jadi, Anda bisa langsung menjalankan perintah create-project.

Langkah 2: Inisialisasi dan Konfigurasi Awal

Setelah file template berhasil diunduh, langkah selanjutnya adalah menginisialisasi lingkungan dan mengkonfigurasi aplikasi.

  1. Jalankan Skrip Init: Masuk ke direktori proyek (cd yii2-advanced). Di dalamnya, jalankan file init.bat (Windows) atau init (Linux/Mac) di terminal. Pilih opsi [0] Development untuk mode pengembangan. Jika diminta konfirmasi, ketik yes.
  2. Konfigurasi Database: Buka file common/config/main-local.php dengan editor teks favorit Anda. Cari bagian components['db'] dan sesuaikan detail koneksi database Anda.
'db' => [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=nama_database_anda',
    'username' => 'root', // username database Anda
    'password' => '', // password database Anda
    'charset' => 'utf8',
],
  1. Jalankan Database Migration: Di terminal yang masih berada di direktori proyek, jalankan perintah berikut untuk membuat skema tabel (termasuk tabel user) secara otomatis.
php yii migrate

Tekan Yes ketika diminta konfirmasi untuk menjalankan migration. Proses ini akan membuat semua tabel yang diperlukan, termasuk tabel untuk manajemen pengguna, log, dan lainnya.

Langkah 3: Konfigurasi Virtual Host (Rekomendasi)

Agar dapat mengakses frontend dan backend dengan URL yang bersih dan terpisah (contoh: yii2-frontend.test dan yii2-backend.test), konfigurasi virtual host di Apache sangat disarankan. Ini mereplikasi lingkungan produksi dan memudahkan pengembangan.

  1. Edit httpd-vhosts.conf: Buka file C:\xampp\apache\conf\extra\httpd-vhosts.conf (sesuaikan path jika XAMPP Anda di lokasi lain). Tambahkan konfigurasi berikut di akhir file:
<VirtualHost *:80>
    ServerName yii2-frontend.test
    DocumentRoot "C:/xampp/htdocs/yii2-advanced/frontend/web"
    <Directory "C:/xampp/htdocs/yii2-advanced/frontend/web">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        # Berikut konfigurasi routing untuk Yii2 (URL Rewrite)
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . index.php
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName yii2-backend.test
    DocumentRoot "C:/xampp/htdocs/yii2-advanced/backend/web"
    <Directory "C:/xampp/htdocs/yii2-advanced/backend/web">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        # Konfigurasi routing yang sama untuk backend
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . index.php
    </Directory>
</VirtualHost>
  1. Edit File Hosts: Buka file C:\Windows\System32\drivers\etc\hosts sebagai Administrator (gunakan Notepad “Run as administrator”). Tambahkan dua baris ini di akhir file:
127.0.0.1   yii2-frontend.test
127.0.0.1   yii2-backend.test
  1. Restart Apache melalui panel kontrol XAMPP.

Akses dan Uji Coba Aplikasi Yii2

Setelah semua langkah di atas selesai, Anda sudah siap untuk mengakses dan menguji instalasi Yii2 Advanced Template.

Untuk mencoba fitur manajemen pengguna, klik tautan “Signup” di halaman frontend. Isi formulir pendaftaran dengan email, username, dan password. Setelah berhasil mendaftar, Anda dapat langsung login. Cobalah juga fitur “Reset Password” untuk memastikan alur kerjanya berjalan dengan baik.

Kesimpulan dan Langkah Selanjutnya

Dengan mengikuti panduan ini, Anda telah berhasil menginstal dan mengkonfigurasi Yii2 Advanced Template di lingkungan pengembangan lokal. Template ini memberikan fondasi yang sangat kuat untuk membangun aplikasi web yang kompleks, scalable, dan aman.

Langkah logis selanjutnya setelah instalasi adalah mempelajari Role-Based Access Control (RBAC) bawaan Yii2 untuk mengelola izin pengguna yang lebih detail di backend, mengkonfigurasi pengiriman email untuk fitur verifikasi, serta memahami struktur direktori common, console, frontend, dan backend untuk pengembangan fitur yang optimal.

Artikel Terbaru