mod_python.gif

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

[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

http://www.apache.org/images/asf_logo_wide.gif

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

http://www.modpython.org/mp_long.gif

Stáhněte patřičnou verzi (viz výše) a nainstalujte. V průbehu instalace dávejte pozor na dvě věci:

  1. Zadejte správné umístnění Apache - instalátor nabízí pravděpodobně správné umístnění

  2. Poslední informační obrazovku si opište (zkopírujte do editoru) a proveďte pečlivě, vše co je tam:

    1. 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>
      
    2. 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.

    3. 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/