Меню

Как настроить python server



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 представляют собой утилиты с интерфейсом командной строки, то запускать их нужно в командной строке, иначе при двойном клике программа будет быстро завершать работу и вы ничего не увидите кроме мелькнувшего окна.

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

Пример простой программы 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 являются так называемыми заголовками — то есть файлами исходного кода для импорта в другие приложения. В каждом случае придётся индивидуально выяснять, к какому пакету относится отсутствующий файл и устанавливать этот пакет.

Источник

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

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

Читайте также:  Hive os как настроить риг

Как правило, для работы с 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

Примечание: 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.

Читайте также:  Как настроить fe 004h kit

#!/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, читайте это руководство.

Источник

Пошаговый гайд: как установить и запустить Python

Python появился относительно недавно по сравнению с «мастодонтами» вроде C и «Фортрана», но сейчас он является вторым по популярности в мире языком программирования. Разбираем стартовые шаги.

Вопреки распространенному мнению, название Python образовано не от змеи, а от британской комик-группы Monty Python с гениальным абсурдистским юмором. Она была исключительно популярна в восьмидесятые годы, когда Гвидо ван Россум начал придумывать новый язык программирования. Но все уже привыкли к логотипу с двумя питонами.

Python (Питон) — высокоуровневый язык программирования общего назначения с минималистичным синтаксисом. Создан под влиянием языка ABC для обучения программированию. Другими словами, простой в изучении, очень понятный и универсальный язык. Первая версия вышла в феврале 1991 года, это один из языков последнего поколения. Хотя Python появился относительно недавно по сравнению с «мастодонтами» вроде C и «Фортрана» , но сейчас он является вторым по популярности в мире языком программирования.

В декабре 1989 года я искал проект, который бы стал хобби на рождественские каникулы. Офис со всем оборудованием не работал, и, не имея необходимых ресурсов, я начал дорабатывать ABC , но на протяжении работы я и не думал, что может получиться что-то серьезное.

Гвидо ван Россум
создатель языка Python

Автор Python — голландский программист Гвидо ван Россум , очень веселый парень, который носит официальный титул «великодушный пожизненный диктатор» (BDFL) проекта. Это означает, что он продолжает наблюдать за своим детищем со стороны, хотя «Питон» давно ушел в свободное плавание, то есть уполз на волю, если исходить из семантики.

Какой Python выбрать

«Питонов» действительно существует много. Так называют и абстрактный интерфейс, и различные реализации (имплементации) Python. Главное, что следует понять: Python — это именно интерфейс. CPython — эталонная реализация Python от Гвидо, которая считается стандартом де-факто. Но есть и другие реализации: Jython, PyPy, IronPython .

Python активно развивается, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. По этой и некоторым другим причинам на Python отсутствуют ANSI, ISO или другие официальные стандарты. Их роль выполняет CPython . Эта реализация написана на C , и часто ее называют просто Python . Поэтому вопрос «Как скачать Python?» обычно подразумевает скачивание и установку реализации СPython . Именно этот компилятор/интерпретатор распространяется с официального сайта python.org .

Что делает СPython? Он в определенном смысле компилирует исходный код Python в байткод, а затем интерпретирует этот байткод, запуская его на виртуальной машине CPython.

Например, в файлах с расширением .py хранится исходный код программ, а в файлах с расширением .pyc — «промежуточный» код, то есть скомпилированный байткод, который затем интерпретируется при выполнении в виртуальной машине CPython VM . Но, как уже упоминалось, вместо компилятора/интерпретатора CPython на языке C и виртуальной машины CPython VM можно использовать альтернативные компиляторы/интерпретаторы и виртуальные машины, написанные на других языках и лучше стыкующиеся с другими технологиями. Например, компилятор/интерпретатор Jython и виртуальную машину JVM (для платформы Java ). Или IronPython , написанный полностью на C # и предназначенный для .NET .

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

Итак, нужен стандартный интерпретатор CPython , установим его.

Источник