оригинальная версия версия для слабовидящих контрастная версия выключить изображения включить изображения RSS FEED K2 NEWS
Среда, 06 Январь 2021 12:51

Создаём простой сайт на python3

Первое, что сразу хочется отметить, что обзор изначально предполагает работу на Kali Linux (ну или другой Linux, например, Debian или Ubuntu), у меня есть необходимость в том, чтобы «привыкнуть» к этой операционной системе (а кроме того, приучить ещё пару-тройку человек), и лучше всего это делается при выполнении неких «упражнений».

Несмотря на то, что основной инструментарий Kali Linux предназначен, чтобы ломать, я сторонник теории, что лучше всех «ломает» тот, кто строил. Уж эти так ломают, как другие никогда не справятся. Ведь не зря говорят «ломать не строить, душа не болит», вот и будем строить с душой то, что в будущем придётся ломать (а там и знать, как защищать).

Первая задача – написать простой сайт на python3. Но, прежде чем у нас будет возможность приступить к самому сайту надо сначала запустить сервер, на котором он будет работать. Для этого мы создадим каталог (папку) в которой будем работать. Свой каталог я назвал «sites».

«По умолчанию» python3 уже имеет свой сервер и нам нужно лишь запустить его, это делается простой командой:

python3 -m http.server --cgi

Но стоит закрыть терминал, как придётся снова и снова вводить эту команду, что не очень-то удобно (особенно человеку привыкшему всё решать путём двух кликов мыши).

Это тоже решаемо, для начала перейдём в каталог:

cd sites

Теперь нам надо создать файл содержимое, которого будет выше написанная строка, в Linux пишем команду:

touch server.py

Вместо server.py Вы можете назвать файл как-нибудь иначе. Я думаю, открыть и добавить текст у Вас проблемы не возникнет, а вот чтобы файл был «исполняемым» (чтобы запускался с двух кликов мыши по нему, это так же требует команды.

При попытке запуска:

./server.py

Получите ответ:

Bash: ./server.py: Отказано в доступе

Причина тому не установленные атрибуты файла, поэтому следующая наша команда:

chmod ugo+rwx server.py

И запустив:

./server.py

Получаем результат:

Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …

Кстати, localhost и 127.0.0.1 так же будут доступны.

С настройкой и запуском сервера (одним кликом мыши) мы закончили, приступаем к созданию простой страницы сайта (после перейдём к более сложным процедурам). Работать мы будем с CGI-скриптами, а значит сначала создадим каталог (внутри каталога sites) cgi-bin.

Внутри каталога cgi-bin создаём файл hello.py, если у Вас всё ещё запущен сервер, то откройте новое окно терминала:

cd sites/cgi-bin
touch hello.py

Теперь редактируем hello.py:

#!/usr/bin/env python3

print("Content-type: text/html")

print()

print("<h1>Привет мир!</h1>")

Спонсоры: