Instalace
Sna�il jsem se instalaci nanejv�� usnadnit a aby se daly ve�ker� d�le�it�
vlastnosti C-SaCzechu nastavit �i p�isp�sobit. Program vznikal v prost�ed�
opera�n�ho syst�mu Unix a d�le popisovan� postup instalace p�edpokl�d�, �e
bude provozov�n v tomto syst�mu. Jeho p�enesen�
do jin�ho prost�ed� je sice principi�ln� mo�n�, ale
naraz�me na mno�stv� probl�m�.
Distribuce programu je ulo�ena v souboru csaczechXX.tar.gz (kde XX
je ��slo verze), kter� m��ete z�skat na URL
http://www.fi.muni.cz/~dolecek/c-saczech/src/
Distribuci je t�eba rozbalit pou�it�m p��kazu
gunzip < csaczechXX.tar.gz | tar xvf -
Soubory budou rozbaleny do podadres��e csaczechXX. Pot� n�sleduje f�ze
p�izp�soben� va�im konkr�tn�m podm�nk�m. Ve�ker� z�sahy se t�kaj� souboru
makeit, kter� je sou��st� distribuce.
V tomto souboru n�sleduj� prom�nn�, jejich� hodnoty mo�n� uzn�te za
vhodn� zm�nit. Jsou to:
- Prom�nn� ovliv�uj�c� chov�n� budouc�ho C-SaCzechu:
- SHELLPATH
- m�la by obsahovat p��kaz (v�etn� cesty), kter�m se spust�
n�jak� Unix shell. V tomto shellu bude zpracov�n
whichcode. Uve�te proto takovou cestu k shellu,
kterou mohou pou��t CGI skripty (pokud v� server p�i spu�t�n�
m�n� ko�en syst�mu soubor�, m��e se li�it od obvykl� cesty;
to plat� nap�. i v p��pad�, kdy WWW server b�� na jin�m
po��ta�i ne� jsou WWW str�nky). Doporu�uji pou��t shell
sh, ksh, bash, nebo zsh, pro ty byl
whichcode otestov�n, �e korektn� funguje.
- Default - /bin/sh.
- DEFSOURCE
- Implicitn� k�dov�n� zdrojov�ch text� str�nek. Zde uve�te k�dov�n�, ve
kter�m bude pravd�podobn� vytvo�ena v�t�ina Va�ich str�nek. Jestli�e
si str�nka nep�edep��e zdrojov� k�d, bude jako v�choz� pro jej�
p�ek�dov�n� pou�it tento k�d. Platn� n�zvy k�d� zjist�te
prohl�dnut�m souboru nazvy. Ned�l� se rozd�l mezi
velk�mi a mal�mi p�smeny.
- Default - ISO-8859-2.
- CGIPATH
- Cesta k CGI skript�m. Obsahem t�to prom�nn� by m�l b�t za��tek cesty
(��st uv�d�n� bezprost�edn� za jm�nem serveru), kter� povede ke
konverzn�m skript�m. Jestli�e konverzn� skripty ulo��te do obecn�ho
adres��e, obsahuj�c�ho ostatn� CGI skripty a budete se na n�
odkazovat pomoc� URL
http://www.kdesi.cz/cgi-bin/toASCII
a podobn�, ponechte implicitn� hodnotu "/cgi-bin".
Cestu uv�d�jte bez z�v�re�n�ho zp�tn�ho lom�tka.
- Default - /cgi-bin
- CGISUFFIX
- P��pona CGI skirpt�. Pokud v� server vy�aduje, aby CGI skripty byly
vyzna�ov�ny ur�itou konkr�tn� p��ponou (nej�ast�ji .cgi), uve�te
ji jako hodnotu t�to prom�nn�. Je-li server dostate�n� inteligentn� na
to, aby poznal CGI skript podle cesty, doporu�uji ponechat jako hodnotu
prom�nn� pr�zdn� �et�zec.
- Default - nenastaveno.
- GETMETHOD
- Zp�sob, kter�m m� C-SaCzech z�sk�vat k�dovan� texty. M��ete si vybrat jednu
z n�sleduj�c�ch alternativ (mus� b�t vyps�no mal�mi p�smeny):
- file
- Soubory budou vyzved�v�ny p��mo ze syst�mu soubor� po��ta�e. Tento
zp�sob je efektivn�, ale umo��uje k�dovat jen texty, kter� jsou
p��tomny v podob� soubor�. Nelze nap�. k�dovat v�stupy z CGI
skript�.
- http
- V tomto re�imu pr�ce C-SaCzech z�sk�v� k�dovan� dokumenty od sv�ho
serveru prost�ednictv�m HTTP protokolu. Tedy zahraje si na WWW
klienta, odstran� sv� vlastn� jm�no z dotazu, kter� mu byl polo�en,
a polo�� serveru tento modifikovan� dotaz. Data, kter� z�sk� jako
odpov��, posoud� a bu� p�ek�duje (jestli�e se jedn� o text, p�esn�ji
MIME typ text/html nebo text/plain) nebo propust�
beze zm�ny.
Tento zp�sob je podstatn� m�n� efektivn� (obslou�en� ka�d�ho dotazu
vyvol�v� jeden dotaz nav�c), umo��uje v�ak p�ek�dovat v�e, co je na
serveru k dispozici - v�etn� v�stup� z CGI skript�.
Zvol�te-li tuto variantu, nem� ��dn� v�znam nastaven� prom�nn�
DEFAULTFILE a p��znak�
TIMESERVICES a IFMODIFIEDSINCE.
- guess
- C-SaCzech se pokus� automaticky ur�it pro ka�d� dotaz, kterou z v��e
uveden�ch metod m� pou��t. Vyu��v� k tomu hodnotu prom�nn�
CGIPATH. Jestli�e je za��tek
cesty ke k�dovan� informaci (��st URL, uveden� za vol�n�m skriptu)
shodn� s CGIPATH, pou��je pro z�sk�n� dokumentu HTTP. V
opa�n�m p��pad� jej vyzvedne p��mo ze syst�mu soubor�.
Metoda GUESS se sna�� o rozumn� kompromis mezi p�edchoz�mi
alternativami. Ur�en�, kdy pou��t kter� zp�sob, v�ak rozhodn� nen�
dokonal�.
- Default - GUESS.
- DEFAULTFILE
- Obsahuje jm�no souboru, kter� m� b�t u�ivateli p�edlo�en, pokud zad�
pouh� jm�no adres��e. V�t�inou se pro tento ��el pou��v�
index.html. Pokud u�ivatel po�aduje /texty/, ve
skute�nosti obdr�� /texty/index.html.
- Default - index.html.
- TIMESERVICES
- Jedn� se o prvn� z p��znak�. Vypnuto = nem� ��dn� obsah, zapnuto
jinak. P��znak
TIMESERVICES ud�v�, zda se lze spolehnout v�sledky funkce
stat programovac�ho jazyka C, kterou C-SaCzech vyu��v� pro
z�sk�n� informac� o velikosti a dob� vzniku souboru.
- Default - nastaveno.
- IFMODIFIEDSINCE
- M� skript reagovat na hlavi�ku If-Modified-Since? Pokud v�mi
pou��van� server nep�ed�v� CGI skript�m informace z HTTP hlavi�ek dotazu
(v prom�nn�ch prost�ed� HTTP_hlavi�ka),
nedost�v� C-SaCzech
pot�ebn� informace. V takov�m p��pad� volbu vypn�te.
- Default - nastaveno.
- DECODEQUERY
- Pokud nechcete, aby C-SaCzech p�ek�dov�val i parametr z p��kazov�
��dky, tuto promennou nedefinujte.
- Default - nastaveno.
- ADDBAR
- Pokud je nastavena tato prom�nn�, C-SaCzech bude reagovat
na text <!--BAR--> (pop�.<!--BAR E-->)
tak, �e v dan�m m�st� vyp��e text, umo��uj�c� zm�nu k�dov�n�
dokumentu; podle toho, kter� varianta je pou�ita,
dopln� bu� �eskou hlavi�ku a z�v�r (obsah prom�nn�ch
HEADBARTEX a TAILBARTEXT), nebo
anglick� (EHEADBARTEX a ETAILBARTEXT).
- Default - nastaveno.
- ALLWAYSADDBAR
- Pokud je tato prom�nn� nastavena, C-SaCzech vyp��e li�tu v�dy;
pokud text neobsahuje �et�zec <!--BAR-->, vyp��e
ji na konci dokumentu. Samoz�ejm� pouze tehdy, pokud dan�
dokument p�ek�dov�v� (tak�e obr�zky jsou v pohod�).
- Default - nastaveno.
- LONGNAMEBAR
- Pokud je nastavena, v nab�dce k�dov�n� se zobraz� cel� jm�na
k�d� a ne pouze trojp�smenn� zkratky.
- Default - nenastaveno.
- HEADBARTEXT, EHEADBARTEXT
- Text, kter� se vyp��e p�ed li�tu s nab�dkou p�ek�dov�n�.
HEADBARTEXT se vyp��e v �esk� verzi, EHEADBARTEXT
v anglick�.
- Default - viz makeit.
- TAILBARTEXT, ETAILBARTEXT
- Text, kter� se vyp��e za li�tu s nab�dkou p�ek�dov�n�. Standartn�
je to "<HR>", tedy vodorovn� linka.
Op�t TAILBARTEXT je pro �eskou li�tu,
ETAILBARTEXT pro anglickou.
- Default - "<HR>".
- ADDWHICHCODE
- Pokud je nastavena, v automaticky generovan� nab�dce k�dov�n�
se zobraz� i obsah
prom�nn� BARWHICHCODENAME, kter� bude odkazem na
volbu pomoc� standartn�ho whichcode.
M� smysl pouze tehdy, pokud je nastaveno ADDBAR
.
- Default - nastaveno.
- BARWHICHCODENAME
- Text, kter� se vyp��e do li�ty.
- Default - "whichcode".
- MULTIPART
- Nastaven�m t�to prom�nn� bude zkompilovan� C-SaCzech podporovat
v�ce r�zn�ch dokumen� v jednom dokumentu; jak to funguje
se m��ete pod�vat na tyto p��klady.
C-SaCzech bude reagovat na <--PART XXXXX-->
odpov�daj�c�m tak, �e podle n�zvu zjist�, zda m� danou
��st vypsat (pokud byl spu�t�n jako nap�. toASCII.eng.cgi,
bude vypisovat ��sti <--PART eng-->).
- Default - nastaveno.
- Prom�nn� pou��van� pouze v �ase kompilace:
- CC
- Tato prom�nn� obsahuje jm�no kompil�toru, kter� bude pou�it
pro vytvo�en� spustiteln�ho C-SaCzechu. cc je standartn�
a programy j�m zkompilovan� by m�ly b�et bez probl�m�.
gcc je lep��, ale n�kter� WWW servery odm�taj� spustit
j�m zkompilovan� programy. Na syst�mech BSD/OS
se pou��v� shlicc.
- LINK
- Tuto prom�nnou je t�eba definovat na syst�mech, kter� standartn�
nep�ilinkov�vaj� knihovny socket a nsl.
Podle m�ch zku�enost� je t�eba knihovny p�ilinkovat
na t�chto syst�mech:
SunOs, SCO Unix
naopak nen� t�eba na:
BSD/OS, Linux, IRIX
Pokud zkus�te zkompilovat C-SaCzech a kompil�tor vyp��e
zpr�vu "undefined" a dlouh� seznam jmen,
je t�eba ka�dop�dn� tyto knihovny nalinkovat. Pokud by
ani to nepomohlo (co� by u� bylo v�n�) nebo by
se vyskytly jin� probl�my, st�le je�t� m��ete
kontaktovat autora, kter�
se vynasna�� pomoci.
- COMPILESOURCE, CONSTSOURCE, COMPILETARGET
- Slou�� jen pro snadn�j�� zm�nu konfigurace skriptu makeit.
COMPILESOURCE obsahuje jm�no souboru, kter� se bude
p�ekl�dat, CONSTSOURCE jm�no souboru s kontantami
(tento soubor je skriptem makeit
m�n�n podle nastaven� prom�nn�ch popsan�ch v prvn� ��sti).
Prom�nn� COMPILETARGET se pou�ije pro ur�en�
jm�na zkompilovan�ho souboru. Soubor $COMPILESOURCE se zkompiluje
na to$COMPILETARGET$CGISUFFIX.
Soubor whichcode.src slou�� instala�n�mu skriptu makeit jako
z�klad pro budouc� skript whichcode, nab�zej�c� u�ivateli volbu k�du.
T�m je ukon�ena konfigura�n� f�ze. Jako dal�� krok spus�te
./makeit
Jeho v�sledkem bude zkompilovan� to$COMPILETARGET a ostatn�
soubory toXXXX, kter� jsou symbolick� odkazy na tento soubor a
spustiteln� whichcode.
Je vhodn� nav�c pro skript whichcode zav�st synonyma
to__CHARSET__ a to, pokud odkaz na n�kter� k�dovan�
soubor nepro�el C-SaCzechem nebo j�m pro�el se ztr�tou typu
c�lov�ho k�dov�n�. P�i standartn� instalaci se tedy je�t� vytvo��
soubory to__CHARSET__, to, kter� jsou
odkazy (linky) na skript whichcode.
V�echny tyto soubory
p�esu�te do adres��e s CGI skripty tak, aby jejich um�st�n� vyhovovalo
identifikaci, uveden� ve v��e zmi�ovan� prom�nn�
CGIPATH -
nap��klad
mv to* whichcode /www/cgi-bin/
T�m je instalace ukon�ena.
P�enos do jin�ho opera�n�ho syst�mu
Potenci�ln� p�enos na jin� OS ne� Unix nen� tak jednoduch� jako
u p�vodn�ho
SaCzechu. Mus� se toti� zajistit, aby fungovaly na dan�m OS sockety,
co� nemus� b�t a� tak trivi�ln�
(na MSDOSu nev�m , ve Woknouz by to mo�n� sta�il Winsock)
a adekv�tn� zm�nit
n�zvy soubor�, kter� se maj� "inkl�dnout".
Pokud jsou v c�lov�m syst�mu jin� odd�lova�e jmen soubor�, je
t�eba je tak� adekv�tn� zm�nit ve zdrojov�m csaczechXX.c.
Tak� by se musel p�ed�lat skript makeit, aby korektn�
fungoval i pod nov�m opera�n�m syst�mem. D�le plat� to
co u SaCzechu:
Je t�eba rozbalit distribu�n� soubor, ale tar a GNU zip jsou
dostupn� pro lecjak� syst�my.
Potenci�ln�mi zdroji probl�m� mohou d�le b�t:
- Dlouh� jm�na soubor�.
- Zp�sob vol�n� shellu ve whichcode.
V Unixu je program, kter� m� zpracov�vat
doty�n� soubor, identifikov�n jeho prvn�m ��dkem ve form�tu
#!program. V�bec netu��m, zda se v MS-Windows NT �i
n��em podobn�m d� tato informace zakomponovat p��mo do
interpretovan�ho souboru a jak se tam vlastn� spou�t�j� CGI skripty.
- Pou�it� funkce chmod(). Ta se v C-SaCzechu pou��v�
v instala�n�m skriptu makeit k ozna�en�,
�e whichcode je spustiteln�. V jin�m prost�ed� budete
pravd�podobn� muset spustitelnost vznikl�ho skriptu
whichcode vyzna�it jinak.
Zp�t
Tato str�nka je sou��st� dokumentace programu
C-SaCzech.