Меню

Как установить django cms на хостинг

Как установить Django на хостинг

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

Важно: Django доступен только для панели управления ISPmanager. Ваш домен должен быть привязан к услуге хостинга. Если вы это еще не сделали, воспользуйтесь инструкцией Как привязать домен к хостингу

Как установить Django

Перейдите в раздел WWW-домены, выберите домен, для которого вы хотите установить Django, и нажмите Изменить:

В разделе «Дополнительные возможности» включите CGI-скрипты, Python, выберите Версию Python и нажмите Ok:

Перейдите в каталог вашего пользователя с помощью команды: cd

Убедитесь, что вы в нужном каталоге, выполнив команду: pwd

Создайте виртуальное окружение (Virtualenv) с произвольным именем. Виртуальное окружение необходимо создать для версии Python, которой вы планируете пользоваться для вашего проекта. Она должна совпадать с версией в шаге 3.

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

Для создания виртуального окружения выполните команду:

python-3.7.6 — ваша версия Python,

djangoenv — название вашего виртуального окружения.

Активируйте ваше виртуальное окружение с помощью команды:

Где djangoenv — название вашего виртуального окружения.

Если слева от строки ввода команды появилось название вашего виртуального окружения, значит, оно активировалось:

Обновите pip, установите пакеты Django и mysqlclient с помощью команды:

Перейдите в корневой каталог вашего сайта с помощью команды:

Убедитесь, что вы в нужном каталоге, выполнив команду:

Важно: перед созданием проекта удалите все файлы и папки из каталога вашего сайта.

Создайте новый проект в корневом каталоге:

django-admin.py startproject project_name

Где project_name — название вашего проекта.

Откройте настройки вашего файла командой:

Где project_name — название вашего проекта.

В секции ALLOWED_HOSTS = [] добавьте имя вашего домена и его псевдонимы:

В секции DATABASES укажите данные для подключения к MySQL:

Если у вас нет базы данных, вы можете создать её по инструкции Как создать базу данных?

Ниже секции STATIC_URL добавьте новую секцию: STATIC_ROOT=’static/’

После внесения изменений нажмите ESC для выхода в командный режим. Для сохранения изменений и выхода введите :wq и нажмите «Enter».

Создайте каталог со статическими файлами командой:

python project_name/manage.py collectstatic

Где project_name — название вашего проекта.

Выполните миграцию в MySQL с помощью команды:

python project_name/manage.py migrate

Создайте в корневом каталоге вашего сайта конфигурационный файл с именем passenger_wsgi.py и запишите в нем следующее:

В строке sys.path.insert(0, ‘/var/www/u0000006/data/www/faq-reg.ru/project_name’) измените путь к вашему проекту. Вместо u0000006 используйте логин вашей услуги хостинга: Как узнать логин хостинга. Путь к вашему проекту вы можете увидеть в панели управления:

В строке: sys.path.insert(1, ‘/var/www/u0000006/data/djangoenv/lib/python3.7/site-packages’) укажите путь до каталога вашего виртуального окружения. Вместо u0000006 используйте логин вашей услуги хостинга: Как узнать логин хостинга. Путь к вашему виртуальному окружению вы можете увидеть в панели управления:

Готово, по адресу вашего домена должна отобразиться стартовая страница Django.

Источник

Установка и настройка Django CMS на сервере Debian 7 и Ubuntu 13

Вступление

Django CMS – система управления контентом, разработанная для веб-приложений на основе фреймворка Django. Сегодня из трех десятков других доступных вариантов данная система, пожалуй, является самой популярной

Безусловно, эта зрелая, готовая к производству CMS, которой доверяют многие профессионалы и известные бренды со всего мира – великолепный выбор для разработки проектов.

Данная статья описывает установку и настройку Django CMS на Debian 7 и Ubuntu 13 VPS, а также подготовку данной системы к использованию. Если вы заинтересованы в работе с Django [CMS], но не имеете навыков использования фреймворков или языка программирования Python, не стоит беспокоиться: с Django CMS поставляется относительно простая и довольно информативная документация по разработке, с которой будет полезно ознакомиться после прочтения этого руководства. Последнюю версию документации можно найти по этой ссылке.

Pip: менеджер пакетов Python

Pip — менеджер пакетов, помогающий установить необходимые программные пакеты (инструменты, библиотеки, приложения и др.).

Читайте также:  Как установить часы на экран телефона алкатель

Setuptools: утилита распространение пакета Python

Библиотека setuptools, единственная зависимость pip, основана на функциональности набора стандартных утилит распространения программного обеспечения языка Python под названием distutils.

Virtualenv: построитель виртуальной среды Python

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

