O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
rád bych napsal webovou aplikaci s Django frameworkem, nicméně jsme narazil na problém při nasazení s apachem. Bohužel, podle standardních how-to se mi to nedaří spustit.
Django server (python3 manage.py runserver) funguje v pořádku.
V /var/log/httpd/error_log je při každém načtení webu:
End of script output before headers: wsgi.py
Struktura aplikace je vygenerovaná z: python3-django-admin startproject abc, takže:
/
abc/
manage.py
abc/
__init__.py
wsgi.py
settings.py
urls.py
test/
__init__.py
models.py
views.py
...
Do wsgi.py jsem akorát přidal na první řádek shebang + chmod +x wsgi.py, jinak dostávám
Exec format error: exec of '/home/michal/www/abc/abc/wsgi.py' failedA ještě jsem přidal
sys.path.append('/home/michal/www/abc')
sys.path.append('/home/michal/www')
čímž jsem se zbavil ImportError-u.
/etc/httpd/conf/httpd.conf vypadá takto:
<VirtualHost *:80>
ServerName abc.localhost
DocumentRoot /home/michal/www/abc
WSGIScriptAlias / /home/michal/www/abc/abc/wsgi.py
<Directory /home/michal/www/abc>
Require all granted
Options Indexes FollowSymLinks
</Directory>
<Directory /home/michal/www/abc/abc>
Require all granted
Options Indexes FollowSymLinks ExecCGI
<Files wsgi.py>
Require all granted
</Files>
</Directory>
LogLevel info
</VirtualHost>
A samotný wsgi.py vypadá takto:
#!/usr/bin/python3
import os
import sys
sys.path.append('/home/michal/www/abc')
sys.path.append('/home/michal/www')
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "abc.settings")
application = get_wsgi_application()
Možná je hloupost volba ExecCGI, když to má být WSGI (moc tomu pořád nerozumím), pak se zobrazí testovací stránka, že httpd funguje, a v logu je:
Options ExecCGI is off in this directory: /home/michal/www/abc/abc/wsgi.py
mod_wsgi jsem instaloval jako: dnf install python3-mod_wsgi
$ httpd -M | grep wsgi wsgi_module (shared)
Nevíte, co by mohlo být špatně? Případně, kde ještě hledat závady?
Řešení dotazu:
wsgi.py nepotřebuje žádné úpravy, kromě přidání cest k aplikaci.
Žádné ExecCGI v httpd.conf nemá být.
V httpd.conf mi chybělo:
<IfModule mime_module>
...
AddHandler wsgi-script .py
...
</IfModule>
...
WSGISocketPrefix run/wsgi
A ještě /run/httpd musí mít nastavenou skupinu, pod kterou běží httpd, tedy:
drwx--x--- 3 root <skupina> 120 Aug 22 15:23 /run/httpdkde skupina bude nejčastěji
www-data nebo apache
Poté lze postupovat podle django dokumentace.
Tiskni
Sdílej: