Ingin aplikasi Laravel buatanmu bisa diakses oleh banyak orang? Salah satu caranya adalah dengan melakukan deployment ke hosting shared. Tapi, bagaimana caranya? Tenang saja! Panduan lengkap & mudah ini akan membimbingmu langkah demi langkah untuk melakukan deployment aplikasi Laravel ke hosting shared di Indonesia. Mari kita mulai!
1. Mempersiapkan Aplikasi Laravel Sebelum Deploy: Konfigurasi Penting
Sebelum kita masuk ke proses deployment, ada beberapa hal penting yang perlu kita persiapkan di aplikasi Laravel kita. Ini akan memastikan aplikasi berjalan lancar di lingkungan hosting shared.
- Versi PHP: Pastikan versi PHP di aplikasi Laravelmu sesuai dengan versi PHP yang disediakan oleh hosting shared. Biasanya, informasi ini bisa kamu temukan di panel kontrol hosting. Jika tidak sesuai, kamu mungkin perlu memperbarui aplikasi Laravelmu atau meminta pihak hosting untuk mengganti versi PHP. Kamu bisa cek versi PHP yang digunakan aplikasi laravel dengan perintah
php -vdi terminal. - Database: Pastikan kamu sudah membuat database di hosting shared dan mencatat informasi penting seperti nama database, username, dan password. Informasi ini akan digunakan untuk konfigurasi koneksi database di aplikasi Laravel.
- Environment Variables (.env): File
.envmenyimpan konfigurasi penting seperti koneksi database, API key, dan lain-lain. Sesuaikan nilai-nilai di file.envdengan informasi yang sudah kamu catat dari hosting shared. Jangan lupa untuk mengecualikan file.envdari repository Git (kalau kamu menggunakan Git) karena berisi informasi sensitif. - Optimasi: Lakukan optimasi aplikasi Laravel untuk meningkatkan performa. Beberapa optimasi yang bisa dilakukan antara lain:
- Caching: Gunakan caching untuk menyimpan hasil komputasi yang sering digunakan. Laravel menyediakan berbagai jenis caching, seperti file cache, database cache, dan Redis cache.
- Minify CSS dan JavaScript: Perkecil ukuran file CSS dan JavaScript untuk mempercepat waktu loading halaman. Kamu bisa menggunakan tools seperti Laravel Mix atau Webpack.
- Optimize Images: Optimalkan ukuran gambar untuk mengurangi bandwidth dan mempercepat waktu loading halaman.
2. Memilih Hosting Shared Terbaik di Indonesia: Tips dan Rekomendasi
Memilih hosting shared yang tepat adalah kunci keberhasilan deployment aplikasi Laravel. Berikut beberapa tips dan rekomendasi hosting shared di Indonesia yang bisa kamu pertimbangkan:
- Perhatikan Spesifikasi Hosting: Pastikan hosting shared yang kamu pilih memiliki spesifikasi yang memadai untuk menjalankan aplikasi Laravel. Beberapa hal yang perlu diperhatikan antara lain:
- Ruang Disk: Cukup untuk menyimpan file aplikasi, database, dan file-file lainnya.
- Bandwidth: Cukup untuk menangani traffic website kamu.
- Memory (RAM): Mempengaruhi performa aplikasi, terutama saat menangani banyak pengunjung.
- CPU: Mempengaruhi kecepatan pemrosesan aplikasi.
- Fitur-Fitur Penting: Pilih hosting shared yang menyediakan fitur-fitur penting untuk aplikasi Laravel, seperti:
- SSH Access: Sangat penting untuk melakukan deployment dan konfigurasi aplikasi.
- Cron Jobs: Digunakan untuk menjalankan tugas terjadwal, seperti pengiriman email atau backup database.
- SSL Certificate: Untuk mengamankan website dengan HTTPS.
- Support untuk Composer: Package manager untuk PHP yang sangat penting untuk Laravel.
- Reputasi dan Dukungan Pelanggan: Cari tahu reputasi penyedia hosting melalui review online. Pastikan mereka memiliki dukungan pelanggan yang responsif dan membantu.
- Harga: Bandingkan harga dari berbagai penyedia hosting dan pilih yang sesuai dengan anggaranmu.
Rekomendasi Hosting Shared (Penting: Ini hanyalah rekomendasi dan bukan endorsement. Lakukan riset sendiri):
- Niagahoster: Salah satu penyedia hosting populer di Indonesia dengan berbagai pilihan paket hosting.
- IDCloudHost: Menawarkan berbagai layanan cloud, termasuk hosting shared dengan harga yang kompetitif.
- Rumahweb: Penyedia hosting yang sudah lama berkecimpung di Indonesia dengan berbagai pilihan paket dan fitur.
Pastikan untuk melakukan riset mendalam dan membaca review dari pengguna lain sebelum memutuskan untuk memilih hosting shared.
3. Upload File Aplikasi Laravel ke Hosting: Menggunakan FTP atau SSH
Setelah memilih hosting shared, langkah selanjutnya adalah mengupload file aplikasi Laravel ke server hosting. Ada dua cara utama untuk melakukan ini:
- FTP (File Transfer Protocol): Cara yang paling umum dan mudah digunakan. Kamu membutuhkan aplikasi FTP client seperti FileZilla atau Cyberduck.
- Hubungkan ke Server: Masukkan hostname, username, password, dan port (biasanya 21) yang diberikan oleh penyedia hosting ke aplikasi FTP client.
- Navigasi ke Directory yang Tepat: Biasanya, directory untuk website berada di
public_htmlatauwww. Tanyakan kepada penyedia hosting jika kamu tidak yakin. - Upload File: Upload semua file dan folder aplikasi Laravel, kecuali folder
public. Isi folderpublic(yang berisiindex.phpdan folderassets) diupload ke root directory website (public_htmlatau sejenisnya).
- SSH (Secure Shell): Cara yang lebih teknis tetapi lebih aman dan efisien. Kamu membutuhkan aplikasi SSH client seperti PuTTY (untuk Windows) atau Terminal (untuk macOS/Linux).
- Hubungkan ke Server: Masukkan hostname, username, dan password yang diberikan oleh penyedia hosting ke aplikasi SSH client.
- Navigasi ke Directory yang Tepat: Sama seperti FTP, navigasi ke directory
public_htmlatau sejenisnya. - Upload File: Kamu bisa menggunakan perintah
scpuntuk mengupload file atau menggunakangit clonejika aplikasi Laravelmu disimpan di repository Git. Misalnya, jika aplikasi ada di Github, gunakan perintahgit clone <URL repository>di direktori yang tepat (biasanya satu level di ataspublic_html). Kemudian, pindahkan isi folderpublicaplikasi laravel ke direktoripublic_html.
Penting:
- Pastikan kamu mengupload semua file dan folder aplikasi Laravel, kecuali folder
public. - Folder
vendorberisi dependencies aplikasi Laravel. Jika kamu tidak ingin mengupload foldervendor(karena ukurannya yang besar), kamu bisa menginstall dependencies tersebut langsung di server hosting menggunakan Composer melalui SSH.
4. Mengatur Direktori public dan Konfigurasi Server: Konfigurasi Penting Setelah Upload
Setelah file aplikasi Laravel berhasil diupload, ada beberapa konfigurasi penting yang perlu dilakukan:
-
Menyesuaikan Direktori
public: Secara default, aplikasi Laravel mencari fileindex.phpdi folderpublic. Namun, di hosting shared, fileindex.phpharus berada di root directory website (public_htmlatau sejenisnya). Ada dua cara untuk mengatasi hal ini:-
Memindahkan Isi Folder
public: Pindahkan semua file dan folder di dalam folderpublicaplikasi Laravel (termasukindex.php) ke root directory website. Kemudian, edit fileindex.phpdan sesuaikan path ke autoload.php dan bootstrap/app.php. Contoh:require __DIR__.'/../vendor/autoload.php'; // Sesuaikan path jika perlu $app = require_once __DIR__.'/../bootstrap/app.php'; // Sesuaikan path jika perlu -
Mengubah Document Root (Jika Diizinkan): Beberapa hosting shared mengizinkan kamu untuk mengubah document root website ke folder
publicaplikasi Laravel. Ini adalah cara yang lebih bersih dan direkomendasikan jika diizinkan. Kamu bisa melakukan ini melalui panel kontrol hosting.
-
-
Mengatur Environment Variables (.env): Setelah file diupload, sesuaikan nilai-nilai di file
.envdengan informasi database dan konfigurasi lainnya yang sesuai dengan hosting shared. Pastikan kamu sudah membuat database di hosting shared dan memiliki informasi seperti nama database, username, dan password. -
Mengatur Izin File: Pastikan direktori
storagememiliki izin write (775 atau 777, tergantung pada konfigurasi server). Ini diperlukan agar aplikasi Laravel dapat menyimpan file cache, log, dan file-file lainnya.
5. Menjalankan Migrasi Database dan Seeders: Mempersiapkan Database Aplikasi
Setelah konfigurasi server selesai, langkah selanjutnya adalah menjalankan migrasi database dan seeders. Migrasi database digunakan untuk membuat tabel-tabel yang diperlukan oleh aplikasi Laravel, sedangkan seeders digunakan untuk mengisi tabel-tabel tersebut dengan data awal.
-
Melalui SSH: Hubungkan ke server hosting melalui SSH dan navigasi ke direktori aplikasi Laravel. Kemudian, jalankan perintah berikut:
php artisan migrate php artisan db:seedJika kamu mengalami error terkait koneksi database, pastikan kamu sudah mengatur environment variables (.env) dengan benar.
-
Menggunakan Tool Database (Jika Diperlukan): Jika kamu tidak memiliki akses SSH, kamu mungkin bisa menggunakan tool database yang disediakan oleh hosting shared (seperti phpMyAdmin) untuk menjalankan query SQL yang dihasilkan oleh migrasi dan seeders. Ini lebih rumit dan tidak direkomendasikan kecuali sangat terpaksa.
6. Mengatur Cron Jobs untuk Tugas Terjadwal: Automatisasi Penting
Cron jobs digunakan untuk menjalankan tugas terjadwal secara otomatis. Misalnya, kamu bisa menggunakan cron jobs untuk mengirim email secara berkala, membersihkan cache, atau melakukan backup database.
- Akses Panel Kontrol Hosting: Cari bagian “Cron Jobs” atau “Scheduled Tasks” di panel kontrol hosting.
- Tambahkan Cron Job Baru: Masukkan perintah yang ingin kamu jalankan secara berkala. Biasanya, kamu akan menggunakan perintah
php artisan schedule:rununtuk menjalankan scheduler aplikasi Laravel. - Atur Jadwal: Tentukan jadwal eksekusi cron job. Misalnya, kamu bisa menjalankan cron job setiap menit, setiap jam, setiap hari, atau setiap minggu.
Contoh Cron Job:
* * * * * php /path/ke/aplikasi/artisan schedule:run >> /dev/null 2>&1
Ganti /path/ke/aplikasi dengan path absolut ke direktori aplikasi Laravel.
Penting:
-
Pastikan kamu sudah mengaktifkan scheduler di aplikasi Laravelmu. Kamu bisa menambahkan baris berikut ke file
app/Console/Kernel.php:protected function schedule(Schedule $schedule) { $schedule->command('inspire')->hourly(); // Contoh }
7. Mengaktifkan SSL Certificate (HTTPS): Keamanan Website
SSL Certificate (HTTPS) digunakan untuk mengamankan website dengan mengenkripsi data yang ditransfer antara browser pengguna dan server hosting. Ini penting untuk melindungi informasi sensitif seperti password, informasi kartu kredit, dan data pribadi lainnya.
- Beli atau Gunakan SSL Gratis: Kamu bisa membeli SSL certificate dari penyedia SSL atau menggunakan SSL gratis yang disediakan oleh Let’s Encrypt.
- Install SSL Certificate: Ikuti instruksi dari penyedia hosting untuk menginstall SSL certificate. Biasanya, kamu akan perlu mengunggah file certificate dan private key ke panel kontrol hosting.
- Konfigurasi Aplikasi Laravel: Setelah SSL certificate terinstall, pastikan aplikasi Laravelmu dikonfigurasi untuk menggunakan HTTPS. Kamu bisa melakukan ini dengan mengatur
APP_URLdi file.envmenjadihttps://namadomainmu.com. - Redirect HTTP ke HTTPS: Tambahkan aturan redirect di file
.htaccessuntuk mengalihkan semua traffic HTTP ke HTTPS.
Contoh Redirect HTTP ke HTTPS di .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
8. Tips Troubleshooting dan Optimasi Performa: Mengatasi Masalah Umum
Setelah aplikasi Laravel berhasil dideploy, kamu mungkin akan menghadapi beberapa masalah atau ingin meningkatkan performa aplikasi. Berikut beberapa tips troubleshooting dan optimasi performa:
- Error Logs: Periksa error logs aplikasi Laravel untuk mencari tahu penyebab masalah. Error logs biasanya terletak di direktori
storage/logs/laravel.log. - Debug Mode: Aktifkan debug mode di aplikasi Laravel untuk menampilkan informasi error yang lebih detail. Kamu bisa melakukan ini dengan mengatur
APP_DEBUGdi file.envmenjaditrue. Namun, nonaktifkan debug mode di lingkungan produksi karena dapat membahayakan keamanan. - Caching: Gunakan caching untuk menyimpan hasil komputasi yang sering digunakan. Laravel menyediakan berbagai jenis caching, seperti file cache, database cache, dan Redis cache.
- Database Optimization: Optimalkan query database untuk meningkatkan performa. Gunakan tools seperti Laravel Debugbar untuk menganalisis query database yang lambat.
- CDN (Content Delivery Network): Gunakan CDN untuk mendistribusikan file statis seperti gambar, CSS, dan JavaScript ke server-server yang tersebar di seluruh dunia. Ini akan mempercepat waktu loading halaman untuk pengguna di berbagai lokasi.
- Monitoring: Gunakan tools monitoring untuk memantau performa aplikasi secara real-time. Ini akan membantu kamu mengidentifikasi masalah dan mengambil tindakan yang diperlukan.
9. Keamanan Aplikasi Laravel di Hosting Shared: Langkah-langkah Penting
Keamanan aplikasi Laravel adalah hal yang sangat penting, terutama di lingkungan hosting shared. Berikut beberapa langkah penting untuk meningkatkan keamanan aplikasi Laravel:
- Update Secara Teratur: Selalu update Laravel, PHP, dan semua dependencies aplikasi ke versi terbaru. Versi terbaru biasanya mengandung perbaikan keamanan yang penting.
- Lindungi File
.env: File.envberisi informasi sensitif seperti koneksi database dan API key. Pastikan file.envtidak dapat diakses oleh publik. - Sanitasi Input Pengguna: Selalu sanitasi input pengguna untuk mencegah serangan SQL injection, XSS, dan serangan lainnya. Laravel menyediakan berbagai fitur untuk membantu kamu melakukan ini.
- Gunakan Middleware untuk Otentikasi dan Otorisasi: Gunakan middleware untuk mengamankan rute-rute yang memerlukan otentikasi dan otorisasi.
- Konfigurasi Firewall: Konfigurasi firewall untuk membatasi akses ke server hosting.
- Backup Secara Teratur: Lakukan backup aplikasi dan database secara teratur. Ini akan memungkinkan kamu untuk memulihkan aplikasi jika terjadi masalah.
10. Tips Tambahan untuk Sukses Deploy Aplikasi Laravel: Deployment yang Optimal
Berikut beberapa tips tambahan untuk sukses deploy aplikasi Laravel ke hosting shared:
- Gunakan Version Control (Git): Gunakan Git untuk mengelola kode aplikasi Laravel. Ini akan memudahkan kamu untuk melakukan deployment, rollback, dan berkolaborasi dengan pengembang lain.
- Otomatiskan Deployment: Gunakan tools seperti Deployer atau Envoyer untuk mengotomatiskan proses deployment. Ini akan menghemat waktu dan mengurangi risiko kesalahan.
- Testing: Lakukan testing aplikasi secara menyeluruh sebelum melakukan deployment ke lingkungan produksi. Ini akan membantu kamu mengidentifikasi dan memperbaiki bug sebelum aplikasi diakses oleh pengguna.
- Dokumentasi: Dokumentasikan proses deployment dan konfigurasi aplikasi. Ini akan memudahkan kamu dan pengembang lain untuk melakukan maintenance dan troubleshooting.
- Pantau Performa: Pantau performa aplikasi secara berkala dan lakukan optimasi jika diperlukan.
Dengan mengikuti panduan lengkap & mudah ini, kamu seharusnya sudah bisa melakukan deployment aplikasi Laravel ke hosting shared di Indonesia dengan sukses. Selamat mencoba dan semoga berhasil! Jika ada pertanyaan, jangan ragu untuk bertanya di kolom komentar.







