aptitude install libapache2-mod-python
a2enmod python
Подредактируем, например, на Debian файл /etc/apache2/sites-available/default :
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /var/www/> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py #говорит апачу передавать обработку файлов *.py в mod_python PythonHandler index #говорит, в каком файле находится обработчик хэндлеров. DirectoryIndex index.py #указывает, какой файл отображается по-умолчанию в директории </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On #включает выведение ошибок в браузер - удобно пр иотладке DirectoryIndex index.py CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
a2ensite default
service apache2 restart
from mod_python import apache #импорт класса apache def handler(req): #функция обработки хэндлера req.content_type = "text/html" #задаем тип содержимого веб-страницы req.send_http_header() #посылка дефолтового хэдера html-страницы req.write("Hello World!") #отправляем Hello World! на страницу return apache.OK #рендеринг страницы с кодом ОК
Называем файл index.py и сохраняем в директорию виртуал-хоста (в нашем примере это /var/www), не забывая сменить хозяина файла на www-data. Перед проверкой нужно удалить дефолтовый файл index.html из директории виртуалхоста и удалить русскоязычные буквы из питоновского файла – иначе будет ругаться.