Deployment Aplikasi Laravel

Deployment Aplikasi - ulin00

Apa Itu Deployment Laravel?

Deployment Laravel adalah proses memindahkan aplikasi Laravel dari lingkungan pengembangan ke lingkungan produksi, sehingga dapat diakses oleh pengguna secara online.

Mengapa Deployment Penting?

Deployment sangat penting untuk memastikan aplikasi berjalan stabil, aman, dan optimal di server produksi. Dengan deployment yang baik, aplikasi dapat diakses dengan cepat dan tanpa hambatan.

Persiapan Sebelum Deployment

Memilih Server yang Tepat

Sebelum deployment, pastikan memilih server yang sesuai seperti:

  • Shared Hosting (cocok untuk proyek kecil)
  • VPS atau Dedicated Server (lebih fleksibel dan kuat)
  • Cloud Hosting (AWS, DigitalOcean, Linode, dll.)

Instalasi Dependensi

Pastikan server memiliki:

  • PHP (versi yang kompatibel dengan Laravel)
  • Composer
  • MySQL/PostgreSQL
  • Node.js (jika menggunakan frontend dengan Laravel Mix)

Konfigurasi Environment (.env)

Sesuaikan file .env dengan kredensial server, termasuk:

APP_ENV=production
APP_DEBUG=false
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=nama_database
DB_USERNAME=user
DB_PASSWORD=password

Metode Deployment Laravel

Deployment Manual

  • Upload file Laravel via FTP atau SSH
  • Jalankan composer install --no-dev --optimize-autoloader
  • Jalankan migration php artisan migrate --force

Deployment Menggunakan Git

  • Push kode ke GitHub/GitLab
  • Clone repository di server
  • Jalankan git pull origin main
  • Jalankan composer install
  • Jalankan php artisan migrate

Deployment dengan Laravel Forge atau Envoyer

  • Laravel Forge: Mengelola server secara otomatis
  • Envoyer: Zero-downtime deployment untuk Laravel

Konfigurasi Server

Setup Apache/Nginx untuk Laravel

Pastikan konfigurasi server mendukung Laravel, contoh untuk Nginx:

server {
    listen 80;
    server_name domain.com;
    root /var/www/html/public;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

Konfigurasi Database

  • Buat database dan sesuaikan .env
  • Jalankan php artisan migrate

Menggunakan Supervisor untuk Queue Jobs

Jika aplikasi menggunakan queue, gunakan Supervisor:

Baca Juga: loading
[program:laravel-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/artisan queue:work --tries=3

Menjalankan Proses Deployment

Upload File ke Server

  • Gunakan SCP, FTP, atau Git untuk upload file aplikasi ke server

Menjalankan Migration dan Seeder

php artisan migrate --force
php artisan db:seed --force

Clearing Cache dan Config

php artisan config:cache
php artisan route:cache
php artisan view:cache

Keamanan dan Optimasi

Mengamankan File dan Direktori

  • Set permission yang tepat:
chmod -R 755 /var/www/html
chmod -R 775 storage bootstrap/cache

Menggunakan SSL dan HTTPS

  • Install SSL dengan Let's Encrypt atau Cloudflare
  • Redirect HTTP ke HTTPS di server

Optimasi Performa Laravel

  • Gunakan caching (Redis, Memcached)
  • Aktifkan OPcache
  • Gunakan queue untuk tugas berat

Kesimpulan

Deployment Laravel memerlukan perencanaan dan konfigurasi yang tepat agar aplikasi berjalan optimal di server produksi. Dengan memahami proses deployment, kita bisa memastikan aplikasi tetap aman dan responsif.

FAQ

1. Apa perbedaan antara shared hosting dan VPS untuk Laravel?

Shared hosting cocok untuk proyek kecil, sementara VPS memberikan fleksibilitas dan performa lebih baik untuk aplikasi besar.

2. Bagaimana cara menghindari downtime saat deployment?

Gunakan Laravel Envoyer atau strategi blue-green deployment.

3. Bagaimana cara menangani error setelah deployment?

Periksa file log di storage/logs/laravel.log dan gunakan php artisan config:clear.

4. Apakah perlu menggunakan supervisor untuk queue?

Ya, jika aplikasi menggunakan job queue, Supervisor membantu menjaga proses tetap berjalan.

5. Apa saja langkah keamanan setelah deployment?

  • Nonaktifkan debug mode
  • Gunakan HTTPS
  • Atur permission file dengan benar
  • Batasi akses ke folder storage dan bootstrap/cache
Muhammad Ulin Nuha
Muhammad Ulin Nuha PEEKCODE CHANNEL YOUTUBE Developer Android | Networking | Konten Creator peekcode YT | Galery | Pecinta Sholawat |

Posting Komentar