abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 0
    dnes 13:00 | Humor

    Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.

    NUKE GAZA! 🎆 | Komentářů: 5
    dnes 00:44 | IT novinky

    Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.

    Ladislav Hagara | Komentářů: 6
    dnes 00:33 | IT novinky

    V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.

    Ladislav Hagara | Komentářů: 5
    včera 12:33 | Zajímavý projekt

    MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.

    NUKE GAZA! 🎆 | Komentářů: 17
    včera 03:55 | Bezpečnostní upozornění

    Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.

    Ladislav Hagara | Komentářů: 2
    12.3. 17:22 | Nová verze

    Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    12.3. 03:44 | Nová verze

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 4
    12.3. 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

    Ladislav Hagara | Komentářů: 0
    12.3. 00:44 | Nová verze

    Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1078 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    Dotaz: ROOT context - WAR se nerozbaluje

    14.5.2014 10:43 Nautil | skóre: 2 | Praha
    ROOT context - WAR se nerozbaluje
    Přečteno: 299×
    Ahoj všem,

    Používám Tomcat 7.0.29 (ze ZIPu z webu Apache Tomcat), Oracle Linux 6.4 a rád bych deployoval aplikaci myapp s ROOT kontextem s využitím virtualhosta.

    Nastavení jsem se snažil provést podle následující dokumentace Tomcatu:

    http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming

    If you want to deploy a WAR file or a directory using a context path that is not related to the base file name then one of the following options must be used to prevent double-deployment:
    a) Disable autoDeploy and deployOnStartup and define all Contexts in server.xml
    b) Locate the WAR and/or directory outside of the Host's appBase and use a context.xml file with a docBase attribute to define it.

    http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context

    Individual Context elements may be explicitly defined:
    A. In an individual file at /META-INF/context.xml inside the application files. Optionally (based on the Host's copyXML attribute) this may be copied to $CATALINA_BASE/conf/[enginename]/[hostname]/ and renamed to application's base file name plus a ".xml" extension.
    B. In individual files (with a ".xml" extension) in the $CATALINA_BASE/conf/[enginename]/[hostname]/ directory. The context path and version will be derived from the base name of the file (the file name less the .xml extension). This file will always take precedence over any context.xml file packaged in the web application's META-INF directory.
    C. Inside a Host element in the main conf/server.xml.

    Požadavky na deployment myapp

    1. Deployovaná s context path=""
    2. Soubor se jmenuje myapp.war (ne ROOT.war)
    3. V rozbaleném WAR souboru by se neměl editovat soubor META-INF/context.xml
    4. Měla by být rozbalena jen do jedné složky a deployována 1x.

    Abych toto dosáhl, provedl jsem následující

    • řídil jsme se možnostmi b) and B. z dokumentace Tomcatu, tedy
    • definoval virtualhost myapphostname s appbasedir $CATALINA_HOME/myapp_dst
    • umístil myapp.war do složky $CATALINA_HOME/myapp_src (splnění požadavku b)
    • vytvořil soubor $CATALINA_HOME/conf/Catalina/myapphost/ROOT.xml obsahující context path="" docBase=$CATALINA_HOME/myapp_src/myapp.war (splnění požadavku B)

    Předpokládal jsem, že se myapp.war rozbalí do appBase virtualhosta,t.j. do $CATALINA_HOME/myapp_dst nebo do $CATALINA_HOME/myapp_dst/ROOT, ale nestalo se ani jedno. Aplikace myapp beží z nerozbaleného WARu.

    Co bych měl změnit v konfiguraci nebo v souborové struktuře, abych dosáhl požadovaného chování?

    Předem díky za rady.

    Leoš

    === adresářová struktura - relevantní soubory/složky ===
    $CATALINA_BASE
    |-- bin
    |-- conf
    |   |-- Catalina
    |   |   |-- localhost
    |   |   `-- myapphost
    |   |       `-- ROOT.xml
    |   |-- catalina.policy
    |   |-- catalina.properties
    |   |-- context.xml
    |   |-- logging.properties
    |   |-- server.xml
    |   |-- tomcat-users.xml
    |   `-- web.xml
    |-- lib
    |-- LICENSE
    |-- logs
    |-- NOTICE
    |-- myapp_dst
    |   |-- mysecondapp
    |   `-- mysecondapp.war
    |-- myapp_src
    |   `-- myapp.war
    |-- RELEASE-NOTES
    |-- temp
    |-- webapps
    `-- work
    
    === server.xml - relevantní část ===
    <Engine name="Catalina" defaultHost="myapphost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      </Realm>
    
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
      </Host>
    
      <Host name="myapphost" appBase="myapp_dst" unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
    
    === $CATALINA_HOME/conf/Catalina/myapphost/ROOT.xml ===
    <Context path="" docBase="/opt/programs/tomcat7b/myapp_src/myapp.war" />
    

    Řešení dotazu:


    Odpovědi

    14.5.2014 11:01 Filip Jirsák
    Rozbalit Rozbalit vše Re: ROOT context - WAR se nerozbaluje
    Po krátkém hledání na internetu bych řekl, že Tomcat WARko nerozbaluje, minimálně v případě, že je WARko umístěné mimo appBase. Proč vůbec chcete, aby aplikace běžela z rozbaleného WARka? Podle mne k tomu může být důvod jen u špatně napsané aplikace.
    14.5.2014 11:20 Nautil | skóre: 2 | Praha
    Rozbalit Rozbalit vše Re: ROOT context - WAR se nerozbaluje

    Děkuji. Ano, je to tak, mimo appBase Tomcat WARy nerozbaluje. Šlo mi o to nastavit <Context path=""/>, rozbalit WAR a zároveň se vyhnout vytvoření složky ROOT.war. Rád bych, aby Tomcat rozbalil WAR pouze do složky myapp, což však nejspíš koliduje s dokumentací, která vyžaduje pro prázdný stríng v Context path složku ROOT nebo soubor ROOT.war.

    Rozbalení WAR je požadavek zákazníka, pro kterého nastavení provádím. Panuje obava, že aplikace běžící z nerozbaleného WARu bude běžet pomaleji než z rozbaleného.

    Řešení 1× (Nautil (tazatel))
    14.5.2014 11:38 Filip Jirsák
    Rozbalit Rozbalit vše Re: ROOT context - WAR se nerozbaluje
    Podle mne když použijete docBase, Tomcat WARko nemůže rozbalit, protože vůbec nic neví o cíli – např. jestli je tam povolen zápis. Takže pokud chcete použít automatické rozbalování, musíte WARko nahrát do appBase. ContextPath je pak možné určit buď názvem WARka nebo souborem context.xml ve WARku. Nebo můžete WARko rozbalit předem a docBase nasměrovat na rozbalený adresář. Nebo použít Jetty, které WARka rozbaluje do systémového dočasného adresáře. A nebo se vykašlat na rozbalování, to, že by aplikace běžela pomaleji, je podle mne nesmysl. Týkalo by se to nanejvýš statických souborů, a ty lze stejně nejrychleji odeslat jedině přes NIO, takže je nutné celý mechanismus servletů obejít (Jetty to umí, nevím, zda i Tomcat – ale rozhodně to znamená mnohem víc konfigurace, než jenom někam nahrát WAR).
    14.5.2014 12:15 Nautil | skóre: 2 | Praha
    Rozbalit Rozbalit vše Re: ROOT context - WAR se nerozbaluje

    Děkuji za upřesnění. Díky Vám jsem si ujasnil, že zmíněné požadavky na deploy se nedají splnit současně a to protože se Tomcat chová takto:

    • Svázanost <Context path="string"> se jménem WAR nebo rozbalené složky, kdy prázdný string vyžaduje pojmenování ROOT.war, resp. ROOT/ (složka), což dokumentace Tomcatu popisuje zde.
    • Možnost vyhnout se této svázanosti za cenu toho, že WAR soubor webové aplikace (nebo složku s rozbalenou aplikací) nahraju mimo appBase do nějakého docBase, kde ovšem ztrácím možnost rozbalení WAR, protože je docBase pro Tomcat neviditelná.

    Ještě jednou díky za Vaše postřehy. Řešením v mém případě bude nejspíše nerozbalovat WAR.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.