|
Instalace CSáčkuTento 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 - CGI mutacePro úč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:
Po skončení configure je třeba zadat: 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. Unix - FastCGI mutaceV 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: 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. Unix - Apache modulCSáč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: 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.cTím instalace Apache CSáčku končí a můžete si už jen užívat komfortu, který vám CSáček nabízí ;-)
Unix - Apache 1.1.X a 1.2.XU 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 ApacheNejdří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.oCSáč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: -lzje ji nutné přidat do EXTRA_LIBS, tj. v Configuration musí být uvedeno něco jako: EXTRA_LIBS= -lzDá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. Unix - Apache 1.3.X - DSOJednoznač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.soCestu 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. 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.omí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. Apache CSáček se dá dále konfigurovat několika direktivami, přehled je uveden jinde. Parametry skriptu configure
MS Windows NT - CGIJe 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óduPokud 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. MS Windows NT - ISAPIISAPI 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:
Pozor: distribuce ISAPI CSáčku dostupná na WWW funguje pouze jeden měsíc. MS Windows NT - Apache modulApache 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.![]() |