Laravel 12 telah hadir dengan berbagai fitur canggih yang menjanjikan performa lebih cepat dan efisiensi kode yang lebih baik. Namun, bagi banyak pengembang, tantangan sebenarnya bukanlah menulis kode, melainkan bagaimana melakukan deployment ke lingkungan produksi. Jika Anda memilih infrastruktur Windows, Anda mungkin mencari panduan definitif tentang cara host laravel 12 di dedicated server windows agar aplikasi berjalan stabil dan aman.
Menggunakan Dedicated Server berbasis Windows memberikan keuntungan tersendiri, terutama bagi perusahaan yang sudah terintegrasi dengan ekosistem Microsoft. Dengan kontrol penuh atas perangkat keras dan sistem operasi, Anda dapat mengoptimalkan server sesuai kebutuhan spesifik aplikasi Laravel Anda. Artikel ini akan memandu Anda langkah demi langkah, dari nol hingga aplikasi Anda online sepenuhnya.
Daftar Isi
- Persiapan Sistem dan Prasyarat
- Langkah 1: Instalasi Internet Information Services (IIS)
- Langkah 2: Instalasi dan Konfigurasi PHP 8.3+
- Langkah 3: Setup Database (MySQL/MariaDB)
- Langkah 4: Memasang Composer dan Git
- Langkah 5: Deployment Kode Laravel 12
- Langkah 6: Konfigurasi Site di IIS dan URL Rewrite
- Langkah 7: Mengatur Permission Folder (Penting!)
- Langkah 8: Implementasi SSL dengan Let’s Encrypt
- Optimasi dan Troubleshooting
- Kesimpulan dan Next Steps
Persiapan Sistem dan Prasyarat
Sebelum kita menyelami teknis cara host laravel 12 di dedicated server windows, pastikan server Anda memenuhi spesifikasi minimum. Laravel 12 membutuhkan versi PHP terbaru dan beberapa ekstensi spesifik agar dapat berjalan tanpa kendala.
Dedicated Server Anda harus menjalankan Windows Server 2019 atau 2022 untuk hasil terbaik. Selain itu, pastikan Anda memiliki akses Administrator penuh. Berikut adalah daftar komponen yang harus disiapkan:
- PHP 8.3 atau lebih tinggi: Laravel 12 memanfaatkan fitur terbaru PHP.
- Ekstensi PHP: BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, dan XML.
- Web Server: IIS (Internet Information Services) dengan modul CGI diaktifkan.
- Database: MySQL 8.0+, MariaDB 10.3+, atau SQL Server.
- RAM: Minimal 4GB (8GB+ direkomendasikan untuk Dedicated Server).
Langkah 1: Instalasi Internet Information Services (IIS)
Windows Server tidak mengaktifkan IIS secara default. Anda harus mengaktifkannya melalui Server Manager. IIS adalah web server yang sangat powerful jika dikonfigurasi dengan benar untuk menangani aplikasi PHP.
Buka Server Manager, pilih Add Roles and Features. Klik ‘Next’ hingga Anda mencapai bagian Server Roles. Centang Web Server (IIS). Di dalam kategori Web Server, pastikan Anda masuk ke Application Development dan centang CGI. Ini sangat krusial karena PHP akan berjalan melalui interface FastCGI di Windows.
Tip Pro: Jangan lupa untuk menginstal “URL Rewrite Module”. Tanpa modul ini, routing Laravel yang cantik (pretty URLs) tidak akan berfungsi di IIS.
Langkah 2: Instalasi dan Konfigurasi PHP 8.3+
Untuk menjalankan Laravel 12, Anda memerlukan PHP versi terbaru. Jangan gunakan installer otomatis yang sudah usang; instalasi manual memberikan kontrol lebih baik. Unduh versi Non-Thread Safe (NTS) x64 dari situs resmi PHP for Windows.
Setelah mengunduh, ekstrak folder PHP ke C:php. Cari berkas php.ini-production dan ubah namanya menjadi php.ini. Buka berkas tersebut dan pastikan baris berikut tidak memiliki tanda titik koma (;) di depannya:
extension=curlextension=fileinfoextension=mbstringextension=opensslextension=pdo_mysql
Jangan lupa untuk menambahkan path C:php ke dalam System Environment Variables agar Anda bisa menjalankan perintah PHP dari Command Prompt atau PowerShell.
Langkah 3: Setup Database (MySQL/MariaDB)
Sebagian besar aplikasi Laravel menggunakan MySQL. Anda bisa mengunduh MySQL Community Server. Selama proses instalasi, pilih metode autentikasi yang kuat dan catat password root Anda.
Setelah terinstal, buat database baru untuk proyek Laravel Anda. Anda bisa menggunakan command line atau tool seperti HeidiSQL atau DBeaver untuk memudahkan manajemen database di lingkungan Windows.
Langkah 4: Memasang Composer dan Git
Composer adalah dependency manager untuk PHP yang wajib ada. Unduh Composer-Setup.exe dari getcomposer.org. Saat instalasi, arahkan ke php.exe yang berada di folder C:php yang sudah Anda buat tadi.
Git juga diperlukan untuk menarik kode dari repositori (seperti GitHub atau GitLab). Instal Git for Windows dengan pengaturan default, namun pastikan opsi “Git from the command line and also from 3rd-party software” terpilih.
Langkah 5: Deployment Kode Laravel 12
Sekarang saatnya memasukkan kode aplikasi ke server. Biasanya, folder aplikasi diletakkan di C:inetpubwwwrootnama-proyek. Gunakan Git Bash untuk melakukan clone repositori Anda:
git clone https://github.com/username/repo-anda.git C:inetpubwwwrootmy-laravel-app
Setelah kode berhasil ditarik, masuk ke direktori proyek dan jalankan perintah:
composer install --optimize-autoloader --no-dev
Salin file .env.example menjadi .env, lalu sesuaikan konfigurasi database dan APP_URL. Jangan lupa jalankan php artisan key:generate untuk mengamankan sesi aplikasi Anda.
Langkah 6: Konfigurasi Site di IIS dan URL Rewrite
Inilah bagian paling teknis dalam cara host laravel 12 di dedicated server windows. Buka IIS Manager, klik kanan pada ‘Sites’ dan pilih ‘Add Website’.
- Site name: Nama aplikasi Anda.
- Physical path: Arahkan ke folder public di dalam proyek Laravel Anda (Contoh:
C:inetpubwwwrootmy-laravel-apppublic). Ini sangat penting untuk keamanan. - Binding: Masukkan hostname atau alamat IP server Anda.
Karena Laravel menggunakan .htaccess di Apache, di IIS kita perlu menggunakan web.config. Jika Laravel belum menyediakannya, buat file bernama web.config di dalam folder public dan masukkan konfigurasi URL Rewrite agar semua request diarahkan ke index.php.
Langkah 7: Mengatur Permission Folder (Penting!)
Banyak pengembang mengalami error “Access Denied” atau “500 Internal Server Error” karena masalah permission. Di Windows, user yang menjalankan web server biasanya adalah IUSR atau IIS_IUSRS.
Klik kanan pada folder storage dan bootstrap/cache di direktori proyek Anda. Pilih Properties > Security > Edit. Tambahkan user IIS_IUSRS dan berikan akses Full Control atau minimal Modify. Tanpa ini, Laravel tidak bisa menulis log atau session, yang akan menyebabkan aplikasi crash.
Langkah 8: Implementasi SSL dengan Let’s Encrypt
Keamanan adalah prioritas utama. Untuk mendapatkan SSL gratis, Anda bisa menggunakan tool Win-ACME. Tool ini sangat ringan dan bekerja sempurna dengan IIS.
- Unduh Win-ACME dari situs resminya.
- Jalankan
wacs.exesebagai Administrator. - Pilih opsi untuk membuat sertifikat baru (biasanya opsi ‘N’).
- Ikuti instruksi untuk memilih site yang ingin dipasang SSL.
- Win-ACME akan otomatis memperbarui sertifikat setiap 60-90 hari.
Optimasi dan Troubleshooting
Hosting di Windows memerlukan sedikit tweak ekstra. Pastikan Anda mengaktifkan OPcache di php.ini untuk mempercepat eksekusi script PHP. Set opcache.enable=1 dan berikan memory yang cukup.
Jika Anda menemui error 500, buka IIS Manager, pilih site Anda, masuk ke Error Pages, dan pilih Detailed Errors untuk melihat pesan kesalahan yang sebenarnya saat melakukan debugging. Pastikan untuk mengembalikannya ke ‘Custom Error Pages’ saat sudah live di produksi.
Menggunakan Task Scheduler untuk Laravel Cron
Laravel membutuhkan scheduler untuk menjalankan tugas terjadwal. Di Windows, kita menggunakan Task Scheduler. Buat task baru yang menjalankan perintah berikut setiap menit:
php C:inetpubwwwrootmy-laravel-appartisan schedule:run
Kesimpulan dan Next Steps
Memahami cara host laravel 12 di dedicated server windows memang memerlukan ketelitian ekstra dibandingkan Linux, namun Windows menawarkan stabilitas dan integrasi yang luar biasa untuk skala enterprise. Dengan mengikuti langkah-langkah di atas—mulai dari setup IIS, konfigurasi PHP yang tepat, hingga pengaturan permission yang benar—aplikasi Laravel 12 Anda akan berjalan dengan performa maksimal.
Sebagai langkah selanjutnya, pertimbangkan untuk mengatur sistem backup otomatis untuk database Anda dan menggunakan monitoring tool seperti New Relic atau Datadog untuk memantau kesehatan server secara real-time. Selamat mencoba dan semoga sukses dengan deployment Laravel 12 Anda!