При определенных обстоятельствах это может привести к серьезным сбоям уже настроенных и стабильно работающих приложений. Любой установленный или удаленный пакет так или иначе влияет на всю систему; следовательно, неверная версия библиотеки или модуля может стать причиной общесистемных повреждений. Потому часто на начальном этапе разработки необходима чистая рабочая среда.

Именно для этого существует инструмент virtualenv; с его помощью можно отделить репозиторий приложения Django CMS и его сложные зависимости от всей системы, что одновременно помогает поддерживать порядок в системе и облегчает техническое обслуживание.

Установка Django CMS

Процесс установки состоит из пяти действий.

1: Подготовка операционной системы

Примечание: Данное руководство использует новый, чистый VPS. Это помогает избежать возникновения связанных с ПО или безопасностью проблем.

Для начала нужно обновить систему. Обновите список программного обеспечения репозитория, а затем — установленные на машине инструменты до более актуальных версий:

aptitude update
aptitude upgrade

Теперь можно приступить к установке других необходимых программных средств и библиотек, а именно:

Чтобы скачать и установить их, запустите:

aptitude install libpq-dev python-dev libjpeg-dev libpng-dev

2: Установка виртуальной среды

Все нужные пакеты работают на Python. Установка Debian 7 по умолчанию поставляется с версией Python 2.7, которая отвечает требованиям разработки. Потому можно перейти к инсталляции pip, который понадобится для установки virtualenv (и других пакетов).

Прежде чем установить pip, необходимо установить его зависимость – setuptools.

2.1: Установка setuptools

Загрузить установочные файлы setuptools можно с помощью инструмента под названием curl. Данные файлы не только автоматизируют процесс установки, но и предоставят последнюю версию необходимой программы. На данном этапе curl проверит SSL-сертификаты из исходного кода и передаст данные интерпретатору Python.

Выполните следующую команду:

Это позволит установить setuptools в рамках всей системы.

Теперь можно установить и настроить pip.

2.2: Установка pip

Для загрузки и установки инструмента снова используйте curl. Запустите следующее:

Это позволит установить pip общесистемно.

По умолчанию pip устанавливает файлы в /usr/local/bin. Этот путь нужно внести в PATH, чтобы иметь возможность запускать данный инструмент с помощью команды pip. Итак, выполните:

После инсталляции менеджера пакетов pip установка всех остальных пакетов сводится к одной строке: pip install имя_пакета. Тем не менее, чтобы получить последнюю версию virtualenv, нужно указать pip ее адрес.

2.3: Установка virtualenv

Чтобы pip установил virtualenv, запустите следующее:

pip install https://github.com/pypa/virtualenv/tarball/1.9.X

Это установит virtualenv общесистемно.

Стандартная установка virtualenv имеет следующий вид:

pip install virtualenv

Это также установит virtualenv в рамках всей системы.

3: Подготовка виртуальной среды (venv) для Django CMS

Теперь все необходимые инструменты готовы, можно переходить к подготовке виртуальной среды для хранения Django CMS.

Для начала нужно инициировать venv (virtual environment) под названием django_cms с помощью инструмента virtualenv и перйти в папку проекта:

virtualenv django_cms
cd django_cms

В данном случае имя папки репозитория проекта — django_cms, но можно, конечно, установить любое имя. Имейте в виду, имя, никак не связанное с проектом, в будущем может привести к проблемам с обслуживанием.

Для использования виртуальной среды необходимо ее активировать.

Для дезактивации среды используется команда deactivate.

4: Установка зависимостей Django CMS

4.1: Установка pillow (замена PIL)

Одна из необходимых зависимостей – это библиотека Python Imaging Library (или PIL), которая используется Django CMS (вместе с другими библиотеками, установленными ранее) для обработки изображений.

Читайте также:  Как установить шрифты в фотошоп кс5

Но вместо PIL иногда лучше использовать более удобное ответвление данной библиотеки под названием Pillow. Данный пакет совместим с setuptools и автоматически устраняет некоторые проблемы, связанные с использованием PIL в виртуальной среде.

Чтобы скачать и установить Pillow, запустите:

django_cms$ pip install pillow

Поскольку виртуальная среда была активирована, Pillow не будет установлена общесистемно.

4.2: Установка драйверов базы данных

Django [CMS] позволяет выбрать несколько процессоров базы данных для питания приложения, а именно PostgreSQL, MySQL, Oracle и SQLite. Проект Django рекомендует использовать PostgreSQL (для этого необходимо установить некоторые библиотеки и драйвера, которые позволят использовать PostgreSQL в качестве внутреннего интерфейса приложения).

Адаптер базы данных PostgreSQL, который использует Django, называется psycopg2. Для его работы нужна библиотека libpq-dev (была установлена в начале руководства). Поэтому можно просто выполнить следующую команду для установки psycopg2 в venv:

