Apache настройка python windows

Содержание
  1. Как настроить веб-сервер Apache на запуск Python в Windows
  2. 1. Установите Python
  3. 2. Настройка Apache на запуск Python CGI
  4. 3. Перезапустите Apache
  5. 4. Запустите тестовую страницу Python
  6. Как настроить Apache для программирования на Python CGI?
  7. Использование ScriptAlias
  8. Мой путь в мире web-devel
  9. среда, 12 сентября 2012 г.
  10. Как я прикрутил Python к Apache
  11. Приступаем к установке
  12. Try it yourself
  13. Установка связки Apache+MySQL+Python без фреймворка на сервер Ubuntu 14.04
  14. Требования
  15. 1: Настройка стандартной версии Python
  16. 2: Установка Pip
  17. 3: Установка MySQL
  18. 4: Установка Apache 2
  19. 5: Тестирование настройки
  20. Заключение
  21. HackWare.ru
  22. Этичный хакинг и тестирование на проникновение, информационная безопасность
  23. Как установить Python и PIP на Windows 10. Настройка Python в качестве модуля веб-сервера
  24. Как установить Python в Windows
  25. Как запускать программы Python в Windows
  26. Как начать изучать Python
  27. Как установить PIP в Windows
  28. Установка Средства сборки C++
  29. Как пользоваться PIP в Windows
  30. Подключение модуля Python к веб-серверу Apache в Windows
  31. Настройка Apache на запуск Python CGI
  32. Создайте тестовую страницу Python
  33. Редакторы исходного кода Python
  34. Решение ошибки error Microsoft Visual C++ 14.0 is required
  35. Ошибки при компиляции в Python

Как настроить веб-сервер Apache на запуск Python в Windows

Скрипты Python можно запускать в окружении Apache аналогично запуску скриптов PHP. Для этого нужно сделать небольшую настройку.

Я устанавливал веб-сервер по этой инструкции, если вы устанавливали по другой инструкции, то отредактируйте пути под свои значения.

1. Установите Python

Если у вас ещё не установлен Python, то скачайте установщик здесь: https://www.python.org/downloads/windows/ (файл Windows x86-64 executable installer).

Я установил в предлагаемый путь, но также выбрал добавление папки с исполнимыми файлами Python в переменные окружения (возможно, это делать необязательно).

Забегая вперёд скажу — путь до папки с установленным Python нужно будет указывать в начале каждого Python cgi скрипта, поэтому или выберите более простую папку, куда вы устанавливаете Python, либо запомните имя путь до предложенной директории.

В конце программа установки предложила снять максимальное ограничение на длину пути — я согласился (возможно, это делать необязательно):

2. Настройка Apache на запуск Python CGI

Теперь откройте для редактирования файл httpd.conf, у меня он расположен по пути C:\Server\bin\Apache24\conf\httpd.conf.

Найдите там строку

и добавьте к ней ExecCGI. Должна получиться такая строка (ВНИМАНИЕ: набор опций у вас может быть другим):

Теперь найдите строку:

Раскомментируйте её, то есть удалите символ # в начале строки и добавьте к концу строки .py. Новая строка будет выглядеть примерно так:

3. Перезапустите Apache

4. Запустите тестовую страницу Python

В папке для ваших сайтов (у меня это C:\Server\data\htdocs\) создайте файл test.py и скопируйте в него:

Обратите внимание на самую верхнюю строку, то есть на C:\Users\Alex\AppData\Local\Programs\Python\Python37\python.exe — вам нужно заменить её на своё значение, указав путь до файла python.exe. Даже если вы выбрали предложенную по умолчанию папку, как минимум, вам нужно заменить имя пользователя Alex на имя своего пользователя.

ПРИМЕЧАНИЕ: обратите внимание, что путь до файла python.exe может различаться в зависимости от выбранной папки для установки, имени пользователя (если вы установили в C:\Users\), а также в зависимости от версии, например, это может быть папка Python39:

Отредактируйте самую верхнюю строку в соответствии с вашей установкой.

Как настроить Apache для программирования на Python CGI?

Чтобы ваш сервер правильно запускал CGI-скрипты, вы должны настроить свой веб-сервер. Мы обсудим, как настроить ваш веб-сервер Apache для запуска CGI-скриптов.

Использование ScriptAlias

Вы можете установить каталог как директиву ScriptAlias (опции для настройки Apache). Таким образом, Apache понимает, что все файлы, находящиеся в этом каталоге, являются CGI-скриптами. Это может быть самый простой способ запуска CGI-скриптов на Apache. Типичная строка ScriptAlias выглядит следующим образом в файле httpd.conf вашего веб-сервера Apache.

Итак, ищите ScriptAlias в вашем файле httpd.conf и раскомментируйте строку (удалите предыдущий #), если вы хотите сохранить все ваши файлы CGI в каталоге по умолчанию, указанном Apache. Но это не всегда может удовлетворить ваши требования. Итак, мы рассмотрим некоторые другие варианты запуска Python как CGI.

Запуск CGI из определенного каталога, отличного от каталога по умолчанию.

Вы можете использовать следующее для подготовки определенного каталога для запуска файлов CGI.

Где «somedir» — это каталог ваших предпочтений.

Если вы используете вышеуказанную конфигурацию. затем вы должны также указать следующее, чтобы сообщить серверным расширениям CGI-файлов, которые вы запускаете.

Итак, вышесказанное говорит Apache запускать файлы с расширениями .cgi и .pl как CGI

Если вы хотите запускать файлы CGI из каталога пользователя, вы можете использовать следующее:

Выше сказано, что Apache запускает все файлы с расширением .cgi, представленные в каталоге пользователя как CGI.

Опять же, если вы хотите запустить все файлы, размещенные в каталоге пользователя, как CGI, то вы можете использовать следующее:

Если у вас нет доступа к файлу httpd.conf, вы можете использовать файл .htaccess для запуска сценариев CGI. Чтобы использовать файлы с определенными расширениями в качестве CGI, настройте свой файл .htaccess следующим образом:

Если вы хотите запустить все файлы, находящиеся в каталоге, как CGI, вы можете использовать следующее:

Мой путь в мире web-devel

Мои шаги в этом нелегком, непонятном мире web-devel

среда, 12 сентября 2012 г.

Как я прикрутил Python к Apache

Решил поиграться с Python. Для тех кто в танке, определение из википедии: Python — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Мне захотелось попробовать его в web-разработке. До этого момента я использовал только PHP. Поэтому у меня уже была установлена связка Apache 2.2 + PHP 5.3 + MySQL 5.5 на Windows готовая к использованию.

Читайте также:  Build install linux package

Установка интерпретатора Python 2.6 происходит быстро и в два шага: загрузить дистрибутив и запустить инсталятор. Если вы еще не установили Apache, скачайте и его с офф-сайта. После установки Apache, можете сразу настроить VirtualHosts. Так удобнее будет. Мануалы по настройке vhosts в Apache находим в гугле. Но вернемся к нашим баранам 🙂

Приступаем к установке

Первым делом я решил зайти на офицаилный сайт Python и посмотреть, что там пишут про разработку под web. В документации есть толковая статья об этом http://docs.python.org/howto/webservers.html. Там описаны множество способов использования Python в web. Мне приглянулся способ, использующий mod_wsgi http://docs.python.org/howto/webservers.html#mod-wsgi. Тем более, что на сайте фреймворка Django, свободного фреймворка для веб-приложений на языке Python, рекомендуется использовать именно mod_wsgi. Ну что же как говорится,

Try it yourself

У mod_wsgi есть страничка на code.google.com. Перейдя на нее, можно найти как сам бинарник (Pthon 2.6) под Windows, так инструкцию как его прикрутить к Apache. Для установки нужно скопировать скачанный бинарник в директорию модулей Apache (C:\Program Files\Apache\modules\) и прописать в конфиге httpd.conf следующую строку:

После этого перезапускаем Apache.

Ну теперь осталось сконфигурировать для виртуального хоста и попробовать запустить первое веб-приложение, написанное на Python.

Установка связки Apache+MySQL+Python без фреймворка на сервер Ubuntu 14.04

Данное руководство покажет, как установить Python 3, MySQL и Apache2 без фреймворка. В результате вы сможете запускать базовую систему в производство.

Как правило, для работы с Python используется Django; этот фреймворк совместим со всеми версиями Python, поставляется с пользовательским сервером и даже позволяет установить базу данных в один клик.

Данное руководство будет пользоваться только менеджерами пакетов (apt-get и Pip).

Примечание: Менеджеры (или инсталляторы) пакетов – это небольшие программы, которые упрощают код установки и делают его более управляемым. Без них поддержка библиотек, модулей и остального кода была бы гораздо сложнее.

Требования

Чтобы следовать руководству, понадобится:

  • Сервер Ubuntu 14.04;
  • Пользователь с правами sudo (подробнее – здесь).

1: Настройка стандартной версии Python

Сначала нужно настроить Python 3 как стандартную версию, которая будет запускаться командой python.

Проверьте текущую стандартную версию Python.

На свежем сервере Ubuntu 14.04 результат будет таким:

Теперь нужно изменить текущую стандартную версию Python 3. Для начала удалите бинарные файлы Python 2.7:

sudo rm /usr/bin/python

Затем создайте символьную ссылку на бинарные файлы Python 3.

sudo ln -s /usr/bin/python3 /usr/bin/python

Снова проверьте текущую версию Python.

На экране должно появиться:

2: Установка Pip

Теперь можно приступать к установке Pip, менеджера пакетов Python. Сначала нужно обновить список пакетов системы, чтобы устаревшие пакеты не повлияли на установку.

sudo apt-get update

Pip позволяет управлять всеми пакетами Python 3. Для установки менеджера пакетов Pip запустите:

sudo apt-get install python3-pip

3: Установка MySQL

На данном этапе нужно становить и настроить СУБД MySQL.

Система MySQL проста в установке:

sudo apt-get install mysql-server

Установите надёжный пароль для root-пользователя MySQL. Сервер MySQLбудет запущен сразу после завершения установки. Запустите:

Этот скрипт задаст ряд вопросов. Укажите только что созданный root-пароль. Скрипт спросит, нужно ли изменить root-пароль, но поскольку он был создан только что, введите n. В ответ на остальные вопросы можно просто нажать Enter, чтобы принять стандартные настройки.

Python 3 требует настройки для подключения к MySQL. Существует множество вариантов настройки (например, MySQLclient), но для простоты в данном руководстве используется pymysql. Установите этот модуль при помощи Pip:

sudo pip3 install pymysql

4: Установка Apache 2

Теперь нужно установить Apache 2 и убедиться, что веб-сервер распознаёт файлы Python как исполняемые.

Установите Apache с помощью apt-get:

sudo apt-get install apache2

Как и MySQL, сервер Apache запустится разу после установки.

Примечание: После установки веб-сервера появляются открытые порты.

Теперь нужно поместить root-каталог сайта в надёжную точку системы. Стандартный каталог находится в /var/www/html. Следуя конвенции, создайте тестовый подкаталог по имени test в этом каталоге.

sudo mkdir /var/www/test

В завершение нужно настроить взаимодействие Python и Apache. Отключите многопоточные процессы.

sudo a2dismod mpm_event

После этого предоставьте Apache расширенные права на запуск скриптов.

sudo a2enmod mpm_prefork cgi

Затем измените настройки Apache, чтобы явно объявить файлы Python как исполняемые и разрешить запускать их. Откройте конфигурационный файл с помощью nano или любого другого текстового редактора.

sudo nano /etc/apache2/sites-enabled/000-default.conf

После строки добавьте следующий код:

Options +ExecCGI
DirectoryIndex index.py

AddHandler cgi-script .py

Убедитесь, что блок помещён в блок .

/etc/apache2/sites-enabled/000-default.conf

Options +ExecCGI
DirectoryIndex index.py

AddHandler cgi-script .py
.

Этот блок Directory позволяет настроить поведение Apache для этого каталога. Он сообщает Apache, что каталог /var/www/test содержит исполняемые файлы, задаёт index.py в качестве стандартного файла и затем определяет исполняемые файлы.

Также нужно разрешить исполняемые файлы в каталоге сайта. Для этого измените путь для DocumentRoot. Найдите строку, которая начинается с DocumentRoot /var/www/html, и измените её:

Теперь файл имеет такой вид:

/etc/apache2/sites-enabled/000-default.conf

Options +ExecCGI
DirectoryIndex index.py

AddHandler cgi-script .py
.
DocumentRoot /var/www/test
.

Сохраните и закройте файл. Чтобы изменения вступили в силу, перезапустите Apache.

sudo service apache2 restart

Читайте также:  Папка карантин защитник windows

Примечание: Apache 2 может вывести предупреждение о FQDN сервера. Его можно проигнорировать, так как директива ServerName еще не настроена.

Если в конце вывода находится строка [ OK ], Apache успешно перезапущен.

5: Тестирование настройки

Теперь нужно проверить, работает ли связка должным образом. Для этого создайте тестовую веб-страницу и БД.

Для начала создайте БД. Войдите в MySQL, введя root-пароль.

Теперь создайте тестовую БД (для примера назовём её example):

CREATE DATABASE example;

Откройте новую БД:

Добавьте таблицу для данных Python:

CREATE TABLE numbers (num INT, word VARCHAR(20));

Нажмите CTRL+D, чтобы выйти.

Затем создайте новый файл для простого приложения Python.

sudo nano /var/www/test/index.py

Скопируйте и внесите в него следующий код. В строке passwd укажите свой root-пароль MySQL.

#!/usr/bin/python
# Turn on debug mode.
import cgitb
cgitb.enable()
# Print necessary headers.
print(«Content-Type: text/html»)
print()
# Connect to the database.
import pymysql
conn = pymysql.connect(
db=’example’,
user=’root’,
passwd=’your_root_mysql_password’,
host=’localhost’)
c = conn.cursor()
# Insert some example data.
c.execute(«INSERT INTO numbers VALUES (1, ‘One!’)»)
c.execute(«INSERT INTO numbers VALUES (2, ‘Two!’)»)
c.execute(«INSERT INTO numbers VALUES (3, ‘Three!’)»)
conn.commit()
# Print the contents of the database.
c.execute(«SELECT * FROM numbers»)
print([(r[0], r[1]) for r in c.fetchall()])

Сохраните и закройте файл.

Затем установите права на новый файл.

Примечание: Более подробную информацию о правах можно найти в руководстве «Основы привилегий Linux».

sudo chmod 755 /var/www/test/index.py

При помощи браузера откройте http://ip_адрес_сервера. Появится такой вывод:

http://your_server_ip
[(1, ‘One!’), (2, ‘Two!’), (3, ‘Three!’)]

Заключение

Теперь сервер поддерживает Python 3 с надёжной базой данных на бэкэнде. Кроме того, управление пакетами стало гораздо проще, поскольку на сервере установлены удобные менеджеры пакетов.

Однако на данном этапе сервер несколько уязвим и требует дополнительной настройки. SSL-шифрование не является обязательным компонентом для работы сервера, однако это может значительно повысить уровень безопасности. Чтобы узнать, как получить и установить SSL-сертификат на веб-сервер Apache, читайте это руководство.

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как установить Python и PIP на Windows 10. Настройка Python в качестве модуля веб-сервера

Язык Python является в настоящее время очень популярным и многие инструменты для сбора информации, сканирования, тестирования на проникновение, оценки безопасности написаны на Python. Все эти инструменты без проблем работают в Linux. Но на самом деле, подавляющее большинство инструментов может работать и в Windows — достаточно просто выполнить несложную установку Python.

Python — это скриптовый (интерпретируемый) язык, то есть программы перед запуском не нужно предварительно компилировать. В этом смысле Python похож на PHP.

В настоящее время существует две главных версии Python:

Они существенно различаются между собой, в том числе и синтаксисом, то есть программа, написанная на одной версии, может не работать в интерпретаторе другой версии. Тем не менее сейчас уже обозначен срок завершения поддержки Python 2.x и эту версию можно считать устаревшей. Поэтому я предлагаю установить только Python 3. Хотя если вы не согласны, то пишите в комментариях и я дополню инструкцию установкой второй версии. Хоть мы не получим старую версию, зато я дополнительно покажу, как установить PIP — систему управления пакетами Python, — а также как подключить Python в качестве модуля веб-сервера — то есть он сможет выполнять такие же функции, что и PHP.

Как установить Python в Windows

Для Python 3.x также много активно поддерживаемых веток:

Последней стабильной версией на момент написания является Python 3.8.x.

Помните, что Python не будет работать на Windows XP или более ранних.

Кстати, ведь Python есть и в магазине приложений Windows,

где у него одна звезда (из пяти) и один отзыв (что ничего не работает):

Поэтому мы выполним установку с помощью официального установщика — это совсем просто.

Для скачивания установочного файла, перейдите на страницу загрузки установочных файлов для Windows: https://www.python.org/downloads/windows/

Выберите последний выпуск Python 3, на скриншоте это Python 3.8.0.

Пролистните страницу вниз и найдите «Windows x86-64 executable installer»:

Запустите скаченный файл:

Во-первых, поставьте галочку «Add Python 3.8 to PATH». Это нужно для того, что когда вы будете запускать скрипт на Python, вам не нужно будет указывать полный путь до интерпретатора.

Во-вторых, я рекомендую изменить папку, куда будет выполнена установка. Для этого кликните «Customize installation».

В этом окне ничего не меняем, главное убедитесь, что стоит галочка напротив pip:

В этом окне убедитесь, что стоит галочка «Add Python to environment variables» и поменяйте папку установки на «C:\Python\Python38»:

Нажмите кнопку «Install»:

И… всё готово! Согласитесь, это было реально просто.

У меня в Windows уже включена поддержка путей файлов длиной более 260 символов, но если у вас ещё это не сделано, то установщик в конце предложит это — чтобы это сделать, нажмите «Disable path length limit». Эта настройки ни на что плохо не влияет. Но нужно помнить, что старые программы по-прежнему могут быть неспособны работать с файлами, пути которых имеют более 260 символов.

Смотрите подробности в статьях:

Для проверки, откройте командную строку: нажмите Win+x и выберите «Windows PowerShell»:

Откроется PowerShell. Если вам привычнее обычная командная строка Windows (CMD), то нажмите Win+r и введите

В любом из открывшихся окон введите:

Должна появится версия Python, например:

Как запускать программы Python в Windows

Поскольку многие скрипты Python представляют собой утилиты с интерфейсом командной строки, то запускать их нужно в командной строке, иначе при двойном клике программа будет быстро завершать работу и вы ничего не увидите кроме мелькнувшего окна.

Читайте также:  Активировать trim mac os

Для запуска откройте командную строку и запустите команду вида:

Пример простой программы hello_world.py:

Как начать изучать Python

Материалов по изучению этого языка программирования много, могу порекомендовать один из них. Некоторое время назад мне попалась и запомнилась книга «Python для сетевых инженеров» — хорошо и доходчиво написано, в том числе для начинающих. В книге есть задания. Книга совершенно официально бесплатная от самого автора.

Как установить PIP в Windows

PIP — это менеджер пакетов, с помощью которого можно искать, устанавливать, обновлять и удалять пакеты Python. В качестве пакетов могут быть как библиотеки, которые являются зависимостями для других программ, так и полноценные программы. Причём PIP правильно обрабатывает зависимости — если для работы программы требуется другие пакеты Python, то PIP их также установит.

В Linux некоторые пакеты Python упакованы в качестве пакетов дистрибутива и распространяются через стандартные репозитории — но таких пакетов меньше, чем доступно в pip. Поэтому в Linux программа pip также используется. Что касается Windows, то здесь pip является самым удобным способом установить нужный пакет.

При установке среды Python описанным выше способом, менеджер пакетов pip также должен установиться. Вы можете проверить это:

Обновите важные компоненты:

Установка Средства сборки C++

Это опциональный шаг при установке pip — но если вы его пропустите, при попытке установить некоторые пакеты вы будете сталкиваться с ошибками.

На самом деле, при установке пакетов с помощью pip иногда выполняется в том числе и компиляция, чтобы это происходило без проблем, необходимо ещё и установить «Средства сборки C++». Для их установки скачайте и запустите файл vs_buildtools.exe. Во вкладке «Рабочие нагрузки» поставьте галочку «Средства сборки C++» и нажмите кнопку «Установить»:

Как пользоваться PIP в Windows

Для установки выполните команду вида:

В качестве примера попробуем установить программу hashID — это инструмент, написанный на Python 3, который поддерживает идентификацию более 220 уникальных типов хешей используя регулярные выражения.

Пример запуска hashID в Windows после установки:

Подключение модуля Python к веб-серверу Apache в Windows

Python может работать как модуль Apache, в этом случае скрипты Python будут выполнятся как, например, выполняются PHP скрипты. Причём оба интерпретатора могут работать одновременно.

Подразумевается, что Python у вас установлен по вышеприведённой инструкции, а веб-сервер установлен по инструкции «Установка веб-сервера (Apache 2.4, MySQL 8.0, PHP 7, phpMyAdmin) на Windows 10».

Настройка Apache на запуск Python CGI

Откройте для редактирования конфигурационный файл Apache httpd.conf, у меня он расположен по пути C:\Server\bin\Apache24\conf\httpd.conf.

Найдите там строку

и добавьте к ней ExecCGI. Должна получиться такая строка (ВНИМАНИЕ: набор опций у вас может быть другим):

Теперь найдите строку:

Раскомментируйте её, то есть удалите символ # в начале строки и добавьте к концу строки .py. Новая строка будет выглядеть примерно так:

Создайте тестовую страницу Python

В папке для ваших сайтов (у меня это C:\Server\data\htdocs\) создайте файл test.py и скопируйте в него:

Обратите внимание на самую верхнюю строку, то есть на C:\Python\Python38\python.exe — вам нужно заменить её на своё значение, указав путь до файла python.exe. Если у вас версия 3.9, то этой папкой может быть C:\Python\Python39\python.exe, то есть название папки может различаться в зависимости от установленной версии и путь до папки также может различаться в зависимости от того, какой вы выбрали при установке.

Должна будет появиться надпись

Как показано на скриншоте ниже:

Редакторы исходного кода Python

Если вы устанавливаете Python не только для запуска программ, но и для изучения языка программирования Python, то вам понадобятся редакторы исходного кода. Я могу порекомендовать парочку абсолютно бесплатных:

  • NetBeans — очень мощная, но и довольно требовательная к ресурсам IDE (интегрированная среда разработки). Я уже много-много лет работаю именно в этой IDE. Поддержка Python включается при установке соответствующего плагина.
  • Notepad++ — очень нетребовательный к ресурсам редактор программного кода. Поддерживает много языков программирования.

Решение ошибки error Microsoft Visual C++ 14.0 is required

При использовании менеджера пакетов pip на Windows вы можете столкнуться с ошибкой:

Начиная с 2017 самая новая версия Visual Studio может заменить любую требуемую версию Build Tools (инструментов сборки) C++. Для установки последней версии, скачайте и запустите файл vs_buildtools.exe. Во вкладке «Рабочие нагрузки» поставьте галочку «Средства сборки C++» и нажмите кнопку «Установить»:

Дополнительно выполните обновление setuptools:

Ошибки при компиляции в Python

Иногда при установке пакетов с помощью pip вы будете сталкиваться с ошибками вроде такой:

В ней сказано, что компиляция завершилась ошибкой из-за того, что не найден файл cairo.h.

Ещё один пример:

В этой ошибке сказано, что компиляция завершилась ошибкой из-за того, что не найден файл netinet/ip.h.

Точно такие же ошибки из-за отсутствия файлов с расширением .h могут возникать и в Linux. Файлы с расширением .h являются так называемыми заголовками — то есть файлами исходного кода для импорта в другие приложения. В каждом случае придётся индивидуально выяснять, к какому пакету относится отсутствующий файл и устанавливать этот пакет.

Оцените статью