Установка Django CMS в Virtuozzo PaaS

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

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

Автоматическая установка Django CMS

Это быстрый и простой способ за несколько минут получить готовый к работе контейнер Django CMS.

1. Найдите приложение DjangoCMS в Магазине приложений

Для этого войдите в свою учетную запись Virtuozzo PaaS, и откройте Магазин приложений:

Воспользуйтесь поиском и нажмите «Установить»

2. Выберите название окружения и приложения

Нажмите кнопку «Установить».

3. Дождитесь установки приложения

Как только оно будет установлено система покажет вам всплывающее окно с данными для доступа к домашней странице и панели администратора Django CMS:

Ручная установка Django CMS

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

1. Создайте новое python-окружение и определите его параметры

Перейдите во вкладку Python. Сервер Apache будет выбран автоматически. Укажите лимиты ресурсов и введит имя вашего окружения (например, django-cms).

Примечание:
Для Django CMS требуется база данных. По умолчанию в качестве БД можно используется SQLite. Эта база развертывается прямо в контейнере apache и не требует никаких дополнительных настроек. Это решение подходит для тестовой среды и для очень простых проектов. Также можно добавить отдельную ноду БД (например MySQL или PostgreSQL)
Далее, нажмите кнопку «Создать» в правом нижнем углу рамки.

2. Через минуту ваше окружение появится в дэшборде

Теперь вы можете установить Django CMS с нуля или развернуть существующее приложение в окружении. Разберём оба этих варианта.

Установка с нуля

1. Подключитесь к ноде по Web SSH:

2. Создайте изолированное виртуальное окружение Python

Это позволить управлять зависимостями проектов без прав администратора. Для этого введите команду:

virtualenv virtenv

3. Активируйте и переключитесь на созданное виртуальное окружение

source virtenv/bin/activate

4. Установите инсталлятор Django CMS с помощью менеджера пакетов pip

pip install djangocms-installer

Подождите минуту для завершения операции.

5. Затем удалите предустановленное приложение и создайте приложение Django CMS:

rm -rf ROOT djangocms -p . ROOT -s

6. Отредактируйте модуль mod_wsgi (файл /var/www/webroot/ROOT/wsgi.py ), заменив его содержимое следующими строками:

import os,sys
virtenv = os.path.expanduser('~') + '/virtenv/'
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
    if sys.version.split(' ')[0].split('.')[0] == '3':
        exec(compile(open(virtualenv, "rb").read(), virtualenv, 'exec'), dict(__file__=virtualenv))
    else:
        execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
    pass
sys.path.append(os.path.expanduser('~'))
sys.path.append(os.path.expanduser('~') + '/ROOT/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'ROOT.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Сохраните изменения.

7. Также настройте следующие параметры в файле конфигурации /var/www/webroot/ROOT/settings.py:

ALLOWED_HOSTS = ["{envDomain}"]
MEDIA_ROOT = os.path.join(DATA_DIR, 'ROOT', 'media')
STATIC_ROOT = os.path.join(DATA_DIR, 'ROOT', 'static')
STATICFILES_DIRS = (
                os.path.join(BASE_DIR, 'ROOT', 'static_local'),
)
Примечание
Параметр ALLOWED_HOSTS содержит список строк c доменными именами, на запросы к которым Django будет отвечать (в нашем случае djangocms.jcloud.kz). Чтобы разрешить ответ на любой запрос используйте символ *. Если используется внешняя БД, данные для подключения к ней должны быть указаны в разделе DATABASES, где:
  • в ENGINE надо изменить тип базы данных (django.db.backends.mysql для MySQL или django.db.backends.postgresql_psycopg2 для PostgreSQL)
  • в NAME, USER, PASSWORD указать имя БД, ее пользователя и ее пароль
  • в HOST указать значение из письма, которое Вы получили при создании ноды БД
  • в PORT указать 3306 для MySQL или 5432 для PostgreSQL

Не забудьте сохранить изменения.

8. Создайте новые подкаталоги для статического / мультимедийного контента и запустите синхронизацию ресурсов:

mkdir ROOT/static_local
mkdir ROOT/media
python manage.py collectstatic

9. После внесения этих изменений, перезагрузите ноду веб-сервера

10. Проверьте работу приложения

Оно перенаправит Вас на страницу входа в админ-панель. Для входа в нее воспользуйтесь логином и паролем admin/admin.

Теперь Ваше окружение Django CMS готово к работе!

Развернуть существующее приложение Django

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

Примечание
Если вы используете собственный архив для развёртывания, убедитесь, что в вашем пакете Django находятся следующие файлы:
  • Файл needs.txt с именами всех модулей Python, которые требуются вашему приложению, он будет использован при автоматической установке перечисленных модулей через менеджер pip
  • файл wsgi.py со скриптом для запуска приложения в окружении с использованием mod_wsgi для Apache

1. Загрузите свое приложение в менеджер деплоя

Для примера возьмем архив с приложением, доступный по ссылке https://download.jelastic.com/public.php?service=files&t=37fb2dedbc72453fe73fbe2e890a10f2&download

2. Задеплойте архив в ноду Apache Python

3. Как только деплой будет загружен проверьте работу окружения

Приложение перенаправит вас в админ-панель Django CMS. Если вы использовали наш архив для деплоя, то для входа введите логин и пароль jelastic/jelastic.

Помогла ли вам эта информация?
Не можете найти ответ на свой вопрос?
Напишите запрос в службу поддержки
Написать сейчас