Django – среда обитания. Часть 1 – Мой выбор
Не так
давно, , узнал об одной перспективной штуке для создания web-сайтов, зовется которая - Django.
На wiki Django дано следующее определение:
«Django (Джанго) — свободный фреймворк для веб-приложений на языке Python.»
Потратив несколько дней на ознакомление с концепцией Django, а заодно и с замечательным языком Python, решил поплотнее изучить данную связку.
Пока занимался основами Python’а, работая под Windows, проблем особо не было. Но как дошла очередь до Django – работа локально перестала меня устраивать.
Искать бесплатный тестовый хостинг как-то не захотелось. Тем более, что таковых и платных-то в зоне .ru не много. Покупать же для тестов выделенный «виртуальный сервер» не хотелось вообще.
Т.е. мне стало срочно необходимо :) заиметь выделенный «виртуальный web-сервер» у себя в домашней локальной сети (ЛС).
Установка на домашний комп Linux в пару с Windows – отпала сразу. Отдельного компьютера под все это дело – тоже нет.
Так я подошел к мысли об использовании т.н. «Виртуальной Машины» (далее ВМ).
Для тех, кто не знаком с таким типом программ, посмотрите на ru.wikipedia.org
А если в двух словах, то…
- ВМ – программа, эмулирующая в вашей ОС работу еще одного компьютера (вообще-то необязательно «компьютера», например, есть ВМ Java)
- На виртуальный компьютер (далее ВК), созданный при помощи ВМ, можно поставить отличную от вашей основной операционную систему (ОС).
- При определенных настройках можно включить этот ВК в ЛС, либо в виртуальную (случай, когда у вас 1 компьютер), либо в реальную (как у меня).
В обоих случаях процесс запуска ВК выглядит так:
- Запускаете компьютер, грузится основная ОС (Windows, например)
- Запускаете программу ВМ
- Запускаете необходимый ВК (как вы поняли, их может быть несколько) с нужной вам ОС (Например, Ubuntu). Конечно же ОС туда надо предварительно поставить.
Итак, я думаю, идея ясна.
Приведу еще причины, которые окончательно склонили меня в пользу выбора именно такой настройки среды для фреймворка Django:
- Так как, на данный момент, для размещения сайта на Django в сети Интернет придется, скорее всего, покупать «виртуальный сервер», моя настройка как никогда подойдет для тестирования почти «в боевых условиях». Т.е. при переносе проекта в сеть надо будет сделать минимальные исправления. Плюс – без труда можно настроить несколько ВК с разными версиями ОС и др. программного обеспечения для максимального, так сказать, приближения к этим «боевым условиям».
- Установка ОС Linux будет осуществляться на более-менее стандартный ВК (ВМ это берет на себя). Т.е. отпадет большинство сложностей, связанных с драйверами различных устройств (хотя, я думаю, современные версии Linux таких проблем уже не имеют, или почти не имеют).
- Имея дома несколько компьютеров я без труда могу работать над проектом с любого из них (а если настроить VPN, то работать можно из любого места, где есть Интернет).
- Можно без опаски экспериментировать с установкой различных видов ОС и другого ПО, не боясь при этом испортить имеющиеся уже данные.
- Какое-никакое, а изучение Linux. Может когда и пригодится :)…
В общем получаются – одни плюсы кругом…
Перечислю задачи, которые будем решать на пути к получению web-сервера с Django:
- Установка программы ВМ.
- Создание ВК.
- Установка на ВК операционной системы семейства Linux.
- Настройка ВК в качестве web-сервера для ЛС.
- Установка и настройка на web-сервере фреймворка Django, и другого программного обеспечения, необходимого для работы с ним.
Теперь о причинах, побудивших меня написать эту статью.
Я принялся за это будучи, обладая лишь начальными сведениями о Django. Но, что еще хуже – работающую ОС Linux я видел только у себя в офисе, в виде выделенного файл-сервера, без монитора :). Его установку, настройку, администрирование выполнял приходящий сисадмин.
Тем не менее это меня не остановило, и имея под рукой интернет с Яндексом во главе, в течении каких-то (?!) 6-7 дней, я все же добился поставленной цели. Подтвердив еще раз всем известное, что «Не так страшен черт (Linux), как его малюют» :).
Все сведения, приведенные далее, получены из десятков различных источников в сети. Эти данные порой были неточные, противоречивые. На тесты\проверки уходило очень много времени. Я стал записывать этот процесс, чтобы ничего не забыть. Так как писал очень подробно, получился довольно длинный мануал. Чтобы облегчить жизнь себе подобным, решил выложить его здесь. Если вам пригодится – буду рад.
Я не стал подробно изучать описывать работу\настройку ВМ, Linux, и других упоминающихся здесь программ, на это ушло бы гораздо больше времени. Перед собой я поставил конкретную цель (см. выше), и я ее добился. Здесь будет поэтапно описан лишь необходимый для выполнения поставленной задачи процесс, проделанный мной. Наверняка какие-то действия, связанные с настройкой Linux, можно было сделать более правильно (процесс установки, настройки, связанные с безопасностью, и т.д. и т.п.). Если у вас будут замечания – с удовольствием приму их к сведению.
Итак, приступим…
Django – среда обитания. Часть 2 – Установка VMWare и Ubuntu