CGI
adalah singkatan dari Common Gateway Interface, adalah cara sebuah
webpage dapat memanggil
atau menjalankan aplikasi pada server tempat ia berada dan menampilkan hasil
dari program tersebut kembali pada webpage.
Aplikasi yang biasanya dijalankan adalah program yang dibikin pake PERL atau pake C kalau servernya UNIX, dan EXE atau DLL kalau servernya Windows NT.
Karena sifatnya adalah program yang dijalankan pada server, maka kamu musti minta izin dari pemilik server supaya dikasih hak "execute" untuk directory
dimana rencananya program cgi tersebut mau di upload.
atau menjalankan aplikasi pada server tempat ia berada dan menampilkan hasil
dari program tersebut kembali pada webpage.
Aplikasi yang biasanya dijalankan adalah program yang dibikin pake PERL atau pake C kalau servernya UNIX, dan EXE atau DLL kalau servernya Windows NT.
Karena sifatnya adalah program yang dijalankan pada server, maka kamu musti minta izin dari pemilik server supaya dikasih hak "execute" untuk directory
dimana rencananya program cgi tersebut mau di upload.
Ini
adalah bagan sederhana yang menjelaskan cara kerja CGI
/==========\
========== +------------+ | dokumen/ |
= client =<----->| Web Server |<---->| program |
========== +------------+ | CGI |
\==========/
Client
(dalam hal ini program yang mengakses suatu web site) akan menghubungi web
server (HTTP server) dan meminta informasi darinya, web server akan memberikan
informasi yang diminta oleh client. Informasi yang diminta oleh client ini
bermacam-macam, jika yang diminta adalah dokumen biasa (file .html atau .txt
misalnya ) maka web server akan membaca dokumen yang dimaksud dan memberikannya
ke client. Jika client meminta agar server memberikan hasil suatu program
(misalnya hasil pencarian) maka web server akan mengeksekusi program CGI dan
memberikan pada program itu data yang dikirim client (misalnya kata apa yang
hendak di cari) keluaran (output) program akan diterima oleh web server
dan disampaikan kepada client.
Program
hanya perlu menerima data dari web server mengolahnya dan mengembalikan
hasilnya ke web server. Program menerima data dalam bentuk environment
variable atau dalam bentuk data dari standard input, dan
memberikan hasilnya dengan menuliskannya ke standard output Tadi
sudah disebutkan bahwa program CGI bisa ditulis dalam bahasa pemrograman apa
saja, lebih tepatnya lagi : bahasa pemrograman apa saja yang bisa membaca environment
variable dan bisa membaca dari standard input dan
menulis ke standard output. Penulis sendiri baru mencoba membuat
CGI dalam shell script (CGI sederhana), C, dan Perl. Artikel ini hanya akan
menjelaskan pembuatan CGI dengan Perl, Perl dipilih karena bahasa ini lebih
mudah dipakai untuk mengolah teks. Sebenarnya Perl memiliki kerumitan (kompleksitas)
yang luar biasa, namun artikel hanya akan memakai sebagian kecil kemampuannya
agar penjelasannya lebih sederhana.
Pengetahuan dasar yang diperlukan
Ada
beberapa hal dasar yang perlu Anda ketahui sebelum Anda mencobanya;
- Pengetahuan
bahasa HTML, bukan sekedar membuat halaman web dengan program, Anda harus
tahu tentang tag-tag HTML, terutama pembuatan form
- pengetahuan
untuk memakai program FTP, Anda harus tahu mode ASCII dan BINARY untuk
mengupload/download file, tahu bagaimana meng-CHMOD suatu file, yang ini
bisa dikonsultasikan ke help program FTP yang Anda pakai.
Web Server
Kamu
perlu web server untuk meng-upload CGI Kamu.
- Mencari
webhosting yang mendukung CGI
- Tidak
semua Webhosting ( tentunya yang gratisan doong... ) menyediakan
tempat untuk script CGI. Beberapa web hosting yang mengijinkan hal
tersebut : hypermart, virtualave, tripod, freedom to surf (semuanya
tidak mengijinkan akses dengan telnet). Kebetulan yang saya pakai adalah
Virtual Ave.
- Mengkonfigurasi
CGI
Langkah untuk mengatur konfigurasi webserver sangat
tergantung pada server yang Anda pilih dan sistem operasi yang Anda gunakan,
jadi tidak akan dijelaskan di sini. Saran saya Anda sebaiknya menggunakan
sistem operasi varian Unix dengan Apache sebagai webservernya. Apache
merupakan webserver yang paling banyak dipakai (53% web server di internet
memakai Apache). Jika Anda memiliki pertanyaan mengenai bagian ini, saya hanya
bisa menjawab jika sistem operasi Anda adalah varian unix (terutama Linux)
dengan Apache sebagai webservernya.
Jika
Anda memakai fasilitas web hosting baik yang gratis maupun yang tidak, Anda
perlu tahu ketentuan mengenai setting untuk program CGI Anda. Lebih tepatnya
lagi, Anda perlu tahu:
- Di mana
letak interpreter Perl di server itu
Biasanya letaknya di /usr/local/bin/perl (perl 5) atau /usr/bin/perl (perl 4) tapi di server Anda letaknya mungkin saja berbeda - apa path
lengkap ke ke direktori kamu.
- Apakah
Anda boleh meng-override setting global
Jika boleh (dalam arti Anda boleh menentukan file apa saja yang harus dianggap sebagai program CGI) Anda tinggal meng-override setting ini dan bisa melupakan butir-butir berikutnya. - Di mana
CGI Anda harus diletakkan
Apakah CGI harus ada di direktori tertentu (cgi-bin misalnya) atau boleh di mana saja. - Apakah
aplikasi CGI Anda harus berekstensi tertentu
Apakah aplikasi CGI Anda harus berekstensi .cgi, .pl atau boleh yang lain?
Semua
hal tersebut bisa ditanyakan ke costumer service perusahaan web hosting yang
dimaksud, atau kemungkinan besar hal itu sudah ada di web site mereka dan Anda
tinggal membacanya.
Mengenal SSI (Server Side Includes)
SSI
merupakan feature yang ada di web server yang memungkinkan
kita menyisipkan berbagai perintah ke dalam dokumen .html kita (biasanya
ekstensinya diganti menjadi .shtml untuk menyatakan bahwa dokumen itu
sebenarnya adalah dokumen SSI). Perintah yang disisipkan akan di proses oleh
web server sebelum dikirimkan ke client. Perintah-perintah ini ada banyak, ada
yang untuk menyisipkan suatu file ke dalam file lain, untuk menjalankan suatu
perintah, menampilkan waktu update dokumen terakhir, dan ada yang untuk
menjalankan suatu program CGI.
Saat
ini saya hanya akan menjelaskan yang terakhir saya sebutkan di atas:
menjalankan program CGI dan menyisipkan hasilnya dalam dokumen. Untuk melakukan
hal-hal yang akan saya jelaskan berikut ini, server Anda harus mendukung SSI
dan dukungan itu harus di aktifkan.
Tidak ada komentar:
Posting Komentar