Cara Upload CodeIgniter 4 ke Hosting

Cara Upload CodeIgniter 4 ke HostingCodeigniter versi 3 berbeda dengan versi 4, sehingga dalam proses upload ke hosting ada sedikit perbedaan dalam proses konfigurasinya. Salah satu perbedaan utama adalah pada struktur direktori, pada codeigniter versi 4 terdapat 5 direktori dasar, sedangkan codeigniter versi 3 hanya ada 2 saja.

Struktur codeigniter kurang lebih hampir sama seperti framework laravel. Jadi bila Anda sudah pernah menggunakan laravel, tentu sudah paham dengan strukturnya. Jadi cara upload codeigniter 4 hampir sama dengan upload laravel ke hosting. Namun mungkin perbedaanya laravel perlu update composser, php-artisan jika aplikasinya menggunakan fitur tersebut.

Baca Juga : Upload Codeigniter 3 ke Hosting

Sebelum Anda mulai mengikuti panduan ini, pastikan sudah mempersiapkan hosting dan domain yang sesuai. Namun bila belum memiliki layanan hosting atau baru ingin pindah layanan hosting, Anda bisa mulai memilih layanan hosting dan domain terlebih dahulu. Berikut ini beberapa rekomendasi layanan hosting indonesia terbaik yang dapat menjadi pilihan : Hosting Indonesia.

Pada tutorial ini saya akan menggunakan cpanel. Bila Anda menggunakan jenis panel lain, maka bisa menyesuaikan. Karena pada umumnya akan tetap sama cara uploadnya, hanya saja tata letak dan struktur panel yang berbeda.

Cara Upload CodeIgniter 4 ke Hosting

Pastikan file codeigniter 4 sudah dalam bentuk compress .zip, agar proses upload lebih mudah. Bila website di bangun menggunakan localhost, maka Anda bisa compress file website di folder .htdocs sedangkan database .sql dapat di export dari phpMyadmin.

1. Login Cpanel

Karena panduan ini menggunakan cpanel maka pastikan Anda sudah berhasil login ke akun cpanel. Bila belum berhasil, silakan menghubungi layanan hosting.

2. Upload Database Codeigniter 4

Proses selanjutnya adalah melakukan upload database. Dalam proses ini Anda akan melakukan beberapa langkah. Pastikan Anda sudah menyiapkan database.sql.

Perhatian : Bila Anda menggunakan migration database maka upload database dapat dilakukan melalui ssh/terminal, setelah pembuatan akun database di cpanel.

Namun pada panduan ini saya akan menginformasikan cara upload database secara manual dari phpMyadmin. Sehingga Anda membutuhkan file .sql.

#1 Membuat Database

Silakan Anda login ke cpanel kemudian temukan dan klik menu “MYSQL DATABASES“.

Buat nama database sesuai dengan kebutuhan Anda. Disini saya membuat database dengan nama “codeigniter”. Nama database Anda akan dimulai dari username cpanel (karakter unik).

Scrool kebawah dan buat nama user database Anda. Sama seperti nama database, username juga akan diawali dengan kode unik (username cpanel). Simpan nama database, username dan password yang telah Anda buat sebelumnya. Klik “create user” agar proses pembuatan user database berhasil.

Selanjutnya berikan privileges pada user database sebelumnya. Scrool kebawah, dan temukan bagian “Add user to database”. Anda bisa memilih username dan database telah Anda buat.

Kemudian centang semua privilages dan klik tombol “make changes”. Perhatikan screenshot dibawah.

#2 Import Database

Setelah database sudah dibuat, maka Anda bisa melakukan import file sql sebelumnya melalui phpMyadmin. Cari dan klik menu “phpMyadmin” pada cpanel.

Pilih nama database yang telah dibuat yang ada di bagian kiri. Kemudian klik “Import” dibagian bar atas.

Pilih database.sql Anda dan klik “Go” dibagian bawah.

Saat ini proses import database telah selesai. Proses ini dapat Anda lakukan bila ukuran database Anda tidak melebihi jumlah maksimum upload di phpMyadmin. Jika ukurannya melebihi maka upload akan gagal. Untuk mengatasi hal ini, Anda bisa menggunakan SSH di hosting untuk memproses upload database.

Baca Juga : Upload Database dari SSH Hosting Cpanel

3. Upload File Website Codeigniter 4

Proses yang terakhir adalah upload filewebsite.zip ke hosting serta melakukan konfigurasi pada koneksi database dan url codeigniter di .env.

