CyberPress.Sopron

(http://www.cyberpress.hu/)

Rovat: Dr. Bit

2002. április 16., kedd 07:33


Programozzunk együtt!

A CGI programozás alapjai I. - II.

CGI Programozás alapjai I.

A CGI programokat dinamikus weblapok esetében lehet felhasználni. Ebben az
esetben nem egy el?re megírt oldalt küld el a http szerver a kliensnek, hanem
a kérésre elindítja a megadott CGI programot, a program által adott kimenetet
pedig elkldi a kliensgépnek. Ilyen megoldással m?ködik pl. látogatottsági
számláló, vendégkönyv, keres?k, stb. A felhasználó gépén megjelen? oldal
részben vagy egészében a CGI program (a http szerveren át) küldött adatokat
tartalmazza.
A most következ?ket Linux alatt mutatom be, szerintem így talán a
legegyszer?bb, mivel általában az Apache http szervert sok disztribució
tartalmazza, nem kell a netról letöltögetni. A példák kipróbálásához el?ször
is szükségünk van egy m?köd? Linuxra + Apache szerverre. Ha mindkett?t
sikerült telepíteni, akkor ha beírjuk a böngész?be a localhost címet, akkor
valaminek meg kell jelennie - ez általában a készít?k üdvözlése. Ha ez nem
megy, akkor a szerver nem fut. Ellen?rizzük a helyes telepítést + olvassuk el
a dokumentációt! Elvileg az /usr/local/apache/bin/apachectl start paranccsal
tudjuk elindítani, de ez változhat egyes Linux kiadásokban (pl. SuSe.)
A CGI programokat az Apache könyvtárában lév? cgi-bin könyvtárba kell
helyezni. Itt van (rendszerint) néhány példaprogram (Perl, Shell-script, stb. )
is, érdemes ?ket áttanulmányozni - Megéri!
Most befejezésképpen annyit, hogy a Linux operációs rendszer, Apache web-szerver,
MySQL adatbázisszerver kit?n? környezetet ad bármiféle igény kielégítésére -
Nagyfokú stabilitás, testreszabhatóság, sebesség, stb jellemz? erre a
"hármasra".

A kés?bbiekben egy kicsit szeretném bemutatni a CGI programozás alapjait, de
korántsem tudok (és akarok) teljes mélységeibe merülni, koplett referenciát
nyújtani hozzá - akit érdekel a kérdés, annak ajánlom a netet: remek leírások,
dokumentáció vannak a témáról! (egyetlen hátrány talán az, hogy angolul) -
illetve hazai könyvkínálatot, sok könyv jelent meg e témában a közelmúltban.

Ezután az elméletibb "lecke" után ígérem, hogy a következ?ben megírjuk els?
CGI-nket!
 
 
  CGI Programozás alapjai II.

Nos, nézzünk egy példát: a progi egyszer?en kiír néhány HTML TAG-et,
ezt elküldi a http szerver, és a kilensen megjeleníti a böngész?.
A programot pl. vi -al megszerkesztve lefordítjuk, majd bemásoljuk
az Apache /cgi-bin könyvtárába, mondjuk "pelda1.cgi" néven. (Ellen?rizzük a
'x' - attribumot, enélkül nem végrehajtható):

/* pelda1.c - Alap CGI program */
#include

void main(void)
{
printf("Content-Type: text/htmlnn");

printf("Hello! Ez itt az elso CGI pelda!!!");

}
/* vege */

Ha most a böngész?be beírjuk a "http://localhost/cgi-bin/pelda1.cgi" címet,
akkor a "Hello! Ez itt az elso CGI pelda!!!" szöveget láthatjuk - ezt
a "lap"-ot már mi, egy CGI progi segítségével, dinamikusan hoztuk létre!