BAB 17 – Masalah & Tips Deploy CodeIgniter 3 di Server Produksi

BAB 17 – Masalah & Tips Deploy CodeIgniter 3 di Server Produksi

Setelah belajar semua fitur CodeIgniter 3, dari CRUD, template, session, upload file, hingga dashboard, tahap penting berikutnya adalah menjalankan aplikasi di server produksi.

Banyak pemula mengalami masalah saat deploy CI3, mulai dari error 404, session tidak bekerja, hingga masalah folder permission.

Pada BAB ini, kita akan membahas:

  • Masalah umum CI3 di server produksi
  • Penyebabnya
  • Tips & solusi agar aplikasi berjalan lancar

Tujuan Pembelajaran

Setelah menyelesaikan BAB 17, Anda akan mampu:

  1. Mengenali masalah umum CI3 di server produksi
  2. Mengetahui penyebab error
  3. Menerapkan solusi cepat dan aman
  4. Menyiapkan server agar aplikasi stabil

17.1 Masalah Umum & Solusinya

1. Error 404 / Halaman Tidak Ditemukan

Penyebab:

  • .htaccess tidak bekerja
  • mod_rewrite Apache belum aktif
  • index.php masih terlihat di URL, tapi config salah

Solusi:

  1. Pastikan .htaccess ada di root proyek:
RewriteEngine On
RewriteBase /nama_folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
  1. Aktifkan mod_rewrite di Apache:
sudo a2enmod rewrite
sudo service apache2 restart
  1. Atur config.php:
$config['base_url'] = 'https://www.domainanda.com/';
$config['index_page'] = '';

2. Masalah Session Tidak Berfungsi

Penyebab:

  • Session file tidak bisa ditulis (folder application/cache permission salah)
  • sess_save_path tidak diatur

Solusi:

  1. Atur permission folder writable (CI3 menggunakan application/cache atau writable/session):
chmod 755 application/cache
  1. Atur session path di config.php:
$config['sess_save_path'] = APPPATH.'cache';

3. Upload File / Gambar Gagal

Penyebab:

  • Folder uploads tidak writable
  • Tipe file tidak sesuai konfigurasi

Solusi:

  1. Atur permission folder upload:
chmod 755 uploads/
  1. Pastikan allowed_types di controller sesuai file yang diupload

4. URL atau Link Asset Tidak Berfungsi

Penyebab:

  • base_url() salah
  • File CSS, JS, atau gambar tidak bisa diakses

Solusi:

  • Gunakan <?= base_url('assets/css/style.css') ?>
  • Pastikan folder assets/ ada dan permission benar
  • config['base_url'] diatur ke domain produksi

5. Error “Allowed Memory Size” / Limit PHP

Penyebab:

  • Data besar / query berat
  • File upload besar

Solusi:

  • Atur php.ini:
memory_limit = 256M
upload_max_filesize = 10M
post_max_size = 10M
  • Gunakan pagination untuk data besar
  • Batasi ukuran file upload

6. Masalah HTTPS / Mixed Content

Penyebab:

  • Server menggunakan HTTPS
  • Resource masih dipanggil menggunakan HTTP

Solusi:

  • Gunakan base_url() otomatis menyesuaikan protokol:
$config['base_url'] = 'https://www.domainanda.com/';
  • Atur .htaccess redirect HTTP ke HTTPS

17.2 Tips Deploy CI3 Aman & Stabil

  1. Nonaktifkan Debugging di Production $config['log_threshold'] = 1; // atau 0
  2. Gunakan environment Production
    Di index.php: define('ENVIRONMENT', 'production');
  3. Pastikan Permission Folder Benar
    • application/cache → writable
    • uploads/ → writable
  4. Backup Database & File sebelum deploy
  5. Gunakan .htaccess untuk URL Bersih
  6. Cek Error Log Server jika terjadi masalah
  7. Amankan session dan CSRF $config['csrf_protection'] = TRUE;

Penutup

Dengan BAB 17 ini, Anda sudah memahami:

  • Masalah umum CI3 di server produksi
  • Penyebabnya dan solusi cepat
  • Tips deploy agar aplikasi stabil, aman, dan berjalan lancar

Mengikuti langkah-langkah ini akan menghindarkan aplikasi dari error 404, session tidak bekerja, upload gagal, atau masalah asset, sehingga siap digunakan oleh user akhir.