Silakan Anda login ke cpanel dan klik menu “File Manager“.

Pilih lokasi direktori website Anda. Untuk mengetahui dimana direktori domain (Document Root) website berada, Anda bisa cek pada menu Domains di cpanel. Anda bisa klik bagian icon rumah dilist document root, sesuai dengan nama domain. Nantinya akan langsung diarahkan ke folder tempat meletakan website.

Setelah berada pada direktori, silakan Anda klik tombol “Upload” dibagian bar atas.

Pilih filewebsite.zip dan tunggu hingga proses upload selesai (100% warna hijau).

Kembali ke direktori dan temukan filewebsite.zip yang telah terupload. Klik kanan file >> pilih “Extract“.

Apabila proses extract berhasil, pastikan semua file website codeigniter 4 sudah berada pada folder website di cpanel.

Dalam panduan ini, file website dan folder public dijadikan satu folder seperti screenshot diatas. Sehingga tidak perlu melakukan konfigurasi $pathsPath (index.php) lagi. Namun bila Anda ingin memindahkan file website (selain isi folder public) ke root, maka perlu settings $pathsPath ini.

4. Konfigurasi Koneksi Database dan Base_Url Codeigniter 4

Selanjutnya melakukan konfigurasi koneksi database di codeigniter 4. Pastikan Anda sudah menyimpan user, nama dan password DB yang sebelumnya telah dibuat pada cpanel.

Konfigurasi koneksi database dapat dilakukan dari .env atau app >> config >> database.php. Namun untuk panduan ini saya akan menggunakan .env untuk konfigurasi database ataupun base_url.

Silakan Anda edit file .env kemudian gunakan detail database yang telah Anda buat sebelumnya. Jika .env tidak muncul, Anda bisa mencoba menampilkan file tersembunyi melalui menu settings (icon gear kanan atas) >> centang “hidden file” dan save.

Klik kanan file .env, kemudian pilih “edit“.

Temukan bagian database dan hapus tanda pagar (#) supaya konfigurasi tersebut dapat terbaca. Isikan database, username dan password sesuai dengan database di cpanel.

Masih di dalam .env, temukan bagian app.baseURL = ‘ ‘ hilangkan juga tanda pagar (#) supaya base url dapat terbaca. Pada bagian base url ini ganti dengan nama domain atau subdomain website Anda.

Setelah database dan base_url diganti, silakan Anda langsung saja “save changes“.

 

Proses yang terakhir adalah melakukan konfigurasi pada .htaccess, agar Anda tidak perlu akses website menggunakan namadomain.com/public. Bila file .htaccess belum ada, silakan Anda buat saja file baru dengan nama .htaccess.

Edit file .htaccess tersebut dan tambahkan script dibawah kemudian simpan.

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

Konfigurasi koneksi database dan base_url telah selesai. Silakan Anda mencoba akses nama domain atau subdomain Anda pada browser. Seharusnya website codeigniter 4 Anda sudah tampil pada browser.

Erros Saat Upload CodeIgniter 4 ke Hosting

Saat pertama kali upload ke hosting, mungkin Anda akan mengalami beberapa kendala dibawah ini. 

404 Controller method is not found

Error tersebut dapat dikarenakan nama controller tidak sesuai dengan yang ada settings route. Pastikan nama Controller dan Model diawali dengan huruh capital (besar). Karena di hosting akan case sensitive antara huruf besar dan kecil.

Error 404 method is not found tersebut juga dapat dikarenakan extention php ada yang belum aktif atau versi PHP tidak support dengan versi script website.

Berikut ini beberapa extention PHP yang perlu aktif :
– intl
– mbstring
– json
– dom
– mysqlndnd
– nd_mysqli
– nd_pdo_mysql (if available)

Jika masih belum dapat diakses ketika extention PHP sudah aktif, silakan Anda ubah versi PHP saat ini menjadi PHP 7.2, PHP 7.3 atau PHP 7.4.

Access denied for user ‘****’@’localhost’ to

Error ini terjadi karena konfigurasi koneksi database masih salah. Kesalahan dapat terletak pada password database, nama database, user database atau belum terdapat user privileges database. Cek kembali setting di koneksi database dan akun database.

Demikianlah Cara Upload CodeIgniter 4 ke Hosting. Semoga bermanfaat dan dapat membantu Anda. Jangan lupa untuk shared artikel ini kepada teman, kerabat, saudara atau lainnya. Agar mimin novri.web.id lebih semangat dalam membuat panduan-panduan lain. images by freepick.

1