Instalasi dan Setup NexaUI Framework

Persyaratan Sistem

Sebelum menginstal NexaUI Framework, pastikan sistem Anda memenuhi persyaratan berikut:

  • PHP 8.0 atau lebih baru
  • Ekstensi PHP: PDO, JSON, mbstring, fileinfo
  • Composer (untuk manajemen dependensi)
  • Web server (Apache, Nginx, atau built-in PHP server)
  • Database (MySQL, PostgreSQL, SQLite, atau MariaDB)

Instalasi via Composer

Cara termudah untuk memulai proyek NexaUI baru adalah dengan menggunakan Composer:

composer create-project nexaui/framework my-project

Perintah ini akan membuat direktori baru bernama my-project dan menginstal NexaUI Framework beserta semua dependensinya.

Instalasi Manual

Jika Anda lebih suka instalasi manual, ikuti langkah-langkah berikut:

  1. Download arsip NexaUI Framework dari situs resmi
  2. Ekstrak arsip ke direktori web server Anda
  3. Jalankan composer install di direktori proyek untuk menginstal dependensi
  4. Salin file .env.example menjadi .env dan sesuaikan konfigurasinya
  5. Jalankan php nexa key:generate untuk menghasilkan application key

Konfigurasi Web Server

Apache

NexaUI menyertakan file .htaccess yang mengonfigurasi rewrite rules untuk Apache. Pastikan mod_rewrite diaktifkan di server Anda dan AllowOverride diatur ke All.

<VirtualHost *:80>
    ServerName myapp.local
    DocumentRoot /path/to/my-project/
    
    <Directory "/path/to/my-project/">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Nginx

Untuk Nginx, gunakan konfigurasi berikut:

server {
    listen 80;
    server_name myapp.local;
    root /path/to/my-project;
    index index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Konfigurasi Lingkungan

File .env digunakan untuk menyimpan konfigurasi lingkungan seperti koneksi database, URL aplikasi, dan mode debug. Salin .env.example menjadi .env dan sesuaikan nilainya:

# Application
APP_NAME=MyApp
APP_ENV=development
APP_DEBUG=true
APP_URL=http://localhost
APP_KEY=base64:generate-a-random-key-here

# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=root
DB_PASSWORD=secret

Untuk menghasilkan application key, jalankan:

php nexa key:generate

Struktur Direktori

Setelah instalasi, proyek NexaUI Anda akan memiliki struktur direktori berikut:

my-project/
├── assets/            # File statis (CSS, JS, gambar)
├── controllers/       # Controller aplikasi
├── models/            # Model dan repository
├── routes/            # Definisi route
│   ├── api.php
│   └── web.php
├── system/            # Core framework
├── templates/         # View templates
├── vendor/            # Dependensi Composer
├── .env               # Konfigurasi lingkungan
├── .env.example       # Template konfigurasi
├── composer.json      # Definisi dependensi
└── index.php          # Entry point aplikasi

Menjalankan Aplikasi

PHP Built-in Server

Untuk pengembangan lokal, Anda dapat menggunakan server bawaan PHP:

php -S localhost:8000

Kemudian buka http://localhost:8000 di browser Anda.

Menggunakan Web Server

Jika Anda menggunakan Apache atau Nginx, buka URL yang sesuai dengan konfigurasi virtual host Anda.

Troubleshooting

Permissions

Pastikan web server memiliki izin tulis ke direktori berikut:

  • system/log/
  • assets/cache/
  • uploads/ (jika ada)
chmod -R 775 system/log/ assets/cache/ uploads/

Common Issues

  • 500 Internal Server Error - Periksa error log server dan pastikan semua dependensi terinstal.
  • 404 Not Found untuk semua URL - Pastikan rewrite rules dikonfigurasi dengan benar.
  • Database Connection Error - Verifikasi kredensial database di file .env.
  • Blank Page - Aktifkan error reporting di .env dengan mengatur APP_DEBUG=true.

Langkah Selanjutnya

Setelah berhasil menginstal NexaUI Framework, Anda dapat melanjutkan dengan: