Установка Django 1.9 на Ubuntu 15.04
Коротко о Django
Django — это веб‑фреймворк на Python, реализующий архитектурную парадигму MVC (Model‑View‑Controller). Он распространяется как свободное ПО с открытым исходным кодом и поддерживается Django Software Foundation. Django ускоряет разработку и помогает избегать распространённых уязвимостей: SQL Injection, XSS, CSRF и clickjacking. Многие крупные проекты использовали Django для продакшн‑сайтов.
Краткое определение: MVC — разделение приложения на модель данных, представление (шаблоны) и контроллер (логика/маршрутизация).
Содержание
- Требования
- Шаг 1 — Обновление репозиториев Ubuntu
- Шаг 2 — Установка Django (три метода)
- Установка pip3
- Установка Django через pip
- Установка Django в virtualenv
- Установка Django из репозитория Git
- Шаг 3 — Создание первого проекта
- Полезные советы и частые ошибки
- Безопасность и рекомендации для продакшна
- Контрольные списки и критерии приёмки
- Резюме
Требования
- Сервер с Ubuntu 15.04 64‑бит.
- Доступ с root или права sudo.
- Рекомендация: использовать отдельный пользователь/виртуальные окружения для приложений.
Important: Ubuntu 15.04 устарела и больше не получает обновлений безопасности. Для продакшна рассмотрите более свежую LTS‑версию Ubuntu (например, 18.04/20.04/22.04). В статье сохранены команды и примеры для 15.04, как в оригинальном источнике.
Шаг 1 — Обновление репозитория Ubuntu
Перед началом обновите список пакетов и получите права администратора.
sudo su
apt-get updateЭто гарантирует, что вы устанавливаете последние доступные пакеты для данной версии Ubuntu.
Шаг 2 — Установка Django
Ниже представлены три подхода. Выберите один, наиболее подходящий для вашей задачи. Не используйте одновременно все три.
Объяснение терминов:
- pip — менеджер пакетов Python.
- virtualenv — инструмент для создания изолированных Python‑окружений.
- git — система контроля версий, позволяющая клонировать исходный код.
Установка pip для Python 3
В этой инструкции мы используем Python 3, как рекомендовано в исходном материале. Для установки pip для Python 3 используйте пакет из репозитория Ubuntu:
apt-get install python3-pipПосле установки появится бинарник pip3; для удобства можно создать симлинк pip → pip3:
which pip3
ln -s /usr/bin/pip3 /usr/bin/pipПроверим версию pip:
pip -VТеперь pip доступен и готов к установке пакетов.
1. Установка Django через pip
Это самый простой путь для быстрого развёртывания фреймворка в системе или в уже активированном виртуальном окружении.
Установка конкретной версии 1.9:
pip3 install django==1.9Примечание: использовать точную версию (например django==1.9), если вам нужна именно эта сборка. Для другой версии укажите соответствующий номер.
Проверка установленной версии Django:
django-admin --versionАльтернативный способ проверки внутри Python:
python3
import django
print(django.get_version())
ALT: Скриншот терминала с подтверждением установки Django через pip.
Как видно, Django 1.9 установлен в систему.
2. Установка Django в virtualenv
Virtualenv создаёт изолированное окружение Python с собственными бинарниками pip и python. Это лучший вариант для разработки и развёртывания, чтобы избежать конфликтов версий зависимостей между проектами.
Установка virtualenv глобально (в системе):
pip install virtualenvСоздание окружения с конкретной версией Python (в примере python3.4):
virtualenv --python=python3.4 mynewenvПояснения:
- –python=python3.4 — бинарник Python, который будет использован внутри окружения.
- mynewenv — имя создаваемой директории окружения.
После создания зайдите в окружение:
source myproject/bin/activateЕсли команда source недоступна, можно использовать точечный вызов:
. mynewenv/bin/activate
ALT: Терминал с выполнением команды создания и активации virtualenv, показывающий префикс окружения в приглашении.
Чтобы выйти из окружения, используйте команду:
deactivateВнутри окружения pip доступен локально. Установите Django:
pip install django==1.9Проверка версии:
django-admin --version
ALT: Скриншот терминала с подтверждением установки Django 1.9 внутри виртуального окружения.
Virtualenv позволяет поддерживать несколько проектов с разными требуемыми версиями библиотек на одной машине.
3. Установка Django из Git репозитория
Если вам нужен последний исходный код (например, для тестирования текущих коммитов или участия в разработке), клонируйте репозиторий Django и установите пакет в editable режиме.
Установите git, если он отсутствует:
apt-get install git -yКлонируем репозиторий и устанавливаем:
cd ~
git clone git://github.com/django/django django-dev
pip install -e django-dev/Флаг -e устанавливает пакет в editable режиме, то есть изменения в локальной копии будут сразу отражаться при импорте.
После установки проверьте версию:
django-admin --version
1.10.dev20151213153331Примечание: при установке из Git вы можете получить девелоперскую сборку (dev‑версию). Это удобно для тестирования, но не рекомендуется для продакшена.
Шаг 3 — Создание первого проекта Django
В этом разделе создадим новый проект внутри virtualenv и запустим встроенный сервер разработки.
Создадим виртуальное окружение firstdjango:
pip install virtualenv
virtualenv --python=python3.4 firstdjangoПерейдём в каталог окружения, активируем его и установим Django 1.9:
cd firstdjango/
source bin/activate
pip install django==1.9
ALT: Терминал с командой установки Django и созданием проекта myblog.
Создадим проект myblog:
django-admin startproject myblogСтруктура создаст директорию myblog, в которой будут файлы управления и модуль проекта. Пример вывода:
ll myblog
-rwxr-xr-x 1 root root 249 Dec 15 09:01 manage.py*
drwxr-xr-x 2 root root 4096 Dec 15 09:01 myblog/Запустим встроенный сервер разработки (не для продакшена) и откроем проект в браузере:
cd myblog/
python manage.py runserverПо умолчанию runserver запускает сервер на localhost:8000. Если ваш сервер имеет IP‑адрес в сети и вы хотите просмотреть сайт из браузера на другой машине, укажите адрес сервера:
python manage.py runserver 192.168.1.106:8000Теперь откройте в браузере http://192.168.1.106:8000

