Cara Upload Laravel ke Hosting Tanpa SSH

Cara Upload Laravel ke Hosting Tanpa SSH

Table of Contents

    Cara Upload Laravel ke Hosting Tanpa SSH (Lengkap & Mudah untuk Pemula)

    Laravel menjadi framework PHP favorit banyak developer karena rapi, aman, dan modern. Namun, masalah sering muncul ketika hosting tidak menyediakan akses SSH, terutama pada shared hosting lokal.

    Di artikel Ozan Project ini, kita akan membahas cara upload Laravel ke hosting tanpa SSH secara lengkap, aman, dan praktis, cocok untuk pemula maupun pengguna hosting sekolah/instansi.


    Kenapa Banyak Hosting Tidak Menyediakan SSH?

    Sebagian besar hosting shared:

    • Membatasi akses server demi keamanan

    • Ditujukan untuk pengguna pemula

    • Tidak mendukung command line

    Akibatnya, perintah seperti berikut tidak bisa dijalankan di hosting:

    • composer install

    • php artisan migrate

    • php artisan key:generate

    Namun tenang, Laravel tetap bisa berjalan normal tanpa SSH jika disiapkan dengan benar dari lokal.


    Persiapan Wajib Sebelum Upload Laravel

    Semua proses teknis dilakukan di komputer lokal, bukan di hosting.

    1. Pastikan Project Laravel Berjalan Normal

    Jalankan:

     
    php artisan serve

    Jika website tampil normal, lanjut ke tahap berikutnya.


    2. Install Dependency di Lokal (WAJIB)

    Karena hosting tanpa SSH tidak bisa menjalankan Composer, maka:

     
    composer install

    📌 Catatan Ozan Project
    Folder vendor WAJIB ikut di-upload ke hosting.


    3. Generate APP_KEY di Lokal

     
    php artisan key:generate

    Pastikan file .env berisi:

     
    APP_KEY=base64:xxxxxxxxxxxxxxxx

    Struktur Folder Laravel di Hosting Shared

    Secara default Laravel memiliki folder public sebagai root website.
    Sedangkan di hosting shared, root website adalah public_html.

    Inilah solusi aman yang digunakan di Ozan Project.


    Langkah Upload Laravel ke Hosting Tanpa SSH

    ✅ Metode Aman & Direkomendasikan

    1. Upload Laravel ke Folder di Luar public_html

    Contoh struktur:

     
    /laravel_app/ ├── app ├── bootstrap ├── config ├── storage ├── vendor ├── .env

    Folder ini tidak bisa diakses langsung dari browser, sehingga lebih aman.


    2. Pindahkan Isi Folder public ke public_html

    Dari:

     
    laravel_app/public/

    Ke:

     
    public_html/

    Isi public_html sekarang:

    • index.php

    • .htaccess

    • assets (css, js, images)


    3. Edit Path index.php (PENTING)

    Buka file:

     
    public_html/index.php

    Sesuaikan path:

     
    require __DIR__.'/../laravel_app/vendor/autoload.php'; $app = require_once __DIR__.'/../laravel_app/bootstrap/app.php';

    📌 Sesuaikan laravel_app dengan nama folder Anda.


    Konfigurasi File .env di Hosting

    Edit file .env:

     
    APP_NAME=OzanProject APP_ENV=production APP_DEBUG=false APP_URL=https://ozanproject.site

    Konfigurasi Database:

     
    DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=nama_database DB_USERNAME=username_db DB_PASSWORD=password_db

    Mengatur Permission Folder (Sering Jadi Penyebab Error)

    Set permission:

    • storage755 atau 775

    • bootstrap/cache755 atau 775

    Jika salah, Laravel akan menampilkan Error 500.


    Cara Menjalankan Database Tanpa SSH

    Karena tidak bisa menjalankan migration di hosting, gunakan salah satu cara berikut.

    Opsi 1: Import Database via phpMyAdmin

    1. Export database dari localhost

    2. Import ke hosting menggunakan phpMyAdmin

    Opsi 2: Gunakan SQL Manual

    Jika database sederhana, buat tabel manual lewat phpMyAdmin.


    Mengatasi Error Umum Setelah Upload

    ❌ Error 500 Internal Server Error

    Biasanya disebabkan oleh:

    • Path index.php salah

    • Permission storage salah

    • APP_KEY belum ada

    ❌ Halaman Putih / Blank Page

    Solusi:

    • Aktifkan sementara:

     
    APP_DEBUG=true
    • Cek log di:

     
    storage/logs/laravel.log

    Apakah Cara Ini Aman untuk Google AdSense?

    YA, AMAN

    Metode ini:

    • Tidak melanggar kebijakan Google

    • Struktur rapi & profesional

    • Website stabil & cepat

    Banyak website Laravel dengan metode ini lolos Google AdSense.


    Kesimpulan

    ✔ Laravel tetap bisa online tanpa SSH
    ✔ Semua proses dilakukan di lokal
    ✔ Struktur folder harus benar
    ✔ Permission adalah kunci utama

    Jika dilakukan dengan benar, website Laravel Anda siap online, aman, dan scalable.

    You Might Also Like
    0 Comments
    Leave a Comment
    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.