Setelah menginstal NexaUI Framework, langkah selanjutnya adalah melakukan konfigurasi awal untuk menyesuaikan framework dengan kebutuhan aplikasi Anda. Konfigurasi yang tepat akan memastikan aplikasi berjalan dengan optimal dan aman.
File .env
adalah tempat utama untuk menyimpan konfigurasi yang spesifik untuk
lingkungan tertentu. File ini tidak disertakan dalam version control untuk alasan keamanan.
Jika Anda belum memiliki file .env
, salin .env.example
menjadi .env
:
cp .env.example .env
Kemudian edit file .env
untuk menyesuaikan dengan lingkungan Anda:
# Application
APP_NAME="My NexaUI App"
APP_ENV=development # development, testing, production
APP_DEBUG=true # true untuk development, false untuk production
APP_URL=http://localhost
APP_KEY= # Akan diisi oleh key:generate command
# Database
DB_CONNECTION=mysql # mysql, pgsql, sqlite, sqlsrv
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nexaui_app
DB_USERNAME=root
DB_PASSWORD=
# Mail
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="$NexaUI Framework"
Application key digunakan untuk enkripsi data dan session. Untuk menghasilkan key baru:
php nexa key:generate
Perintah ini akan menghasilkan key acak dan menyimpannya di file .env
pada
variabel APP_KEY
.
NexaUI mendukung beberapa jenis database melalui PDO. Konfigurasikan koneksi database di file .env
:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nexaui_app
DB_USERNAME=root
DB_PASSWORD=secret
Pastikan database sudah dibuat sebelum menjalankan aplikasi:
# MySQL
mysql -u root -p -e "CREATE DATABASE nexaui_app CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
Pastikan mod_rewrite
diaktifkan dan direktori aplikasi memiliki konfigurasi AllowOverride All
.
NexaUI menyediakan file .htaccess
default yang mengatur rewrite rules.
# .htaccess
RewriteEngine On
RewriteBase /
# Handle Front Controller
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Untuk Nginx, tambahkan konfigurasi berikut ke blok server:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Untuk mengatur timezone dan locale aplikasi, edit file system/Config/app.php
:
// Timezone
'timezone' => 'Asia/Jakarta',
// Locale
'locale' => 'id',
'fallback_locale' => 'en',
NexaUI mendukung beberapa driver cache. Konfigurasikan cache di system/Config/cache.php
:
// Default cache driver
'default' => 'file',
// Cache stores
'stores' => [
'file' => [
'driver' => 'file',
'path' => SYSTEM_PATH . '/Storage/cache',
],
'redis' => [
'driver' => 'redis',
'host' => '127.0.0.1',
'port' => 6379,
'password' => null,
],
],
Konfigurasikan session di system/Config/session.php
:
// Session driver (file, database, redis)
'driver' => 'file',
// Session lifetime in minutes
'lifetime' => 120,
// Session cookie name
'cookie' => 'nexaui_session',
// Session encryption
'encrypt' => true,
// Session file location
'files' => SYSTEM_PATH . '/Storage/sessions',
Untuk mengirim email, konfigurasikan pengaturan mail di .env
:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=hello@example.com
MAIL_FROM_NAME="My NexaUI App"
NexaUI menggunakan sistem logging yang dapat dikonfigurasi di system/Config/logging.php
:
// Default log channel
'default' => 'daily',
// Log channels
'channels' => [
'single' => [
'driver' => 'single',
'path' => SYSTEM_PATH . '/log/nexa.log',
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => SYSTEM_PATH . '/log/nexa.log',
'level' => 'debug',
'days' => 14,
],
],
Konfigurasikan pengaturan keamanan di system/Config/security.php
:
// CSRF Protection
'csrf_protection' => true,
'csrf_token_name' => 'csrf_token',
'csrf_cookie_name' => 'csrf_cookie',
'csrf_expire' => 7200,
// XSS Filtering
'xss_clean' => true,
// Content Security Policy
'csp_enabled' => true,
Setelah melakukan konfigurasi, Anda dapat memverifikasi bahwa semuanya berfungsi dengan baik:
php nexa check:config
Perintah ini akan memeriksa konfigurasi dan menampilkan peringatan jika ada masalah.
Setelah menyelesaikan konfigurasi awal, Anda siap untuk mulai mengembangkan aplikasi dengan NexaUI. Langkah selanjutnya: