mod_python
Mod_python je modul do serveru 'Apache', který umožňuje spouštět interpret Pythonu uvnitř serveru. S mod_pythonem můžete psát webové aplikace v Pythonu, které poběží několikrát rychleji než tradiční CGI a umožní vám využívat pokročilé technologie jako přistupování do databáze a práce se sezením.
Instalace
Pro instalaci pod 'GNU/Linuxem' využijte balíčkovacího systému vaší distribuce [1]. A pro platformu Win32 je na domovské stránce v sekci download připraven 'MSI installer'. Samozřejmě očekávám, že na svém stroji máte funkční 'Apache server' a 'Python'.
Hello world
Nejprve je nutne nastavit handler, který bude říkat serveru jak má se scripty v Pythonu zacházet. Stačí do konfiguračního souboru serveru Apache [2] přidat následující odstavec
<Directory /cesta/k/souborum>; SetHandler mod_python PythonHandler mod_python.publisher PythonDebug On </Directory> Dále napište script '/cesta/k/souborum/index.py' :: def index(req): return "Ahoj svete" A nakonec po napsání do prohlížeče 'http://localhost' se objeví 'Ahoj svete'.
Záložky
- http://www.modpython.org/ - stránky projektu
- http://www.unosoft.cz/index.php?det=mod_python.php - pěkný původní český návod
[1] | Balíček by se měl jmenovat stejně jako modul, tedy 'mod_python'. Například v Gentoo Linuxu stačí napsat 'emerge -av mod_python' |
[2] | V Gentoo Linuxu '/etc/apache2/httpd.conf' |
Jak nainstalovat Apache a mod_python pod Windows XP/2000/ a možná i 98?
Apache je program, který vám v počítači zprovozní webový server. Ten je nutný, pokud např. chcete lokálně testovat vaše php stránky nebo v našem případě pythonovskou obdobu php - např. mod_python.
Je životně důležité, aby všechny 3 komponenty, které se podílejí na dynamickém generování py stránek - Python, Apache a mod_python - spolu uměly komunikovat neboli byly zkompilovány se stejnými knihovnami a spolu navzájem.
Je možné začít od Pythona - jakou máte verzi? Jestli 2.4, tak k němu vyhledáte na http://apache.mirror.superhosting.cz/httpd/modpython/win/3.3.1/ verzi, která má v názvu py2.4 a stáhněte ji. Následně se podívejte na http://httpd.apache.org/modules/python-download.cgi , který Apache tomu odpovídá - v našem případě Apache 2.0 - ten stáhněte.
Poznámky k instalaci Apache 2.0
Instalační soubor stáhněte z http://httpd.apache.org/download.cgi - snad nejlépe balíček msi apache_2.0.55-win32-x86-no_ssl.msi. Při instalaci to po vás bude chtít jméno vašeho serveru a váš email. Pokud to chcete jen na zkoušení, protože o to u jde, tak doporučuji do obou polí vyplnit localhost a do email váš email. Instalace končí vytvořením balíku odkazů v nabídce Start.
V podstatě můžete hned vyzkoušet funkčnost webového serveru Apache. Ve startu najděte Start Apache in Console a spuste ho. Možná na vás vyskočí okno XP firewallu - udělte souhlas s odblokováním Apache.
Ve webovým prohlížeči do řádky adresy napište http://localhost:8080 a měli byste vidět úvodní standardní obrazovku Apache na znamení, že funguje. Pokud ne, zkuste nejdříve restartovat Windows. Pokud ani potom - zeptejte se někde ve fóru - to nepatří přímo do pyfora, ale možná že nebudete ignorováni ;-)
Vylepšování
Odstranění 8080 -- Chcete-li, aby stačilo napsat http://localhost, editujte c:/Program Files/Apache Group/Apache2/conf/httpd.conf , najděte řádku Listen 8080 a změňte ji na Listen 80. Musíte restartovat Apache.
Zastavení Apache -- 2x CTRL+C a chvíli čekat, než Apache doobslouží a douzavře korektně vše co má. Někdy však pomůže jen křížek vpravo nahoře.
Umístnění svých stránek -- Editujte adresář c:/Program Files/Apache Group/Apache2/htdocs, smažte co tam je, a nahrajte si tam svůj index.html.
Poznámky k instalaci mod_python pod Windows
Stáhněte patřičnou verzi (viz výše) a nainstalujte. V průbehu instalace dávejte pozor na dvě věci:
Zadejte správné umístnění Apache - instalátor nabízí pravděpodobně správné umístnění
Poslední informační obrazovku si opište (zkopírujte do editoru) a proveďte pečlivě, vše co je tam:
Editujte ručně C:/Program Files/Apache Group/Apache2/conf/httpd.conf, a přidejte tam toto:
LoadModule python_module modules/mod_python.so <Directory /> SetHandler mod_python PythonHandler mod_python.publisher PythonDebug On </Directory>
Dokončete instalaci podle: http://www.modpython.org/live/current/doc-html/inst-testing.html. Pokud po dokončení vidíte Hello World ve svém prohlížeči, gratulujeme, Apache i mod_python je nainstalován very, very well.
Pokud vidíte Error, zkuste restartovat. Pokud ani to nepomůže - ptejte se v konferenci.
A to je vše!
mod_python has been retired to the attic --Kubo2, Wed, 14 Aug 2013 14:17:30 +0200 reply
Mal som celkom záujem o inštaláciu mod_python-u, no po navštívení stránky http://httpd.apache.org/modules/ som bol celkom sklamaný. Pri mod_python-e napísali: mod_python has been retired to the attic. čo v hrubom preklade znamená: mod_python odišiel do dôchodku. A ďalej píšu, že v budúcnosti python už nebude zahrnovaný do projektu httpd. Myslím si, že je to dosť škoda.
mod_python has been retired to the attic --mol, Wed, 14 Aug 2013 20:50:20 +0200 reply
Autor se nicmene tvari, ze na modpythonu zacal zase pracovat: http://modpython.org/ Jinak existuje mod_wsgi: http://code.google.com/p/modwsgi/