воскресенье, 23 декабря 2012 г.

Django установка и настройка виртуального хоста Apache в Ubuntu

 Последнюю версию Django берем от сюда
 Распаковываем архив. Заходим в папку с распакованным архивом. Запускаем команду
sudo python setup.py install

 Для проверки корректности установки:
python -c "import django; print django.VERSION;"
(1, 3, 1, 'final', 0)
 Django успешно установлен.
 Далее создадим проект Django. Определим место положения проектов. В моем случае это /home/user/django.
sudo mkdir /home/user/django
cd /home/user/django
 Для создания проекта вводим (в моем случае название проекта mysite):
django-admin.py startproject mysite
 Для связки Apache и Django нужен пакет mod_wsgi
 Для установки данного пакета вводим команду:
sudo apt-get install libapache2-mod-wsgi

 Проверим, что в Apache подгружается mod_wsgi:
ls -l /etc/apache2/mods-enabled/ | grep wsgi
 Должно появиться:
lrwxrwxrwx 1 root root 27 2009-02-18 22:41 wsgi.conf -> ../mods-available/wsgi.conf
lrwxrwxrwx 1 root root 27 2009-02-18 22:41 wsgi.load -> ../mods-available/wsgi.load
 Далее "научим" Apache запускать наш проект.
 В папке с проектом (в моем случае /home/user/django/mysite) создайте каталог (допустим apache). В данном каталоге создайте файле django.wsgi
Содержимое данного файла (Обратите внимание на sys.path.append() и os.environ['DJANGO_SETTINGS_MODULE']):
import os
import sys

sys.path.append('/home/user/django/mysite/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
 Создали интерфейс между Django и WSGI
 Конфигурация виртуального хоста
 Откройте конфигурационный файл вашего сервер, например, /etc/apache2/sites-available/django.example.ru.conf и внесите в него изменения:
<virtualhost *:80*>
   ServerName django.example.ru
   DocumentRoot /home/user/django/mysite
   WSGIScriptAlias / /home/user/django/mysite/apache/django.wsgi
</virtualhost>
 Включаем виртуальный хост:
cd/etc/apache2/sites-available
sudo a2ensite django.example.ru.cong
 Рестарт Apache
sudo /etc/init.d/apache2 restart
 Чтобы проверить, что Django корректно работает через mod_wsgi необходимо попытаться открыть URL
It worked!
Congratulations on your first Django-powered page.

Of course, you haven't actually done any work yet. Here's what to do next:
* If you plan to use a database, edit the DATABASE_* settings in settings/settings.py.
* Start your first app by running python settings/manage.py startapp [appname].
 Использованные ссылки:
http://www.vdsadmin.ru/webserver-apache-wsgi-django

Комментариев нет:

Отправить комментарий