django_cms$ pip install psycopg2

Поскольку venv активирована, psycopg2 не будет установлен общесистемно.

Примечание: данная команда подготавливает PostgreSQL для Django, но не выполняет полностью настроенной установки. Чтобы получить инструкции по дальнейшей работе PostgreSQL на Django, читайте данную статью.

Далее используется база данных SQLite. Для дальнейшей работы с PostgreSQL, пожалуйста, установите данный параметр.

5: Установка и настройка Django CMS внутри виртуальной среды Python

5.1: Установка Django CMS

Django CMS поставляется с рядом других зависимостей, которые еще необходимо установить. Тем не менее, благодаря pip оставшиеся зависимости можно установить и настроить автоматически с помощью пакета Django CMS: django-cms.

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

django_cms$ pip install django-cms

Поскольку виртуальная среда была активирована, данный пакет не будет установлен общесистемно.

Теперь все необходимые компоненты установлены: Django, django-classy-tags, south, html5lib, django-mptt, django-sekizai.

5.2: Настройка Django CMS

Создание проекта Django CMS состоит из двух этапов. Сначала нужно создать обычный проект Django в виртуальной среде, а затем перейти к его настройке, чтобы он работал как проект Django CMS.

Итак, создайте проект Django. Назовем его dcms (но, конечно, можно выбрать абсолютно любое имя).

django_cms$ django-admin.py startproject dcms
django_cms$ cd dcms

Это создаст проект. Чтобы протестировать инсталляцию, прежде чем перейти к настройке проекта, запустите следующее (это действие запустит простой сервер разработки, к которому можно получить доступ извне):

django_cms$ python manage.py runserver 0.0.0.0:8000

Теперь посетите URL в браузере, заменяя 0.0.0.0 реальным IP-адресом.

Для завершения процесса настройки следуйте данным инструкциям.

5.3: Завершение настройки в соответствии с вводным руководством

Большинство конфигураций Django CMS находится в файле settings.py, расположенном в папке проекта.

Откройте данный файл в предпочитаемом текстовом редакторе. В данном руководстве используется nano.

django_cms$ nano dcms/settings.py

Внесите в начало файла следующие строки:

Для начала найдите раздел INSTALLED_APPS. В данном разделе под списком уже существующих модулей нужно внести имена недавно установленных приложений, включая модуль Django CMS.

Как говорится в Django CMS:

Добавьте следующие приложения в INSTALLED_APPS. Данный список содержит django CMS, а также зависимости данной системы и другие рекомендованные приложения/библиотеки:

‘cms’, # django CMS itself
‘mptt’, # utilities for implementing a modified pre-order traversal tree
‘menus’, # helper for model independent hierarchical website navigation
‘south’, # intelligent schema and data migrations
‘sekizai’, # for javascript and css management

Примечание: прежде чем двигаться дальше, не забудьте раскомментировать django.contrib.admin. Данный модуль необходим для процедуры установки.

Затем найдите MIDDLEWARE_CLASSES и внесите следующие строки в конец раздела:

‘cms.middleware.page.CurrentPageMiddleware’,
‘cms.middleware.user.CurrentUserMiddleware’,
‘cms.middleware.toolbar.ToolbarMiddleware’,
‘cms.middleware.language.LanguageCookieMiddleware’,

После этого данный раздел должен выглядеть примерно так:

MIDDLEWARE_CLASSES = (
‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
# Раскомментируйте следующую строку:
# ‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
‘cms.middleware.page.CurrentPageMiddleware’,
‘cms.middleware.user.CurrentUserMiddleware’,
‘cms.middleware.toolbar.ToolbarMiddleware’,
‘cms.middleware.language.LanguageCookieMiddleware’,
)

Как говорится в документации Django CMS, далее необходимо добавить недостающий элемент блока кода в файл. В settings.py. данного раздела не существует. Скопируйте и вставьте данный блок кода в свободное место в файле:

TEMPLATE_CONTEXT_PROCESSORS = (
‘django.contrib.auth.context_processors.auth’,
‘django.core.context_processors.i18n’,
‘django.core.context_processors.request’,
‘django.core.context_processors.media’,
‘django.core.context_processors.static’,
‘cms.context_processors.media’,
‘sekizai.context_processors.sekizai’,
)

Теперь нужно найти и отредактировать директивы STATIC_ROOT and MEDIA_ROOT следующим образом:

Читайте также:  Как установить world of warcraft на компьютер

MEDIA_ROOT = os.path.join(PROJECT_PATH, «media»)
MEDIA_URL = «/media/»

STATIC_ROOT = os.path.join(PROJECT_PATH, «static»)
STATIC_URL = «/static/»

