Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …
Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.
Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.
Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.
Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.
npm balíčky @redhat-cloud-services byly kompromitovány.
Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.
Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.
Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.
Včera jsem se dlouhé hodiny snažil propojit Apache a Tomcat s pomocí protokolu AJP/1.3, tj skrze modul mod_jk. Ono mi to tedy v podstatě fungovalo již po instalaci, nikoliv však jen pro vybrané virtuální hostitele. Tápání po problému mě obohatilo o spoustu nových poznatků.
Instalaci jsem prováděl na serveru se SUSE 9.3, Apache je zde ve verzi 2.0.53, Tomcat pak 5.0.30. Po instalaci balíčku s modulem mod_jk-ap20 (nabízí se ve verzi 4.1.30) přibude v adresáři etc/apache2/conf.d soubor jk.conf; vzhledem k tomu, že ve výchozím nastavení v /etc/apache2/default-server.conf se do konfigurace webového serveru vkládají všechny konfigurační soubory z výše zmíněného adresáře, jsou tak po restartu Apache dostupné ukázkové webové aplice pro Tomcat, konkrétně servlets-examples a jsp-examples.
Obsah konfiguračního souboru (minimalizováno pro názornost) vypadá následovně:
<IfModule mod_jk.c>
JkWorkersFile /etc/tomcat5/base/workers.properties
JkLogFile /var/log/tomcat5/base/mod_jk.log
JkLogLevel error
Alias /servlets-examples "/srv/www/tomcat5/base/webapps/servlets-examples"
<Directory "/srv/www/tomcat5/base/webapps/servlets-examples">
Options Indexes FollowSymLinks
allow from all
</Directory>
JkMount /servlets-examples/servlet/* ajp13
<Location "/servlets-examples/WEB-INF/">
AllowOverride None
deny from all
</Location>
</IfModule>
Zajímavější jsou parametry začínající Jk:
Jak již jsem naznačil v úvodu, takto nadefinováno a nainstalováno vše funguje. Provozuji však na serveru vícero virtuálních hostitelů a připadá mi zbytečné, aby Tomcat byl navázán i tam, kde to nepotřebuji. Celkem přirozeně jsem proto zrušil odpovídající direktivu v default-server.conf a přidal ji do vybraných virtuálních hostitelů. Kupodivu to takto nefunguje – nevím proč, v dokumentaci jsem k tomu nic nenašel, ale parametr JkWorkersFile musí být uveden v konfiguračních souborech na místě, kde se uplatní pro všechny virtuální hosty (tedy například právě v default-server.conf)! Kýženého výsledku lze dosáhnout tak, že v konfiguraci virtuálních hostitelů budou ty ostatní parametry, tedy zejména odpovídající položka JkMount.
Na další zádrhel v této souvislosti jsem narazil u virtuálních hostitelů v Tomcatu. Ty se definují uvedením platného doménového jména u parametru name kontejneru Host v konfiguračním souboru Tomcatu server.xml. Pro server mám v DNS záznam typu *.muj.server.cz -> muj.server.cz (wildcard DNS item, někde jsem o tom slyšel jako o doménovém koši) – správného virtuálního hostitele pak Apache vybere na základě jména, funguje to bezchybně. Nikoliv však v Tomcatu, přestože je cokoliv.muj.server.com v server.xml definován, odpovědi od http://cokoliv.muj.server.com:8080 se nikdy nedočkám
Proč, proč, proč?
Tiskni
Sdílej:
...
<Engine name="Catalina" defaultHost="localhost" debug="0">
...
<Host name="localhost" debug="0" appBase="webapps-default"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
</Host>
<Host appBase="webapps-virtual/jerryweb.info" name="jerryweb.info">
<Alias>www.jerryweb.info</Alias>
<Alias>jaros.org</Alias>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="jerryweb_log."
suffix=".txt" timestamp="true"/>
<Context path="" docBase="" />
</Host>
...
</Engine>
Takto nastavených virtuálních serverů mám samozřejmě víc, konfigurační soubory pro jednotlivé aplikace pak mám v conf/Catalina/<jmeno_hostitele>/. U Apache mám v konfiguraci jednotlivých virtuálních serverů pouze JkMount resp. JkUnmount, zbytek mám nastaven jednotně pro celý webserver. Virtuální servery mi fungují jak při přístupu přes mod_jk, tak při přímém přístupu na Tomcata přes HTTP (pokud ho povolím).
Co se týče přístupu k IP adrese browseru, s request.getRemoteAddr() jsem také nikdy problém nezaznamenal.
emerge -pv tomcat mod_jk These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] www-servers/tomcat-5.0.27-r6 -doc -jikes 0 kB [ebuild R ] www-apache/mod_jk-1.2.13 +apache2 707 kB Total size of downloads: 707 kB