Dokumentasi / Installation
Installation
Prerequisites
Before installing Bangkah, ensure your system has:
Required
- PHP 8.2+ dengan extensions: openssl, pdo, mbstring, tokenizer, xml, ctype, json
- Composer 2.0+ - Install Composer
- Node.js 18+ LTS atau 20+ LTS - Install Node.js
- Git 2.x+ - Install Git
Optional tapi Recommended
- Docker Desktop (20.10+)
- Docker Compose (v2.0+) - Usually bundled with Docker Desktop
Verify Installation
# Check PHP version
php -v
# Output: PHP 8.2.x atau lebih tinggi
# Check Composer
composer --version
# Output: Composer 2.x.x
# Check Node.js
node -v
v20.x.x
# Check NPM
npm -v
9.x.x atau lebih tinggi
# Check Docker (if installed)
docker --version
Docker version 20.10+
docker compose version
Docker Compose v2.0+
👉 See Requirements for full system specs →
Installation Methods
Method 1: Fresh Laravel Project (Recommended)
Best untuk project baru dari nol.
# Step 1: Create Laravel project
composer create-project laravel/laravel my-awesome-project
# Step 2: Navigate to project
cd my-awesome-project
# Step 3: Add Bangkah
composer require bangkah/bangkah
# Step 4: Run scaffolding
php artisan bangkah:create
Total waktu: ~2-3 menit (tergantung internet speed)
Method 2: Existing Laravel Project
Untuk project Laravel yang sudah ada.
# Step 1: Navigate to project
cd my-existing-project
# Step 2: Add Bangkah
composer require bangkah/bangkah
# Step 3: Run scaffolding
php artisan bangkah:create
⚠️ Important: Bangkah akan memodifikasi beberapa file:
.env(database configuration)routes/web.phpatauroutes/api.phpapp/Http/Controllers/- Database migrations
Backup otomatis dibuat:
routes/web.php.backup-YYYYMMDDHHMMSS.env.backup-YYYYMMDDHHMMSS- Etc.
Anda bisa revert kapan saja jika perlu.
Method 3: With Git (For Teams)
# Clone starter template
git clone https://github.com/bangkah/bangkah-starter my-project
cd my-project
# Install dependencies
composer install
npm install
# Run setup wizard
php artisan bangkah:create
Post-Installation Setup
Step 1: Verify Installation
# List Bangkah commands
php artisan list bangkah
Expected output:
Available commands for the "bangkah" namespace:
bangkah:create Create a new starter project with Bangkah
bangkah:reset Reset to original state (undo scaffolding)
Step 2: Generate App Key
php artisan key:generate
Ini membuat APP_KEY unik untuk encryption.
Step 3: Setup Database
With Docker:
# Start containers
docker compose up -d
# Run migrations
docker compose exec app php artisan migrate
# Seed sample data (optional)
docker compose exec app php artisan db:seed
Without Docker:
# Update .env dengan database credentials
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
# Run migrations
php artisan migrate
# Seed sample data (optional)
php artisan db:seed
Step 4: Build Frontend Assets
# Install frontend dependencies
npm install
# Build development assets
npm run dev
# OR build production assets
npm run build
Step 5: Start Development
With Docker:
docker compose up -d
# Access http://localhost
Without Docker:
# Terminal 1: Start PHP dev server
php artisan serve
# Terminal 2: Watch frontend assets
npm run dev
# Access http://localhost:8000
Troubleshooting Installation
Composer require fails
Error: “Could not find package bangkah/bangkah”
Solution:
-
Update Composer repositories:
composer config repositories.bangkah vcs https://github.com/bangkah/bangkah.git -
Clear cache dan retry:
composer clear-cache composer require bangkah/bangkah -
Atau gunakan path repository (development):
composer require --repository="{\"type\":\"path\",\"url\":\"/path/to/bangkah\"}" bangkah/bangkah
PHP version mismatch
Error: “Your PHP version (8.1.0) does not satisfy requirement (>=8.2.0)”
Solution:
# Update PHP ke 8.2+
# Windows: Update via PHP installer atau XAMPP
# macOS: brew upgrade php
# Linux: apt-get install php8.2 atau upgrade binary
# Verify after update
php -v
Permission denied (Linux/macOS)
Error: “The ”./storage” directory does not have write permissions”
Solution:
# Set correct permissions
chmod -R 775 storage bootstrap/cache
# Or if using Docker:
docker compose exec app chmod -R 775 storage bootstrap/cache
Docker port conflict
Error: “Port 80 is already allocated”
Solution: Edit docker-compose.yml dan ubah port:
services:
nginx:
ports:
- "8080:80" # Use 8080 instead of 80
Then access http://localhost:8080
Database connection failed
With Docker:
# Check if db container is running
docker compose ps
# Check logs
docker compose logs db
# Verify .env settings match docker-compose.yml
Without Docker:
# Test database connection
mysql -u [username] -p [database_name]
# Or verify in PHP:
php artisan tinker
>>> DB::connection()->getPdo();
Node/NPM issues
Error: “node_modules is empty” atau npm install fails
Solution:
# Clean and reinstall
rm -rf node_modules package-lock.json
npm install
# Or use npm ci (recommended for CI/CD)
npm ci
Clear Laravel Cache
Jika ada issues setelah install:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
Verify Everything Works
# 1. Check database connection
php artisan tinker
>>> DB::connection()->getPdo();
>>> // Should return PDO object, no error
# 2. Check migrations ran
php artisan migrate:status
# 3. Check app running
php artisan serve
# Visit http://localhost:8000
# 4. Check frontend assets
node -e "console.log('Node works')"
npm run build
Semua OK? You’re ready to go!
Next Steps
✅ Installation complete!
On This Page
- Installation
- Prerequisites
- Required
- Optional tapi Recommended
- Verify Installation
- Installation Methods
- Method 1: Fresh Laravel Project (Recommended)
- Method 2: Existing Laravel Project
- Method 3: With Git (For Teams)
- Post-Installation Setup
- Step 1: Verify Installation
- Step 2: Generate App Key
- Step 3: Setup Database
- Step 4: Build Frontend Assets
- Step 5: Start Development
- Troubleshooting Installation
- Composer require fails
- PHP version mismatch
- Permission denied (Linux/macOS)
- Docker port conflict
- Database connection failed
- Node/NPM issues
- Clear Laravel Cache
- Verify Everything Works
- Next Steps