Installasi dan Konfigurasi CodeIgniter

Agar dapat menggunakan CodeIgniter, Anda harus menginstall dan melakukan konfigurasi terhadap CodeIgniter terlebih dahulu. Installasi CodeIgniter sangatlah mudah. Dengan menggunakan konfigurasi default saja maka CodeIgniter sudah dapat berjalan di web server Anda. Hal-hal yang harus dipersiapkan dalam menginstall CodeIgniter adalah

Mempersiapkan Web Server

Seperti yang kita tahu bahwa PHP adalah bahasa pemrograman website yang berjalan disisi server oleh karena itu untuk dapat menjalankan website yang dibuat dengan menggunakan PHP, di komputer harus terinstall aplikasi web server yang mendukung PHP. Banyak sekali aplikasi web server yang beredar, salah satu web server yang sangat terkenal dan juga bersifat bebas adalah web server Apache, sebuah web server yang digunakan pada sebagian server yang ada di internet.

Untuk website yang melibatkan basis data sebagai tempat penyimpanan datanya maka tidak perlu bingung karena CodeIgniter juga mendukung berbagai jenis server basis data, yaitu MySQL, MySQLi, MS SQL, PostgreeSQL, Oracle, dan SQLite. CodeIgniter juga bisa dijalankan di semua sistem operasi yang bisa menjalankan aplikasi-aplikasi di atas, baik Windows, Linux, BSD dan yang lainnya.

Instalasi CodeIgniter

Instalasi CodeIgniter sangat mudah. Meskipun namanya instalasi tetapi karena CodeIgniter adalah aplikasi berbasis website maka sebenarnya yang perlu dilakukan adalah meng-copy folder aplikasi CodeIgniter ke dalam folder htdocs atau DocumentRoot dari web server yang telah diinstall sebelumnya. Berbeda dengan instalasi software pada umumnya.

Sebelum melakukan instalasi yang perlu dilakukan pertama kali adalah mendapatkan kode  sumber dari CodeIgniter itu sendiri yang dapat didownload di http://www.CodeIgniter.com/ (disediakan pula di dalam CD penyerta buku). Selanjutnya letakkan folder hasil ekstrak tadi di DocumentRoot web server, yaitu folder htdocs didalam direktori C:\\apachefriends\xampp bagi yang menggunakan XAMPP di Windows atau /var/www/html bagi yang menggunakan linux (semua tergantung dimana anda menginstall dan mengkonfigurasi webserver).

Dengan menggunakan konfigurasi default saja maka CodeIgniter sudah dapat berjalan di web server Anda. Adapun struktur utama dari CodeIgniter terbagi menjadi dua bagian, yaitu application dan sistem/core CodeIgniter. Application adalah tempat kita meletakkan code yang akan dibuat (bewarna merah dan hijau sedangkan sistem/core CodeIgniter yang bewarna ungu) . Folder sistem berisi library-library dan helper bawaan CodeIgniter.

installasi codeigniter

Adapun susunan folder CodeIgniter secara default adalah:

  • Folder application: disinilah aplikasi yang akan kita bangun
  • Folder config – tempat menyimpan semua file konfigurasi yang ada di dalam aplikasi, mulai dari database, router dan autoload
  • Folder controllers – tempat menyimpan semua file
  • Folder errors – tempat menyimpan semua template error
  • Folder helpers – tempat menyimpan helper-helper yang bukan berasal dari
  • Folder hooks – tempat menyimpan hook yang digunakan untuk mengubah alur fungsi dari core
  • Folder language – tempat menyimpan bahasa-bahasa yang akan di
  • Folder libraries – tempat menyimpan semua library buatan kita
  • Folder models – tempat menyimpan semua
  • Folder views – tempat menyimpan semua file view
  • Folder system menyimpan semua file baik itu file aplikasi yang dibuat maupun core framework- nya.
  • Folder cache – tempat menyimpan semua cache yang dibuat caching
  • Folder codeigniter – tempat menyimpan semua semua file internals
  • Folder database – tempat menyimpan semua driver database drivers dan class yang akan digunakan.
  • Folder fonts – tempat menyimpan semua font yang digunakan image manipulation
  • Folder helpers – tempat menyimpan semua helper core
  • Folder language – tempat menyimpan semua language core
  • Folder libaries – tempat menyimpan semua library core CI
  • Folder logs – tempat menyimpan semua logs generated oleh
  • Folder plugin – tempat menyimpan semua plugin core
  • Folder scaffolding – tempat menyimpan semua file yang berfungsi sebagai scaffolding .
  • Folder user_guide berisi userguide/manual penggunaan
  • File php file yang akan menghandle semua request yang dilakukan oleh client.

Setelah meletakkan CodeIgniter ke dalam folder htdocs maka akan didapatkan tampilan seperti di bawah ini, artinya CodeIgniter telah sukses berjalan di aplikasi Anda.

tampilan awal ci

Adapun checklist yang harus dilakukan untuk menjalankan CodeIgniter secara default adalah

  • Pastikan Apache dan PHP telah terinstall dan berjalan di
  • Pastikan peletakkan source code CodeIgniter di folder/direktory web apache (biasanya htdocs) dan memiliki permission setidak-tidaknya read only atau kode

Konfigurasi CodeIgniter

