хабраиндекс
28,18

Django на серверах ValueHost

Здравствуйте, сегодня мы расскажем Вам, как установить framework Django на серверах ValueHost.

image

Рассмотрим установку Django приложения на примере django CMS.

Подготовка Веб-сервера и базы данных

Первое, что нам необходимо сделать — это получить доступ к SSH:

    Панель управления -> SSH -> Устаналиваем пароль и флаг Вкл. (либо ограничиваем по IP)

Далее, создаем базу для нашего приложения:

    Панель управления -> Базы данных -> MySQL или PgSQL на выбор
    Запоминаем название базы, пароль, тип, и адрес сервера базы данных.

Создаем виртуальный сервер:

    Панель управления -> Веб-серверы -> Создать новый:
        Приложения на сервере ->Python (mod_wsgi)
        Корневая папка -> django_data
        Имя Сервера -> mydomain.ru
        Включить акселератор отдачи статического контента -> Вкл.
        .htaccess -> Вкл.
    Сохранить

Установка приложения

Пока применяются настройки для нового сервера (это занимает не более
получаса, состояние можно посмотреть Панель управления ->
Главная
), создадим приложение на сервере.

Используя любой SSH клиент, заходим на сервер:

    ssh my_admin_login@mydomain.ru

Где,

    my_admin_login — Ваш логин администратора
    mydomain.ru — Ваш домен либо технический адрес сервера

После ввода пароля (его мы задали в самом начале), выполняем следующую
команду:

    #django-admin.py startproject django_app

Где,

    django_app — директория Django приложения

Копируем дистрибутив django CMS:

    #cp -R /usr/local/lib/python2.6/site-packages/django_cms-2.0.2-py2.6.egg/*~/django_app

Либо скачиваем последню версию и распаковываем содержимое в
каталог ~/django_app

Копируем пример конфигурации CMS из дистрибутива:

    #cp -R  ~/django_app/example/*~/django_app/

Настраиваем конфигурацию, путем редактирования файла
~/django_app/settings.py:

    DATABASE_ENGINE = тип базы данных: mysql либо postgresql
    DATABASE_NAME = Название базы
    DATABASE_NAME = Название базы
    DATABASE_USER = Пароль, указанный при создании базы
    DATABASE_HOST = Адрес сервера базы данных
    MEDIA_ROOT = os.path.join(PROJECT_DIR, 'cms/media/')
    ADMIN_MEDIA_PREFIX = '/media_admin/'

В  INSTALLED_APP комментируем строчку:

    'south',

Должно получиться так:

    #'south',

Сохраняем файл и из командной строки выполняем команду:

    #python ~/django_app/manage.py syncdb

Отвечаем на вопросы:

    You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes
    Username (Leave blank to use 'example'): Логин администратора
    E-mail address: email администратора
    Password: Пароль администратора
    Password (again): Подтверждение пароля

К этому моменту настройки веб-сервера уже применились и в домашней
директории создался каталог веб-сервера django_data.

Создаем обработчик ~/django_data/index.wsgi следующего
содержания:

import os, sys root_path = os.path.abspath(os.path.split(__file__)[0])
sys.path.append(root_path+'/..') sys.path.append(root_path) os.environ['DJANGO_SETTINGS_MODULE'] = 'django_app.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()


Делаем обработчик исполняемым:

    #chmod 500 ~/django_data/index.wsgi

Сообщяем веб-серверу, что все запросы должны обрабатываться django при
помощи ~/django_data/.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.wsgi/$1 [L,QSA]


Копируем медиа-контент для панели администратора:

    #cp -R
/usr/local/lib/python2.6/site-packages/django/contrib/admin/media
~/django_data/media_admin
 

Все, CMS установлена, заходим по адресу, указанному в имени сервера и
авторизуемся с логином и паролем администратора.

Установка дополнительных модулей

Если Вам потребуется установка дополнительных модулей python — обращайтесь в Поддержку Онлайн из Вашей Панели управления, и мы с радостью это сделаем.
–3
27 сентября 2010, 10:17
2
vhost 0,5

комментарии (1)

0
casa #
Говеная традиция на Хабре набирает обороты: полезную статью минусуют, комменты не оставляют. Самобытно: пошло и низко, это так по-русски…

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