Затем отредактируйте директиву TEMPLATE_DIRS:

TEMPLATE_DIRS = (
os.path.join(PROJECT_PATH, «templates»),
)

Django CMS требует определить хотя бы один шаблон, который нужно затем установить в CMS_TEMPLATES. Внесите следующий блок кода в файл, при необходимости отредактируйте его.

CMS_TEMPLATES = (
(‘template_1.html’, ‘Template One’),
)

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

В завершениее задайте процессор базы данных. Отредактируйте настройки DATABASES и внесите в них PostgreSQL, как показано ниже или используйте приведенные ниже конфигурации, чтобы временно установить базу данных SQLite

DATABASES = <
‘default’: <
‘ENGINE’: ‘django.db.backends.sqlite3’,
‘NAME’: os.path.join(PROJECT_PATH, ‘database.sqlite’),
>
>

Конфигурирование settings.py завершено. Теперь сохраните изменения и закройте его (CTRL+X и Y для подтверждения).

Теперь необходимо определить маршруты проекта.

Для этого отредактируйте файл urls.py:

django_cms$ nano dcms/urls.py

Замените содержимое файла следующим отрезком кода:

from django.conf.urls.defaults import *
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = i18n_patterns(»,
url(r’^admin/’, include(admin.site.urls)),
url(r’^’, include(‘cms.urls’)),
)
if settings.DEBUG:
urlpatterns += patterns(»,
url(r’^media/(?P

Имейте в виду, последнее выражение в приведенном выше фрагменте несколько отличается от начальных настроек Django CMS, где строка «urlpatterns = patterns(» заменена строкой «urlpatterns += patterns(» с целью решить проблему переопределения переменной urlpatterns, установленной выше.

Снова нажмите CTRL+X, а затем Y, чтобы сохранить и выйти.

Создайте папку templates:

django_cms$ mkdir templates

Создайте примерный шаблон базы для расширения:

Источник

Автоустановка Django

Здравствуй, Хабр!
Группа товарищей из КОМТЕТ — администраторы и программисты — поставляет хостинг в привычном аудитории комплекте php/python/perl/ruby, но старается предложить что-то новое и продолжает развиваться.
На Хабре хотим не только поделиться опытом, как организовать хостинг «всё в одном» и выжить, но надеемся на отзывы хабралюдей о наших нововведениях. За время существования мы сталкивались со множеством подводных камней — как в технических вопросах, так и в политических и правовых, практика работы будет интересна, от общения и сотрудничества с зарубежными компаниями Parallels, Invision Power, Boonex и другими, до публикаций на Яндекс.Новостях, CMS Magazine наших RSS-каналов.
Интересы — от разработок PHP-движков в России и автоматизации работы хостинга, до развития Python-фреймворков и систем виртуализации.
Надеемся, что наши статьи и новости будут интересны здесь и очень рассчитываем на мнение и советы Хабра.

Спасибо за рекомендации сообщества в комментариях, добавлен материал, планировавшийся к публикации завтра:

Django и хостинг

Django не нуждается в представлении, самый активно развивающийся python-фреймворк на данный момент. КОМТЕТ предлагает Клиентам 4 основных фреймворка: Zope, Django, TurboGears, Pylons (и первым в списке появился именно Zope), но Django-проектов значительно больше. Zope имеет достаточно высокий порог вхождения и в основном используется для серьёзных порталов в связке с CMS Plone (наиболее яркий пример archi.ru), а TurboGears и Pylons малоизвестны в России.
Что же сейчас предлагается на рынке для размещения Django-сайтов?

Предустановленный Django

Наиболее распространённый вариант поддержки – предустановленная версия Django + Python. Очевидный минус – нет возможности самостоятельно перейти на новую версию Django без желания хостера. При смене версии – может перестать работать Ваш проект, по причине отсутствия полной совместимости. Выход из этого есть – установка новой версию Django «рядом» с существующей. И для перехода на новую версию достаточно изменить пути в файлах конфигурации проекта.
На заметку: на тарифах без SSH – можно разместить готовый проект, при необходимости, перезапуск проекта осуществляя вызовом php-скрипта:

Своя версия Django

При наличии полного SSH-доступа к консоли – есть возможность установить свою версию Django+Python. Собственно, идеальный вариант для профессионала, т.к. за счёт использования virtualenv – даёт полную независимость проекта.

«Автоустановка»

Как это выглядит:

Заранее благодарен за комментарии. Статью буду править по мере комментирования материала. Если некоторые моменты в автоустановке не понятны, обязательно распишу детально.

Спасибо за внимание!

С уважением,
Ивановский Михаил.
КОМТЕТ

Источник