C-SaCzech 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:


ZPET Zp�t

Tato str�nka je sou��st� dokumentace programu C-SaCzech.