|
Instalace CSáčku
Tento dokument podrobně popisuje, jak (zkompilovat a) nainstalovat CSáček.
Na unixech se využívá GNU autoconf ke zjištění vlastností systému.
Kompilace by tedy měla proběhnout bez větších problémů na kterémkoli
modernějším unixovém systému. Pro MS Windows NT je CSáček
k dispozici v už zkompilované formě, i když ani na Windows by
případné překompilování CGI CSáčku nemělo činit větší potíže.
Postup instalace:
- Unix a unix-like systémy
- MS Windows NT
Unix - CGI mutace
Pro účely testování bezproblémové kompilace a funkce mám přístup
na tyto operační systémy:
NetBSD/i386 (1.3.2, 1.4.x),
Linux/i386 (2.0.20),
Solaris/sparc (2.5, SunOS 4),
Digital Unix OSF/alpha (4.0),
AIX/rs6000 (4.2),
IRIX/mips (6.2, 6.4, 6.5.1), někdy
i HP-UX.
Čas od času vyrobím binárky CGI CSáčku pro některé z nich, jsou pak
k dispozici na adrese.
http://www.csacek.cz/distrib/bin/cgi/unix/. Popis instalace je přiložen přímo k nim.
Obvykle je tedy nutno na Unixu CSáček zkompilovat ze zdrojových souborů.
V ideálním případě stačí rozbalit distribuční soubor
csacek-VERZE.tar.gz, přejít do adresáře, který se tak
vytvoří a zadat:
./configure
Skript configure ověřuje vlastnosti systému a vygeneruje
příslušné hlavičkové soubory a soubor Makefile. Skript
configure akceptuje několik parametrů, kterými lze ovlivnit
některé vlasnosti výsledného CSáčku. Popis významu jednotlivývh parametrů viz
níže.
Po skončení configure je třeba zadat:
make
a počkat, až se CSáček zkompiluje. V podadresáři compile/
se vytvoří binárka a potřebné symbolické linky na ni. Po dokončení
kompilace je třeba celý obsah adresáře compile/ přesunout
do adresáře na WWW serveru, ve kterém máte ostatní CGI skripty tak,
aby se na CSáček dalo odkazovat. Můžete ověřit funkci CSáčku
pokusným http://www.vas-server.cz/cgi-bin/toASCII/. Pokud
se stránka zobrazí v pořádku, tato část instalace je hotova.
Pro rozchození whichcode
je ještě nutno nainstalovat jeho šablonu. Jedná se o soubor
whichcode_template.html v podadresáři templates/.
Tento soubor je nutno zkopírovat do adresáře /www/csacek.
Lze použít i jiný adresář, pokud jeho jméno předáte CSáčku
při kompilaci přes parametr
--with-templatedir. Šablonu lze umístit
i přímo do adresáře, kde jsou umístěny binárky CGI CSáčku - pokud
CSáček nenalezne šablonu ve výše uvedeném adresáři, pokusí
se jen otevřít v aktuálním adresáři. Většina WWW serverů
nastavuje aktuální adresář pro spouštěné CGI skripty právě
na adresář, kde je daný skript umístěn, takže to může zafungovat.
Ještě ověřit funčnost testovacím
http://www.vas-server.cz/cgi-bin/whichcode/ a instalace
je hotova.
Zpět
Unix - FastCGI mutace
V první řadě musí FastCGI podporovat server a je nutno nainstalovat
FastCGI Developer's Kit, aby byla dostupná knihovna fcgi a hlavičkové
soubory. Popis a rozchození FastCGI je mimo záběr tohoto dokumentu;
informace o něm viz
domácí stránka FastCGI.
Skript configure je třeba volat s
parametrem
--with-target=FastCGI, jinak by se zkompilovat obyčejný
CGI CSáček.
Pokud je FastCGI knihovna nainstalována na nějakém nestandardním místě
(za "standardní" se považuje /usr/lib; na Linuxu ještě
/lib a na BSDi /shlib), je třeba skriptu
configure předat informaci o jejím umístění přes proměnnou
prostředí LIBS - je jej třeba volat takto:
LIBS="-L/adresar/s/libfcgi" ./configure --with-target=FastCGI
Pokud je knihovna v některém ze "standardních" adresářů, počáteční
LIBS="-L...." není samozřejmě třeba psát.
Dále instalace postupuje stejně jako u CGI.
Zpět
Unix - Apache modul
CSáček funguje bez nutnosti patchovat server na Apache řady
1.1 (testováno na 1.1.1), 1.2 (testováno na 1.2.4 a 1.2.6) a 1.3
(testováno převážně na 1.3.1 a 1.3.9).
Pod Apache 1.1.X nebyl CSáček nikdy testován v žádném
"opravdovém" provozu (alespoň ne autorem). Měl by pod ním
však fungovat přinejmenším stejně dobře jako pod 1.2.X.
Na Apache 1.2.4 byl Apache CSáček vyvíjen a probíhala na něm
většina úvodních testů. Nasazení CSáčku na Apache řady 1.2.X by
tedy nemělo způsobit žádný problém. Autorovi nejsou známy
žádné problémy specifické pro CSáčka na Apache 1.2.X.
V současnosti je CSáček přednostně odlaďován na Apache 1.3.1
popř. 1.3.9. Množství spokojených uživatelů CSáčku na Apache
řady 1.3 ukazuje, že i zde je CSáček velmi stabilní a dobrá
volba. CSáček je například jediný češtinářský modul, který
lze bez úprav serveru používat jako DSO modul.
Postup instalace je podobný jako v případě mutace
CGI a FastCGI,
jen je skript configure třeba spustit
s parametrem --with-target=Apache:
./configure --with-target=Apache
Nastavení ostatních parametrů není u Apache modulu tak
důležité, protože většinu z nich lze nastavit v konfiguraci
WWW serveru, nez nutnosti rekompilace modulu.
Příkazem make se vytvoří soubor mod_csacek.c.
Další postup se liší podle verze Apache, který používáte:
Po vlastní kompilaci serveru či
modulu je třeba ještě nainstalovat šablonu pro csáčkovské
whichcode.
Jedná se o soubor whichcode_template.html,
je v podadresáři templates/ v adresáři s rozbaleným CSáčkem. Defaultně
CSáček tuto šablonu hledá v adresáři /www/csacek/.
Pokud ji chcete umístit jinam, jméno adresáře se dá
změnit konfigurační direktivou
csacekTemplateDir.
Pokud používáte jako operační
systém RedHat či odvozený systém a Apache 1.3.X máte z RPM, je třeba
defaultní konfiguraci serveru přece jen ještě mírně doplnit.
Konfigurace z RPM
používá direktivy ClearModuleList a AddModule proto,
aby se zbytečně neaktivovaly moduly, které nejsou používány.
Do seznamu AddModule direktiv je nutné přidat jednu
pro CSáček, aby se i on aktivoval - jinak nebude funční. Na konec
seznamu je tedy třeba přidat
AddModule mod_csacek.c
Tím instalace Apache CSáčku končí a můžete si
už jen užívat komfortu, který vám CSáček nabízí ;-)
Zpět
Unix - Apache 1.1.X a 1.2.X
U Apache 1.1.X a 1.2.X se CSáček musí zakompilovat do serveru.
Je nutné mít k dispozici zdrojový kód serveru Apache
a bude třeba mírně upravit konfigurační soubor pro kompilaci
Apache
Nejdřív je třeba překopírovat nebo nalinkovat soubor
mod_csacek.c do adresáře se zdrojovým kódem Apache.
Pak do souboru Configuration přidat direktivu:
Module csacek_module mod_csacek.o
CSáček musí být poslední uvedený modul, jinak hrozí
problémy.
Pokud se při vytváření souboru mod_csacek.c programem
make vypsalo:
Pouziva se systemova knihovna: -lz
je ji nutné přidat do EXTRA_LIBS, tj. v Configuration
musí být uvedeno něco jako:
EXTRA_LIBS= -lz
Dále je třeba zajistit, aby se při kompilaci mod_csacek.c
našly CSáčkovské hlavičkové soubory. Nejjednodušší cesta je
modifikace CFLAGS (Apache 1.1.X) nebo EXTRA_CFLAGS
(Apache 1.2.X) v souboru Configuration tak, aby obsahoval
-I/adresar/kde/je/rozbalen/CSacek
Nyní se postupuje už klasickým způsobem, spustí se apachovský skript
./Configure, který vygeneruje to, co je třeba. Následné
make pak zkompiluje server. Výslednou binárku je třeba
přemístit na své místo a WWW server je možné nastartovat.
Po rozchození whichcode je instalace hotova.
Pokud používáte RedHat, prosím přečtěte si tuto
poznámku ke konfiguraci.
Apache CSáček se dá dále konfigurovat několika direktivami,
přehled je uveden jinde.
Zpět
Unix - Apache 1.3.X - DSO
Jednoznačně nejpohodlnější a preferovaná cesta, jak dostat CSáček
na server. CSáček se jako dynamicky nahrávaný modul zkompiluje
pomocí nástroje apxs, který je součástí Apache 1.3.
Pokud je apxs v cestě při spuštění csáčkovského
configure, při následném make se automaticky
spustí a vytvoří příslušný soubor mod_csacek.so.
Jinak se jen vypíše, jakým způsobem se má apxs volat
a musíte to udělat "ručně" sami.
Výsledný soubor mod_csacek.so přesunete do adresáře
s ostatními dynamickými moduly. Pak je třeba do konfigurace
serveru přidat direktivu
LoadModule csacek_module /cesta/k/modulum/mod_csacek.so
Cestu není potřeba zadávat v případě, že je modul umístěn
ve standardním adresáři.
Nyní stačí už jen rozchodit whichcode
a instalace je hotova.
Pokud používáte RedHat, prosím přečtěte si tuto
poznámku ke konfiguraci.
Zpět
Unix - Apache 1.3.X - statický
Zakompilovat CSáček do serveru způsobem podobným jako pod Apache
1.1.X nebo 1.2.X lze samozřejmě i u Apache 1.3.X. Je to ale
ta obtížnější a méně flexibilní cesta, za normálních okolností
pravděpodobně použijete CSáček jako
DSO modul.
Postup instalace je víceméně shodný jako u
Apache 1.2.X, jen je lepší
soubor mod_csacek.c nakopírovat nebo nalinkovat do
adresáře .../apache_1.3.X/src/modules/extra/ a
direktiva v apachovském Configuration
musí být
AddModule modules/extra/mod_csacek.o
místo Module. Opět platí, že CSáček by měl být
uveden jako poslední modul, jinak si koledujete o problémy.
Obsah EXTRA_LIBS a EXTRA_CFLAGS
je třeba upravit tak, jak je uvedeno u
popisu kompilace pod Apache 1.2.X.
Druhá možnost je přidat CSáček do serveru bez přímé editace
souboru Configuration. Při spuštění APACI configure
přidáte parametr
--add-module=src/modules/extra/mod_csacek.c
a skript zajisti vložení a zakompilování modulu. Není ale možné
nijak specifikovat extra adresáře s hlavičkovými soubory, takže
při tomto postupu je třeba do adresáře
.../src/modules/extra/ kromě mod_csacek.c
zkopírovat i všechny CSáčkovské hlavičkové soubory.
Pak se příkazem make zkompiluje server a je možno
ho restartovat. Stačí jen
rozchodit whichcode a instalace je hotova.
Pokud používáte RedHat, prosím přečtěte si tuto
poznámku ke konfiguraci.
Apache CSáček se dá dále konfigurovat několika direktivami,
přehled je uveden jinde.
Zpět
Parametry skriptu configure
- --without-gcc
- Nepoužije se gcc, i když je na systému k dispozici.
- --with-templatedir=PATH
- Určuje plnou cestu k adresáři se šablonami; cesta musí být
uvedena tak, jak je na souborovém systému, nikoli WWW URL.
Pod Apache lze tuto hodnotu nastavit také konfigurační
direktivou csacekTemplateDir.
Default: /www/csacek
- --with-server-charset=KOD
- KOD bude nastaven jako defaultní kódování serveru -
tato hodnota
se použije pri překódování stránek, které nemají označeno
sve kódování; vstup od uživatele bude také překódován do tohoto
kódování. Pod Apache lze pouzit k nastavení téhož direktivu
csacekDefaultCharset.
Povolené hodnoty: např. iso-8859-2, windows-1250,
CP852, Mac, koi8-r (viz
pole cstools_itab[] v cstools.c)
Default: iso-8859-2
- --with-debug[=LEVEL]
- Zapíná ladění CSáčku a pořizování záznamu o tom, co CSáček
při běhu dělá. Výstupní soubory jsou
/tmp/csacek_``PID''_``PORADOVE_CISLO''.
- --with-target=MUTACE
- Mutace, kterou chcete kompilovat.
Povolené hodnoty: Apache, CGI, FastCGI
Default: CGI
- --disable-decodequery
- Pomocí tohoto parametru lze vypnout překódovávání dat poslaných
klientem do kódování serveru. U Apache CSáčku lze použít
k témuž direktivu csacekRecodeInput Off.
- --disable-compression
- Nezakompilovat podporu pro kompresi. V případě, že je tento
parametr uveden, CSáček se zkompiluje bez kódu pro kompresi.
V případě, že tento parametr není uveden, u Apache CSáčku
se dá direktivou csacekCompress komprese
zapnout nebo vypnout.
- --with-cmdtag=X
- Určuje znak označující CSáček "tag".
Default: ?
- --program-suffix=SUFFIX
- Má význam pouze pro (Fast)CGI.
Pomocí tohoto parametru lze zařídit, aby generované skripty
měly nějakou příponu (nejčastěji .cgi).
- --with-method=METODA
- Má význam jen pro (Fast)CGI.
Metoda, kterou se budou stránky vyzvedávat. http je
jistota, ale může být zbytečně pomalá. guess se snaží
uhádnout, jestli je daný
soubor obyčejné HTML. Pokud ano, dokument předá přímo, jinak
použije metodu http (tj. obsah dokumentu získá
dalším požadavkem na server).
Metoda file je nyni ekvivalentní s guess
a je zachována jen kvůli kompatibilitě se starším CSáčkem
a SaCzechem.
Povolené hodnoty: guess, http, file
Default: guess
- --with-partlist="CASTI"
- Má význam jen pro (Fast)CGI.
Názvy částí se použijí při generování jednotlivých linků.
Pro každou část se vygeneruje přislušná sada toXXX.CAST.
Default: "cs en"
- --disable-secure
- Má význam pouze pro (Fast)CGI, pod Apache se použijí standardní
bezpečnostní mechanismy serveru.
CSáček normálně testuje, zda někde "po cestě" k souboru,
o který byl požádán, není soubor .htaccess nebo
.nsconfig. Tento soubor slouží
k nastavování konfigurace pro daný podstrom na WWW serveru -
např. přístupových práv.
Pokud onen soubor nalezne, pro vyzvednutí dokumenu použije
metodu http. Tímto parametrem lze toto chovani potlačit.
- --disable-symlink
- Má význam pouze pro (Fast)CGI.
Může se vyskytnout sitace, kdy nelze použít symlinky. Pokud
je uvedena tato volba, jednotlivé soubory se
kopírují místo linkování.
Zpět
MS Windows NT - CGI
Je třeba stáhnout binární distribuci pro MS Windows NT z adresy
http://www.csacek.cz/distrib/bin/cgi/
a soubor rozbalit.
Pro instalaci binární distribuce slouží skript install_cgi.bat.
Je třeba ho spustit z adresáře, kde je binární distribuce
rozbalena. Akceptuje jediný parametr - jméno adresáře,
kde jsou umístěny CGI skripty a kam se mají po rozkopírování dát
csáčkovské bináky (toXXX, whichcode*). Pokud
tento adresář ve chvíli, kdy je instalační skript spuštěn, neexistuje,
je vytvořen.
Skript se také postará o vytvoření adresáře C:\CSacek
a zkopíruje tam whichcode_template.html. To je vše,
stačí už jen ověřit, že vše funguje OK - např. testovacím URL
http://www.vas-server.cz/cgi-bin/toASCII/.
Kompilace ze zdrojového kódu
Pokud kompilujete CSáček ze zdrojových kódů pomocí přiloženého
Makefile pro MSVC 4.0 a 5.0 (v podadresáři NT\MSVS\
u zdrojového kódu CSáčku), jednotlivé binární soubory se
vytvoří v podadresáři compile\. Je třeba je do adresáře
s ostatními CGI skripty přesunou manuálně, stejně tak jako
manuálně vytvořit adresář C:\CSacek a přesunout tam
soubor whichcode_template.html z podadresáře
templates\.
Pokud kompilujete CGI CSáček pomocí nějakého IDE, může přijít
vhod skript copy_cgi.bat, který program, zadaný
jako argument, rozkopíruje na jednotlivé toXXX,
whichcode. Jinak pak platí to samé jako u kompilace
pomocí přiloženého Makefile.
Zpět
MS Windows NT - ISAPI
ISAPI CSáček je momentálně k dispozici jen v binární podobě.
Vzhledem k tomu, že firma Compaq nadále nepodporuje další
vývoj MS Windows NT na počítačích s procesory Alpha, je k dispozici
pouze verze pro i386.
Instalace probíhá v těchto krocích:
- Je třeba stáhnout distribuční soubor z adresy
http://www.csacek.cz/distrib/bin/isapi/ a rozbalit jej.
- Pro instalaci souborů slouží skript install_isapi.bat. Akceptuje
dva parametry. První je jméno adresáře, kam se má umístit
csáčkovské ISAPI dll (pokud tento adresář neexistuje, bude vytvořen).
Druhý parametr určuje, zda se má do registry zapsat defaultní
konfigurace CSáčku (obsah souboru csacek_isapi.reg). Platné
hodnoty jsou a jako ano (toto je default)
a n jako ne.
Skript install_isapi.bat také zajistí
vytvoření adresáře C:\CSacek a zkopíruje tam soubor
whichcode_tamplate.html.
-
Dále je třeba změnit konfiguraci serveru IIS tak, aby CSáček
použil. CSáček je třeba nainstalovat jako globální ISAPI filtr.
Dá se to udělat přes program MS Management Console
(v menu je obvykle označován jako Správce služeb sítě Internet):
- V oknu s Console root je pod záložkou
Internet Informational Server záložka podle jména počítače.
- Na toto jméno je třeba kliknout pravým myšítkem.
- Objeví se menu, je třeba vybrat Vlastnosti.
- Objeví se samostatné okno, obsahuje mimo jiné sekci Řídící vlastnosti, která
obsahuje combo box (výběr).
- Je třeba tam třeba ponechat Služba WWW
a klinout na vedlejší tlačítko Upravit.
- Objeví se další okno,
s několika záložkami. Je třeba vybrat záložku Filtry ISAPI.
- Objeví se seznam již nainstalovaných ISAPI filtrů. Zde se provádí
i přidávání nových filtrů.
- Stiskne se tlačítko Přidat, pak se
zadá jméno filtru (může být jakékoli, např. CSáček)
a cesta k DLL souboru, který jej implementuje. Pro CSáček bude cesta
něco jako C:\CSacek\csacek_isapi.dll - jméno adresáře
je třeba zadat stejně, jako při předchozím volání skriptu
install_isapi.bat, csacek_isapi.dll je vlastní filtr.
Pokud si cestu přesně nepamatujete, lze použít tlačítko Procházet
a soubor nalézt takto.
- Nyní je třeba přestartovat IIS a můžete CSáček začít používat.
Tím by měl být CSáček připraven k používání.
Pozor:
distribuce ISAPI CSáčku dostupná na WWW funguje pouze jeden
měsíc.
Zpět
MS Windows NT - Apache modul
Apache modul CSáčku zatím není na MS Windows funkční, zatím není
přesně jasné, proč (CSáček modul se nahraje, jen v určité
chvíli najednou některé deskriptory vytvořené CSáčkem přestanou
být platné). Je to jedna
z vyšších priorit vývoje, zprovoznení se uskuteční jak to jen
bude možné. Zatím je tedy nutno na Windows použít buď ISAPI CSáček
pod IIS (ISAPI CSáček pod Apache emulací ISAPI nefunguje - Apache
nepodporuje ISAPI filtry), nebo CGI CSáčka.
Zpět
Úvodní stránka
|