Walaupun CodeIgniter dapat berjalan dengan konfigurasi default, tetapi untuk sebuah aplikasi yang nyata kita harus tetap melakukan konfigurasi, setidaknya pada bagian base_url dan router. Pengaturan base_url dan router sangat berguna ketika proses pengembangan aplikasi yang banyak menggunakan helper dan library.

Pada file konfigurasi config.php berisi konfigurasi secara umum mengenai CodeIgniter, seperti peletakkan baseurl, suffix, frontcontroller, serta metode yang digunakan URI dan lain-lain. Adapun konfigurasi-konfigurasi yang perlu diperhatikan adalah :

  • $config[‘base_url’] – Konfigurasi ini berisi alamat url sebuah aplikasi. Jika menggunakan helper url maka konfigurasi ini harus di-set dengan benar. Contoh: aplikasi Anda akan diakses dengan menggunakan domain warungcode.com/app_ci maka pada konfigurasi ini harus diisikan  $config[‘base_url’]=”https://warungcode.com/app_ci/“; Tetapi jika ingin menggunakan base url yang lebih fleksibel maka dapat menggantinya dengan variabel server. Contoh: $config[‘base_url’]=”http://”.$_SERVER[‘HTTP_HOST’]. str_replace(basename($_SERVER[‘SCRIPT_NAME’]),””,$_SERVER[‘SCRIPT_NAME’]);
  • $config[‘index_php’] – Konfigurasi ini berisi file yang menjadi frontcontroller. Konfigurasi ini berhubungan dengan base_url. Jika menggunakan .htaccess untuk mempercantik url maka isi variabel ini harus dikosongkan.
  • $config[‘uri_protocol’] – Konfigurasi ini bertujuan untuk menentukan bagaimana library URI bekerja. CodeIgniter dapat menangkap URI yang di berikan melalui 4 cara yaitu PATH_INFO, QUERY_STRING, REQUEST_URI dan ORIG_PATH_INFO. Masing-masing cara mempunyai kelebihan dan kekurangan masing-masing, bahkan tidak semua web server mendukung semua cara tersebut, oleh karena itu secara default digunakan pilihan auto. Tetapi jika aplikasi membutuhkan sesuatu yang lebih custom maka pemilihan metode URI secara langsung akan lebih baik. Lebih lanjut akan dibahas dibagian
  • $config[‘url_suffix’] – Konfigurasi ini bertujuan untuk menambahkan akhiran pada url. Contoh Anda mempunyai sebuah controller page, maka controller tersebut akan diakses melalui http://localhost/index.php/page, dengan menambahkan url_suffix berisi “html” maka url tadi dapat juga diakses melalui http://localhost/index.php/page.html.
  • $config[‘language’] – Secara default CodeIgniter sudah mendukung banyak bahasa/multy language. Kita dapat mengubah pesan-pesan yang ada di dalam CodeIgniter dengan bahasa yang kita kehendaki. Untuk mengubah bahasa tersebut cukup dengan mendownload paket bahasa yang diinginkan lalu uraikan di dalam direktori system/languages/[nama_lang] lalu Anda tinggal mengubah nama_lang di
  • $config[‘enable_hooks’] – Konfigurasi ini bertujuan mengaktifkan/menonaktifkan hook pada CodeIgniter. Hook dapat dikatakan event-event yang terjadi pada CodeIgniter, dimana kita bisa meletakkan fungsi di dalamnya. Hook akan bermanfaat sekali ketika Anda ingin mengubah perilaku CodeIgniter maupun untuk logging event. Contoh: Anda ingin mengubah urutan loading library dimana Anda sudah meng-extend library router untuk menggunakan database untuk aturan routing-nya. Artinya Anda harus meload library database sebelum library loader. Hal tersebut bisa dilakukan melalui
  • $config[‘subclass_prefix’] = ‘MY_’. Jika kita ingin mengubah/mengextend library CodeIgniter maka library tersebut harus memliki prefik yang sama dengan konfigurasi
  • $config[‘permitted_uri_chars’]. Konfigurasi ini bertujuan untuk keamanan CodeIgniter. Konfigurasi ini menentukan karakter apa saja yang bolah digunakan di dalam
  • $config[‘log_threshold’]. Konfigurasi ini menentukan bagaimana sistem logging CodeIgniter bekerja. Sistem logging ini sangat membantu dalam proses pengembangan terutama ketika debugging. Jika di set 0 maka tidak ada proses logging error di CodeIgniter. Jika di set 1 maka yang dicatat hanyalah pesan-pesan kesalahan yang termasuk kesalahan PHP. Jika di set 2 maka akan menampilkan semua pesan debug dan pesan kesalahan CodeIgniter dan PHP. Jika di set 3 maka logging-loging yang berisi informasi seperti sebuah library telah di load juga akan ditampilkan. Jika di set 4 maka semuanya akan dilog mulai dari error, pesan debug sampai yang bersifat
  • $config[‘log_path’]. Dikonfigurasi ini kita dapat menentukan dimana log akan diletakkan. Jika diisi kosong maka akan diletakkan di system/logs. Harus dingat Anda harus mengubah tingkat hak akses dari direktori tersebut menjadi dapat ditulisi / writeable jika kita menggunakan fasilitas