Configuration - luckydeva03/desa_karangrejo GitHub Wiki

⚙️ Configuration

Panduan konfigurasi lengkap untuk Website Desa Karangrejo.

📋 Environment Configuration

1. File .env

File .env adalah tempat konfigurasi utama aplikasi. Copy dari .env.example:

cp .env.example .env

2. Konfigurasi Database

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=desa_karangrejo
DB_USERNAME=your_username
DB_PASSWORD=your_password

3. Application Settings

APP_NAME="Website Desa Karangrejo"
APP_ENV=local
APP_KEY=base64:your_app_key_here
APP_DEBUG=true
APP_TIMEZONE=Asia/Jakarta
APP_URL=http://localhost

4. Mail Configuration

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=[email protected]
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=[email protected]
MAIL_FROM_NAME="${APP_NAME}"

5. File Storage

FILESYSTEM_DISK=local
# Untuk production gunakan 's3' atau 'public'

🔧 Laravel Configuration Files

config/app.php

Konfigurasi aplikasi utama:

'name' => env('APP_NAME', 'Laravel'),
'env' => env('APP_ENV', 'production'),
'debug' => env('APP_DEBUG', false),
'url' => env('APP_URL', 'http://localhost'),
'timezone' => 'Asia/Jakarta',
'locale' => 'id',
'fallback_locale' => 'en',

config/database.php

Konfigurasi database sudah optimal, tidak perlu diubah kecuali kebutuhan khusus.

config/mail.php

Konfigurasi email sudah sesuai untuk SMTP Gmail.

🌐 Web Server Configuration

Apache Configuration

Pastikan mod_rewrite aktif:

<VirtualHost *:80>
    ServerName desa-karangrejo.local
    DocumentRoot /path/to/desa-karangrejo/public
    
    <Directory /path/to/desa-karangrejo/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Nginx Configuration

server {
    listen 80;
    server_name desa-karangrejo.local;
    root /path/to/desa-karangrejo/public;
    
    index index.php index.html;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

📊 Performance Configuration

config/cache.php

Untuk production, gunakan Redis:

CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

config/session.php

SESSION_DRIVER=redis
SESSION_LIFETIME=120

config/queue.php

Untuk background jobs:

QUEUE_CONNECTION=redis

🔒 Security Configuration

CSRF Protection

Sudah aktif secara default di Laravel.

CORS (jika diperlukan)

Install package cors:

composer require fruitcake/laravel-cors

Rate Limiting

Konfigurasi di app/Http/Kernel.php sudah optimal.

📱 Social Media Integration

Jika ingin integrasi social media:

# Facebook
FACEBOOK_CLIENT_ID=your_facebook_app_id
FACEBOOK_CLIENT_SECRET=your_facebook_app_secret

# Google
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

🔧 Additional Settings

Image Processing

Konfigurasi untuk Intervention Image sudah optimal.

Backup Configuration

File config/backup.php sudah dikonfigurasi untuk backup database dan files.

Telescope (Development)

TELESCOPE_ENABLED=true
# Set false di production

✅ Configuration Checklist

  • Database connection tested
  • Mail configuration tested
  • File upload working
  • Cache working
  • Queue working (jika digunakan)
  • Backup tested
  • All environment variables set
  • Web server configured
  • SSL certificate installed (production)
  • Security headers configured

🚨 Production Settings

Untuk production environment:

APP_ENV=production
APP_DEBUG=false
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

📞 Troubleshooting

Common Issues

  • Permission Error: Set proper folder permissions
  • Cache Issues: Run php artisan cache:clear
  • Config Issues: Run php artisan config:clear
  • Database Issues: Check credentials and connection

Useful Commands

# Clear all cache
php artisan optimize:clear

# Rebuild config cache
php artisan config:cache

# Rebuild route cache
php artisan route:cache

# Rebuild view cache
php artisan view:cache
⚠️ **GitHub.com Fallback** ⚠️