Konfigurasi Apache untuk CodeIgniter

CodeIgniter merupakan salah satu kerangka web dengan pola pembangunan MVC (Model-View-Controller) yang memiliki ukuran file yang kecil dengan dukungan fitur security yang telah built-in didalamnya. Disamping itu CodeIgniter dikembangkan sebagai produk open source yang didasarkan pada lisensi MIT.

Dengan pola pengembangan yang berbeda dari aplikasi web native, tentu perlu adanya sedikit pengaturan pada sisi web server dan konfigurasi pada .htaccess-nya agar aplikasi yang telah anda buat dengan CodeIgniter dapat berjalan dengan baik pada server yang menggunakan perkakas LAMP Stack.

Konfigurasi Apache


Pada sisi web server konfigurasi virtualhost dapat dilakukan dengan perintah berikut pada terminal anda:
# nano /etc/apache2/sites-available/000-default

Sesuaikan konfigurasinya seperti dibawah ini:
<VirtualHost *:80>
ServerName 192.168.43.213

ServerAdmin webmaster@localhost

DocumentRoot /var/www/myapp

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Konfigurasi file 000-default diatas yang berwarna merah dapat anda sesuaikan dengan milik anda, misalkan, ServerName sesuaikan dengan IP atau domain milik anda, DocumentRoot sesuaikan dengan letak direktori projek milik anda. Setelah selesai, simpan konfigurasi anda.

Selanjutnya beralihlah pada konfigurasi global milik Apache yang terletak pada direktori /etc/apache2, edit dengan perintah berikut ini:
# nano /etc/apache2/apache2.conf

Setelah file konfigurasi tersebut terbuka, silahkan cari bagian kemudian sesuaikan dengan konfigurasi berikut ini:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Pada bagian AllowOverride gantilah None menjadi All. Kemudian silahkan menuju ke baris konfigurasi yang paling bawah kemudian tambahkan konfigurasi berikut ini:
ServerSignature Off
ServerTokens Prod

Simpan konfigurasi file apache2.conf.

Konfigurasi .htaccess


Konfigurasi ini bertujuan untuk mengatur modul rewrite pada proyek anda, kegunaan dari konfigurasi tersebut agar Apache dapat mengakses bagian controller, mengingat untuk mengakses aplikasi web yang dibangun dari CodeIgniter pengguna akan berinterksi dengan controller bukan dengan file. Untuk membuat file konfigurasi .htaccess, arahkan direktori aktif anda ke bagian yang sama dengan DocumentRoot diatas.
# cd /var/www/myapp
# nano .htaccess

Isikan konfigurasi berikut ini:
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Simpan konfigurasi yang baru anda buat. Agar konfigurasi rewrite tersebut terbaca dengan baik oleh Apache, maka anda harus mengaktifkan modul rewrite Apache dengan perintah berikut:
# a2enmod rewrite

Akhiri dengan restart-lah web server anda dengan perintah berikut:
# systemctl restart apache2

Sampai pada langkah ini anda telah melakukan konfigurasi Apache untuk CodeIgniter dengan baik, pastikan pada mengetikkan perintah tidak ada pesan error yang tampil.

Kesimpulan


Apache merupakan layanan web server yang memanfaatkan protokol HTTP atau HTTPS untuk menerima permintaan dari client. Untuk dapat membaca dan mengakses controller milik CodeIgniter, Apache harus melalui serangkaian konfigurasi agar dapat digunakan dengan baik.

Komentar

Postingan populer dari blog ini

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Koneksi Internet Bermasalah di Ubuntu 18.04, Berikut Cara Memperbaikinya

Cara Memperbaiki Masalah "KVM virtualisation is configured, but not available" di Proxmox