Oke, siap! Berikut adalah artikel SEO friendly tentang cara deploy Laravel di shared hosting, ditulis dalam bahasa Indonesia dan dengan gaya yang lebih percakapan:
# Tutorial Lengkap Deploy Laravel di Shared Hosting: Panduan Step-by-Step
Apakah Anda seorang developer Laravel yang ingin mempublikasikan aplikasi web Anda ke internet? Shared hosting adalah pilihan yang populer dan terjangkau untuk memulai. Namun, proses deploy Laravel di shared hosting bisa jadi sedikit membingungkan, terutama bagi pemula. Jangan khawatir! Panduan lengkap step-by-step ini akan memandu Anda melalui setiap langkahnya, dari persiapan hingga aplikasi Anda siap diakses secara online. Mari kita mulai!
## 1. Persiapan Awal: Memastikan Hosting dan Aplikasi Laravel Siap Tempur
Sebelum melangkah lebih jauh, pastikan Anda sudah memiliki hal-hal berikut:
* **Akun Shared Hosting:** Pastikan akun hosting Anda aktif dan Anda memiliki akses ke cPanel atau panel kontrol hosting lainnya. Perhatikan juga spesifikasi hosting, seperti versi PHP yang didukung (minimal PHP 8.1 untuk Laravel versi terbaru) dan ketersediaan Composer.
* **Aplikasi Laravel Lokal:** Aplikasi Laravel yang ingin Anda deploy sudah selesai dikembangkan dan berjalan dengan baik di lingkungan lokal Anda.
* **Akses FTP atau SSH:** Anda membutuhkan akses FTP (File Transfer Protocol) atau SSH (Secure Shell) untuk mengunggah file aplikasi ke server hosting. SSH biasanya lebih disarankan karena lebih aman.
* **Database MySQL/MariaDB:** Buat database MySQL atau MariaDB di panel kontrol hosting Anda. Catat nama database, username, dan password-nya, karena akan kita gunakan nanti.
**Tips Tambahan:**
* **Backup:** Selalu lakukan backup aplikasi Laravel lokal Anda sebelum melakukan deployment. Ini adalah langkah penting untuk menghindari kehilangan data jika terjadi kesalahan.
* **Git:** Gunakan Git untuk version control aplikasi Anda. Ini akan memudahkan Anda untuk mengelola perubahan dan mengembalikan ke versi sebelumnya jika diperlukan.
## 2. Mengubah Konfigurasi Aplikasi Laravel untuk Shared Hosting
Laravel secara default dirancang untuk lingkungan pengembangan. Kita perlu melakukan beberapa penyesuaian agar sesuai dengan shared hosting.
* **Ubah `.env`:** Edit file `.env` di aplikasi Laravel Anda dan sesuaikan konfigurasi database. Ganti nilai-nilai berikut dengan informasi database yang sudah Anda buat di shared hosting:
DB_CONNECTION=mysql
DB_HOST=localhost # Biasanya localhost, tapi periksa dokumentasi hosting Anda
DB_PORT=3306 # Port standar MySQL
DB_DATABASE=nama_database_anda
DB_USERNAME=username_database_anda
DB_PASSWORD=password_database_anda
```
Pastikan juga Anda mengubah `APP_URL` ke domain Anda, misalnya: `APP_URL=https://domainanda.com`
-
Set
APP_DEBUG=false: Di lingkungan production (shared hosting), matikan mode debug untuk keamanan. GantiAPP_DEBUG=truemenjadiAPP_DEBUG=false. -
Generate Application Key: Pastikan application key sudah ter-generate. Jika belum, jalankan perintah
php artisan key:generatedi terminal lokal Anda.
Penting: Jangan pernah menyimpan informasi sensitif seperti database credentials langsung di dalam kode. Gunakan .env dan pastikan file ini tidak ikut ter-commit ke repository Git publik.
3. Mengunggah File Aplikasi Laravel ke Server Hosting: FTP vs. SSH
Sekarang, saatnya mengunggah file aplikasi Laravel Anda ke server hosting. Ada dua cara utama:
-
Menggunakan FTP (File Transfer Protocol): Ini adalah cara yang paling umum dan mudah. Anda memerlukan aplikasi FTP client seperti FileZilla atau Cyberduck. Sambungkan ke server hosting menggunakan informasi yang diberikan oleh provider hosting Anda (host, username, password, port). Upload semua file dan folder aplikasi Laravel Anda ke direktori
public_htmlatau direktori yang ditentukan oleh hosting provider Anda sebagai root web. Kecuali folderpublic. Isi dari folderpublicdiunggah ke folderpublic_html. Struktur direktori yang benar adalah, di dalampublic_htmlterdapatindex.php,.htaccess, dan foldercss,js,images, dll. -
Menggunakan SSH (Secure Shell): Jika hosting Anda menyediakan akses SSH, ini adalah cara yang lebih aman dan efisien. Anda bisa menggunakan terminal atau aplikasi SSH client seperti PuTTY (untuk Windows) atau terminal bawaan di macOS dan Linux. Setelah terhubung ke server, navigasikan ke direktori
public_htmlatau root web lainnya dan upload file aplikasi menggunakan perintahscp(secure copy) ataursync. Atau, Anda bisa clone repository Git Anda langsung ke server.
Catatan Penting:
vendorFolder: Foldervendorberisi dependencies aplikasi Anda. Biasanya, folder ini cukup besar. Anda bisa mengunggahnya melalui FTP, tetapi akan memakan waktu lama. Cara yang lebih baik adalah dengan menjalankancomposer installlangsung di server (jika hosting Anda mendukung Composer, lihat langkah selanjutnya)..htaccess: File.htaccesspenting untuk konfigurasi web server. Pastikan file ini ikut ter-upload. Beberapa FTP client mungkin menyembunyikan file-file yang diawali dengan titik (.), jadi pastikan Anda mengaktifkan opsi “show hidden files” di FTP client Anda.
4. Menginstall Dependencies dengan Composer di Server (Jika memungkinkan)
Jika hosting Anda mendukung Composer (package manager untuk PHP), Anda bisa menghemat waktu dan bandwidth dengan menginstall dependencies langsung di server.
- Akses SSH: Hubungkan ke server melalui SSH.
- Navigasikan ke Direktori Aplikasi: Pindah ke direktori tempat Anda mengunggah file aplikasi Laravel Anda.
- Jalankan
composer install: Eksekusi perintahcomposer install. Ini akan mengunduh dan menginstall semua dependencies yang dibutuhkan aplikasi Anda berdasarkan filecomposer.json.
Jika hosting Anda tidak mendukung Composer, Anda harus mengunggah folder vendor secara manual melalui FTP. Ini bisa memakan waktu cukup lama.
5. Konfigurasi Web Server: Mengarahkan Domain ke Direktori public Laravel
Langkah ini sangat penting! Kita perlu mengarahkan domain Anda ke direktori public di dalam aplikasi Laravel Anda. Direktori public adalah tempat file index.php berada, yang merupakan entry point aplikasi Laravel Anda.
-
cPanel: Di cPanel, cari opsi “Domains” atau “Addon Domains”. Edit domain Anda dan arahkan “Document Root” ke direktori
publicdi dalam aplikasi Laravel Anda. Misalnya, jika aplikasi Anda berada di/home/username/public_html/laravel-app, maka Document Root harus diarahkan ke/home/username/public_html/laravel-app/public. -
Panel Kontrol Lain: Prosesnya mungkin sedikit berbeda tergantung pada panel kontrol hosting yang Anda gunakan, tetapi intinya sama: arahkan domain ke direktori
publicLaravel Anda.
Masalah Umum: Jika Anda tidak mengarahkan domain ke direktori public, Anda akan melihat daftar file dan folder aplikasi Anda di browser, atau error “403 Forbidden”.
6. Mengatur Permissions: Keamanan Aplikasi Laravel
Permissions file dan folder sangat penting untuk keamanan aplikasi Anda. Atur permissions dengan benar agar web server bisa mengakses file yang dibutuhkan, tetapi tidak memberikan akses yang tidak perlu kepada pihak lain.
storagedanbootstrap/cache: Berikan hak write access (775 atau 777) ke folderstoragedanbootstrap/cache. Folder-folder ini digunakan untuk menyimpan file-file yang dihasilkan aplikasi dan cache. Perhatian: Hindari memberikan hak 777 jika memungkinkan. Konsultasikan dengan dokumentasi hosting Anda untuk rekomendasi permissions yang lebih aman.- File Lain: Biarkan permissions file lainnya seperti default (biasanya 644).
Anda bisa mengatur permissions melalui FTP client (biasanya dengan klik kanan pada file atau folder dan memilih “File Permissions” atau “CHMOD”) atau melalui SSH menggunakan perintah chmod.
Contoh perintah SSH:
chmod -R 775 storage bootstrap/cache
7. Menjalankan Migrations dan Seeder: Membangun Struktur Database
Setelah aplikasi Anda ter-upload dan konfigurasi sudah diatur, saatnya untuk membangun struktur database dengan menjalankan migrations dan seeders.
- Akses SSH: Hubungkan ke server melalui SSH.
- Navigasikan ke Direktori Aplikasi: Pindah ke direktori aplikasi Laravel Anda.
- Jalankan Migrations: Eksekusi perintah
php artisan migrate. Ini akan membuat tabel-tabel di database Anda berdasarkan file-file migration yang ada di folderdatabase/migrations. - Jalankan Seeders (Opsional): Jika Anda memiliki seeders (file-file yang mengisi database dengan data awal), jalankan perintah
php artisan db:seed.
Masalah Umum:
- “Access Denied” Error: Periksa kembali konfigurasi database di file
.env. Pastikan username, password, dan nama database sudah benar. - “Class Not Found” Error: Ini biasanya terjadi jika dependencies belum terinstall dengan benar. Pastikan Anda sudah menjalankan
composer install.
8. Optimasi Aplikasi Laravel untuk Performa Terbaik
Setelah aplikasi Anda berhasil di-deploy, ada beberapa langkah optimasi yang bisa Anda lakukan untuk meningkatkan performanya:
- Caching: Manfaatkan fitur caching Laravel untuk menyimpan data yang sering diakses. Gunakan cache driver seperti Redis atau Memcached jika tersedia di hosting Anda.
- Konfigurasi Opcode Cache: Aktifkan opcode cache di server Anda (misalnya, OPCache). Ini akan mempercepat eksekusi kode PHP. Biasanya, ini bisa diaktifkan melalui panel kontrol hosting Anda.
- Optimize Composer Autoloader: Jalankan
composer dump-autoload --optimizeuntuk mengoptimalkan autoloader Composer. - CDN (Content Delivery Network): Gunakan CDN untuk menghosting file-file statis seperti gambar, CSS, dan JavaScript. Ini akan mengurangi beban server Anda dan mempercepat waktu loading halaman.
- Gzip Compression: Aktifkan Gzip compression di server Anda untuk mengkompresi file-file yang dikirim ke browser. Ini akan mengurangi ukuran file dan mempercepat waktu loading.
9. Menangani Error dan Debugging di Lingkungan Production
Di lingkungan production, penting untuk menangani error dengan baik dan memantau aplikasi Anda secara teratur.
- Logging: Konfigurasi logging Laravel untuk mencatat error dan informasi penting lainnya. Pastikan Anda menyimpan log di lokasi yang aman dan mudah diakses.
- Error Reporting: Konfigurasi error reporting agar error tidak ditampilkan langsung ke user (karena bisa memberikan informasi sensitif). Kirim error ke log atau service error tracking seperti Sentry atau Bugsnag.
- Monitoring: Gunakan alat monitoring seperti New Relic atau Datadog untuk memantau performa aplikasi Anda dan mendeteksi masalah dengan cepat.
10. Mengamankan Aplikasi Laravel Anda di Shared Hosting
Keamanan adalah prioritas utama. Lakukan langkah-langkah berikut untuk mengamankan aplikasi Laravel Anda:
- Update Teratur: Selalu update Laravel dan semua dependencies Anda ke versi terbaru untuk mendapatkan perbaikan keamanan terbaru.
- Lindungi
.env: Pastikan file.envtidak bisa diakses dari browser. Konfigurasi web server Anda untuk memblokir akses ke file-file yang diawali dengan titik (.). - Gunakan HTTPS: Gunakan HTTPS untuk mengenkripsi komunikasi antara browser dan server Anda. Dapatkan SSL certificate dari Let’s Encrypt atau provider SSL lainnya.
- Sanitasi Input: Selalu sanitasi input dari user untuk mencegah serangan SQL injection dan XSS (Cross-Site Scripting).
- Lindungi dari CSRF: Gunakan middleware CSRF (Cross-Site Request Forgery) yang disediakan oleh Laravel.
- Rate Limiting: Terapkan rate limiting untuk mencegah serangan brute-force dan DDoS (Distributed Denial of Service).
11. Melakukan Deployment Ulang (Redeploy) dengan Lebih Mudah
Setelah aplikasi Anda berjalan, Anda mungkin perlu melakukan deployment ulang (redeploy) untuk mengupdate kode atau konfigurasi. Berikut adalah beberapa cara untuk mempermudah proses ini:
- Git Deployment: Gunakan Git untuk mengelola perubahan dan deploy aplikasi Anda. Anda bisa menggunakan tools seperti Deployer atau Envoyer untuk otomatisasi deployment.
- Zero-Downtime Deployment: Jika Anda membutuhkan deployment tanpa downtime, pertimbangkan untuk menggunakan teknik zero-downtime deployment seperti blue-green deployment atau rolling deployment.
12. Troubleshooting Umum Saat Deploy Laravel di Shared Hosting
Berikut adalah beberapa masalah umum dan solusinya:
- Halaman Kosong (White Screen of Death): Periksa log error untuk mencari tahu penyebabnya. Biasanya, ini disebabkan oleh error PHP yang tidak tertangani. Pastikan
APP_DEBUGdi set kefalsedi lingkungan produksi dan errornya di-log. - Error “Class Not Found”: Pastikan Anda sudah menjalankan
composer installdan mengunggah foldervendordengan benar. - Error “No Input File Specified”: Pastikan domain Anda diarahkan ke direktori
publicLaravel. - Error Database Connection: Periksa konfigurasi database di file
.env.
Kesimpulan
Deploy Laravel di shared hosting memang memerlukan beberapa langkah, tetapi dengan panduan ini, Anda seharusnya bisa melakukannya dengan lancar. Ingatlah untuk selalu memperhatikan keamanan dan optimasi performa aplikasi Anda. Selamat mencoba dan semoga berhasil! Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan atau kesulitan.
**Penjelasan tambahan:**
* **Struktur Markdown:** Artikel ini menggunakan format Markdown, yang mudah dibaca dan dikonversi ke format HTML.
* **Subheadings dengan Keyword:** Setiap bagian memiliki subheading yang relevan dengan konten dan menyertakan variasi keyword "Deploy Laravel" atau topik terkait.
* **Keyword Density:** Keyword "Deploy Laravel" dan variasinya digunakan secara alami di seluruh artikel, tanpa keyword stuffing.
* **Informasi Relevan dan Berguna:** Artikel ini memberikan informasi yang detail dan praktis, menjawab pertanyaan-pertanyaan umum tentang deploy Laravel di shared hosting.
* **Gaya Percakapan:** Gaya penulisan lebih santai dan percakapan, membuat artikel lebih mudah dibaca dan dipahami.
* **Trusted Source:** Meskipun tidak ada link eksternal langsung di artikel ini, artikel ini menekankan pentingnya membaca dokumentasi hosting dan menggunakan tools yang terpercaya.
* **Panjang Artikel:** Artikel ini melebihi 1500 kata, memenuhi persyaratan panjang.
* **Bahasa Indonesia:** Artikel ini ditulis sepenuhnya dalam bahasa Indonesia.
Semoga artikel ini bermanfaat! Jangan ragu untuk memberikan feedback jika ada yang perlu ditingkatkan.









