Instalace verze 4.0 a vyšší

Postup instalace pro verzi apache_VERSION
  1. Rozbalit originální distribuci apache_VERSION.tar.gz (www.apache.org)
    gzcat apache_VERSION.tar.gz|tar xvpf -
    
  2. Rozbalit distribuci modulu (obsahuje cestu včetně kořenového adresáře patřičné verze Apache):
    gzcat mod_html-x.tar.gz|tar xvpf -
    
  3. Aplikovat změny:
    patch <apache_VERSION/src/modules/html/patch-VERSION
    
  4. Dle originální dokumentace nakonfigurovat server. V konfiguraci modulů je modul mod_html implicitně povolen, modul mod_include je implicitně zablokován.
    cd apache_VERSION
    ./configure
    
  5. Při překladu modulu mod_html mohou být definovány tyto symboly pro podmíněný překlad (lze je doplnit na řádku HTML_CFLAGS v souboru modules/html/Makefile.tmpl, resp. dodatečně po konfiguraci do Makefile):
    DEFAULT_XBITHACK
    Nastavení implicitního zpracování vložených příkazů pro server (SSI). Pokud není tento symbol při překladu definován, řídí se zpracování vložených příkazů hodnotou parametru konfigurace XBitHack. Pro nastavení DEFAULT_XBITHACK lze použít stejné hodnoty jako pro nastavení parametru XBitHack. Implicitně je definována hodnota xbithack_fulloff, která zapíná zpracování vložených příkazů ve všech dokumentech typu HTML:
    HTML_CFLAGS=-DDEFAULT_XBITHACK=xbithack_fulloff
    TEXT_PLAIN
    Povolení zpracování souborů typu "text/plain" (překódování podle zvoleného kódu, implicitně povoleno).
    EXTENDED_SSI
    Povolení zpracování rozšířené sady vložených příkazů pro server (implicitně povoleno).
  6. Pak následuje standardní překlad a instalace serveru. Od verze Apache 1.2* je překlad modulu automatický při spuštění make z kořenového zdrojového adresáře:
    make
    
  7. Nainstalovat server
  8. Vložit do srm.conf soubor srm.conf.example a upravit podle potřeby.
  9. Nakopírovat adresář charsets s definicemi kódů do kořenového adresáře konfigurace serveru (server_root). Do adresáře musí mít povolen zápis majitel procesu serveru (nobody, daemon) pro vytvoření překódovacích tabulek. Zápis stačí povolit při prvním spuštění po přidání nebo změně překódovacích tabulek, poté je možné zápis opět zakázat. Při změně překódovacích tabulek je třeba ručně smazat soubory *.dat vytvořené v tomto adresáři.
  10. V access.conf povolit MultiViews a podle kuráže Includes, ExecCGI:
    # podle kořenu dokumentů 
    <Directory /WWW/root> 
    # viz dokumentace serveru
    Options Includes ExecCGI MultiViews 
    ... 
    # české dokumenty budou v tomto stromu v kódu ISO-8859-2
    LanguageCharset cs iso-8859-2
    # jazykově neurčené dokumenty budou taky v ISO-8859-2
    DefaultCharset iso-8859-2
    ...
    </Directory>
    # podle CGI adresáře
    <Directory /WWW/cgi-bin> 
    # viz dokumentace serveru
    Options ExecCGI MultiViews 
    </Directory>
  11. Upravit podle místních potřeb program codepage.c a nainstalovat jej do adresáře CGI skriptů. Pokud jej použijete nezměněný, nezapoměňte okopírovat obrázky vlajek (*.gif) do adresáře DOCUMENT_ROOT/images.
  12. Pokud budete dávat do některých adresářů pouze české dokumenty, je vhodné nastavit pro ně parametry DefaultCharset a DefaultLanguage. Pak budou soubory bez jazykové přípony považovány za české:
    DefaultLanguage cs
    DefaultCharset iso-8859-2	/* podle místních zvyklostí */
    
  13. Pro automatický výběr jazykové varianty dokumentu musí mít české dokumenty příponu .html.cz (přípona je dána nastavením parametru AddLanguage). Kód dokumentu je dán parametrem LanguageCharset. Parametr lze nastavovat také pro jednotlivé adresářové podstromy a soubory v adresářových konfiguračních souborech (.htaccess). Anglické dokumenty musí mít příponu .html.en. Soubor se jménem .html nesmí existovat, jinak se použije vždy přednostně a výběr jazykové varianty se neprovádí.
  14. Do dokumentů doplnit na vhodné místo odkaz:
    <A HREF="/cgi-bin/codepage">Změna kódu a jazyka/Change language and 
    charset</a>
  15. Pokud je výstup CGI skriptů v jiném kódu než ISO-8859-1, pak musí CGI skript uvést v hlavičce Content-Type kód výstupu skriptu:
    #! /bin/sh
    #  příklad CGI skriptu v shellu
    #
    echo "Content-Type: text/html; charset=Windows-1250"
    echo "Content-Language: cs"
    echo 
    ...	výstup skriptu česky v kódu Windows-1250
    
  16. Pokud je povoleno zpracování TEXT_PLAIN, pak platí pro výstup CGI skriptu typu "text/plain" stejná pravidla. Ostatní typy výstupu CGI skriptů jsou ponechány beze změny.
  17. Pokud potřebujete ukládat dokumenty v různých kódech, stačí v patřičném adresáři vytvořit soubor se jménem .htaccess s tímto obsahem:
    LanguageCharset cs ISO-8859-2 # pro soubory v češtině (přípona jména 
    				souboru může být "cz") bude kód ...
    
    V konfiguraci serveru musí být samozřejmě povolena interpretace parametrů v .htaccess pro daný podstrom (AllowOverride FileInfo).

Poznámky

Pro funkci lokalizovaného času v příkazu <!--#flastmod ...> musí být nainstalována systémová jazyková podpora pro češtinu (stačí LC_TIME, resp. to, co stačí pro funkci setlocale(LC_TIME,...), což mohou být u některých systémů všechny kategorie :-). Pro překódování se nepoužívá nic ze systémové jazykové podpory a server sám by měl běžet v locale "C" (pozor na spouštění serveru!). Jméno českého národního prostředí musí být "cs".

Pro volbu jazyka je přiložen program codepage.c. Je to samozřejmě jen vzor, doporučuji upravit podle místních potřeb a zvyklostí.

Pokud používáte Mosaic 2.7b4 (a možná i starší verze), pak se vám bude hodit Mosaic-2.7b4-patch - opravuje zpracování hlavičky Content-type tak, aby ignoroval cokoli za středníkem (např. text/html; charset=iso-8859-2). Pokud tento patch neaplikujete, bude považovat všechny takovéto dokumenty za binární - fuj.


Poslední změna: 8. April 2003
Pokud máte námět na vylepšení této stránky nebo na ní naleznete chybu, zašlete dopis na adresu lampa@fit.vutbr.cz.

[ Zpět | Domácí stránka | Web server | Jazyk/Language ]