ALT: Браузер, отображающий стандартную стартовую страницу Django.
В логах сервера вы увидите обращения:
[15/Dec/2015 09:08:12] "GET / HTTP/1.1" 200 1767Миграции и создание суперпользователя
Перед созданием администратора выполните миграции, чтобы применить схемы баз данных (по умолчанию — SQLite):
python manage.py migrateСоздадим суперпользователя:
python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.Запустите сервер и войдите в панель администратора по адресу /admin/ (например, http://192.168.1.106:8000/admin/).
Полезные советы и частые ошибки
- Не используйте встроенный runserver в продакшне. Этот сервер предназначен для разработки — он не масштабируется и не безопасен под нагрузкой.
- Всегда используйте виртуальные окружения для каждого проекта. Это минимизирует конфликты зависимостей.
- Если команда django-admin не найдена, проверьте, что активировано окружение и что pip установил пакет в то же окружение.
- При установке из Git убедитесь, что установлены все зависимости (например, пакеты для работы с базами данных).
- Проблемы с разрешениями файлов решаются запуском команд от пользователя с соответствующими правами или корректной настройкой владельца/группы.
- Для Python 3 используйте pip3 или создавайте симлинк pip → pip3, как показано выше.
Counterexample — когда такой подход не подойдёт:
- Если вам нужна стабильность и поддержка конкретных LTS‑сборок, установка dev‑ветки из Git может привести к неожиданным проблемам.
- Если ваша инфраструктура требует контейнеризации (Docker, Kubernetes), лучше подготовить Dockerfile и устанавливать зависимости внутри контейнера.
Рекомендации по безопасности и развёртыванию в продакшн
Ключевые замечания перед выводом проекта в продакшн:
- DEBUG = False в settings.py.
- Установите ALLOWED_HOSTS корректно.
- Не используйте встроенный SQLite для высоконагруженных приложений; подключите PostgreSQL, MySQL или другую СУБД.
- Секретный ключ (SECRET_KEY) храните в окружении или защищённом хранилище, а не в репозитории.
- Настройте HTTPS (TLS), обычно через обратный прокси nginx или балансировщик.
- Используйте Gunicorn/uwsgi + nginx для сервера приложений и отдачи статических/медиафайлов.
- Регулярно обновляйте зависимости и следите за уязвимостями.
Security hardening — базовый чеклист:
- Запретить отладочную информацию в публичном доступе.
- Ограничить доступ к административной панели (по IP или через VPN).
- Настроить CSP, X-Frame-Options, Strict-Transport-Security заголовки.
- Регулярно делать резервные копии базы данных.
Контрольные списки по ролям
Разработчик:
- Создано виртуальное окружение для проекта.
- Установлены зависимости в requirements.txt (pip freeze > requirements.txt).
- Настроены настройки для разных сред (dev, staging, prod).
- Написаны базовые тесты и запущен тестовый прогон.
Системный администратор:
- Установлены и настроены nginx и gunicorn/uwsgi.
- Настроено автоматическое развёртывание (CI/CD) или скрипты развёртывания.
- Настроены бэкапы и мониторинг.
DevOps/Инженер релиза:
- Среда сборки и тестирования изолирована (контейнеры/виртуальные машины).
- Есть план отката при неудачном релизе.
Мини‑SOP: Быстрая инструкция для установки и запуска проекта
- На сервере обновите пакеты:
apt-get update && apt-get upgrade- Установите Python 3 и pip3, затем virtualenv:
apt-get install python3 python3-pip -y
pip3 install virtualenv- Создайте и активируйте окружение:
virtualenv --python=python3.4 projectenv
source projectenv/bin/activate- Установите Django (или прочитайте requirements.txt):
pip install django==1.9
# или
pip install -r requirements.txt- Создайте проект и выполните миграции:
django-admin startproject myproject
cd myproject
python manage.py migrate
python manage.py createsuperuser
python manage.py collectstatic- Для продакшна настройте Gunicorn и nginx, отключите DEBUG.
Критерии приёмки
- Сервер возвращает HTTP 200 для корневого URL.
- Админ‑панель доступна по /admin/ и авторизация проходит успешно.
- Миграции выполнены без ошибок.
- Виртуальное окружение настроено, зависимости зафиксированы в requirements.txt.
Диагностика типичных проблем
- «Command ‘django-admin’ not found» — активируйте виртуальное окружение или проверьте PATH.
- Проблемы с привилегиями при установке пакетов — избегайте sudo pip; предпочитайте виртуальные окружения.
- Ошибки импорта после установки из Git — убедитесь, что pip install -e выполнился в том же окружении.
Совместимость и миграция версий
Django 1.9 — версия, актуальная на момент исходной инструкции. При обновлении на более современные версии Django внимательно читайте release notes: API и настройки могли измениться, появилось больше встроенных функций безопасности и поддержки современных версий Python.
Edge case: Если вы поддерживаете устаревший проект на Python 2, планируйте миграцию на Python 3 и соответствующую версию Django — это требует тестирования и возможно изменений в коде.
Заключение
Django — мощный инструмент для быстрой разработки веб‑приложений. В этой статье показаны три подхода к установке: через pip, в virtualenv и из Git. Для разработки и продакшна рекомендуется использовать виртуальные окружения, фиксировать зависимости и следовать правилам безопасности (DEBUG=False, HTTPS, надёжное хранение SECRET_KEY). Создание первого проекта и запуск встроенного сервера даёт быстрый старт, но для реального развёртывания нужны Gunicorn/nginx и корректная конфигурация базы данных.
Краткий план действий для старта:
- Обновите систему.
- Создайте virtualenv и активируйте его.
- Установите Django через pip.
- Создайте проект, выполните миграции, создайте суперпользователя.
- Переведите приложение на продакшн‑стек (Gunicorn + nginx), настройте HTTPS и мониторинг.
Если нужно, могу подготовить Dockerfile и пример конфигурации nginx + gunicorn для этого проекта.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента