Найти - Пользователи
Полная версия: Django-LFS инструкция по установке
Начало » Django » Django-LFS инструкция по установке
1 2
OZION
Не так давно вышла официальная инструкция по установки Django-LFS под винду http://code.google.com/p/django-lfs/wiki/InstallationWindowsTest я попробовал установить по ней, автор данной инструкции рекомендует установить South, у меня с ней не создалось половина таблиц базы данных, разобраться в почему не создается не получилось, и по этому в итоге установил по старой доброй и проверенной инструкции http://beautifulisbetterthanugly.com/posts/2009/aug/19/install-django-lfs-on-window/ и опираясь на файл сборки http://code.google.com/p/django-lfs/source/browse/buildouts/quickstart/buildout.cfg

Итак как я это делал

1)В начале для удобства с помощью partition magic я разметил отдельный диск на котором будет храниться все что связано с будущими разработками(к примеру “Z”).

2) Качаем дистрибутив с сайта denwer.ru и устанавливаем его на диск “Z”, при установке указываем способ запуска денвера -2 (виртуальный диск не создается). Далее запускаем сервер (ярлыком с рабочего стола), вводим в адресную строку браузера http://localhost , если все работает то идем дальше.

3)Качаем с сайта http://www.activestate.com/ дистрибутив ActivePython. Устанавливаем его на тот же диск. Далее перезагружаемся.

4)Качаем с сайта http://code.google.com/p/modwsgi/ mod wsgi руководствуясь вашей версией апача и питона(я установил версию 3.0 для Apache 2.2/Python 2.6). Далее заходим на диск “Z” и перемещаемся в директорию где храниться апачевские модули usr\local\apache\modules\ , кидаем в эту директорию наш скаченный файл mod_wsgi-win32…. и переименовываем его в mod_wsgi.so, после заходим в директорию согласно следующему пути usr\local\apache\conf\ и открываем в блокноте файл httpd.conf, листаем файл пока не наткнемся на записи начинающиеся с LoadModule….. и в конце этого списка добавляем строку следующего содержания: LoadModule wsgi_module modules/mod_wsgi.so . Сохраняем файл но не закрываем его в 8 пункте он нам еще пригодится.

5) Далее нам понадобится setuptools заходим на сайт http://pypi.python.org/pypi/setuptools качаем версию установочного файла который соответствует вашей версии питона и типа «MS Windows installer». Запускаем экзешник и устанавливаем . Далее перезагружаемся

6) Качаем с сайта http://djangoproject.com последнюю версию Джанго. Распаковываем джангу в любую директорию. Запускаем командную строку и перемещаемся в директорию распакованной джанги, у меня это выглядело так “D:\Distr\WEB\Django-1.1.1\>” далее пишем “python setup.py install” жмем enter и должен начаться процесс установки Джанго. Если все прошло успешно то перемещаемся в директорию home диска “Z” и создаем директорию site.loc , после этого запускаем командную строку и перемещаемся в созданную директорию, и вводим следующую команду: django-admin.py startproject lfs_project после чего в директорию site.loc должна появиться директорию lfs_project. В командной строке переходим в эту директорию и вводим следующую команду: python manage.py runserver . После открываем браузер переходим по адресу http://127.0.0.1:8000/ видим страницу с заголовком “It worked!” радуемся этому и закрываем командную строку и браузер.

7)Качаем дистрибутив базы данных для джанги, я использую MySQL . По сколько официального дистрибутива MySQL под python версии 2.6 не существует то устанавливаем стороннюю сборку дистрибутива, для этого заходим по ссылке http://narod.ru/disk/14778375000/MySQL-python-1.2.2.win32-py2.6.exe.html качаем установочный файл MySQL-python который соответствует вашей системе и версии питона и устанавливаем его.

8) Теперь интегрируем mod wsgi и наш дажанго проект – lfs_project, рекомендую ознакомится с информацией по следующей ссылке: http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango . Переходим в директорию lfs_project и создаем в ней директорию apache, переходим в эту директорию и создаем файл django.wsgi (можно созать простой текстовый файл и после переименовать его в django и изменить расширение файла на wsgi). После открываем этот файл блокнотом и прописываем в нем следующие:

import os, sys
sys.path.append('I:\home\site.loc\lfs_project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
После сохраняем и закрываем.

Открываем файл конфиги апача httpd.conf (см пункт 5) находим в этом файле строки следующего содержания:
#<VirtualHost 127.0.0.1:*>
# ServerName non-existent-host
# DocumentRoot /home/non-existent-host/www
#</VirtualHost>
После этих строк делаем отступ и вставляем текст следующего содержания:
<VirtualHost site.loc:80>

ServerName site.loc
DocumentRoot /home/site.loc/www

WSGIScriptAlias / /home/site.loc/lfs_project/apache/django.wsgi

<Directory /home/site.loc/lfs_project/apache>
Order deny,allow
Allow from all
</Directory>
CustomLog /home/site.loc/logs/site.loc.access.log combined
ErrorLog /home/site.loc/logs/site.loc.error.log
</VirtualHost>
После этого сохраняем файл но не выходим из него он нам еще пригодится. Открываем нашу директорию site.loc и создаем в ней две директории logs и www.
После всех этих манипуляций перезагружаем сервер (ярлыком с рабочего стола) и в адресной строке браузера вводим http://site.loc/ должна появиться ошибка ImportError at / No module named lfs_project.urls в этом нет ничего плохого это означает что интеграция джанго и mod wsgi прошла успешно.

9) Далее для установки django-lfs нам потребуется TortoiseSVN переходим по ссылке http://tortoisesvn.net/downloads скачиваем и устанавливаем в Program Files, так же нам понадобится установить GIT для этого заходим по ссылке http://git-scm.com/ качаем и устанавливаем его. Далее нам понадобится установить TortoiseGIT, аналогично переходим по ссылке http://code.google.com/p/tortoisegit/downloads/list и устанавливаем. После перезагружаем компьютер.

10)Переходим в директорию lfs_project стираем все кроме директории apache
Находясь в директории lfs_project нажимаем правую кнопку мыши, в появившимся меню выбираем SVN Chekout… , появляется окно в верхней строке URL of repository вводим http://django-lfs.googlecode.com/svn/buildouts/quickstart/lfs_project/
В строке checkout directory вводим путь к директории lfs_project , Z:\home\site.loc\lfs_project\ , далее жмем ок, открывается окно с предупреждением, жмем “ок”, потом открывается еще одно окно, в котором по тоже жмем “ок” .

11) Тобавляем наш проект в переменную среды PATH, для этого правой кнопкой на моем компьютере далее свойства->дополнительно-> переменные среды->Системные переменные-> Path->Изменить -> добавляем в конец строки путь к нашему проекту, выглядеть это должно так : I:\home\site.loc\lfs_project;

12) Устанавливаем Python Imaging Library, качаем от сюда http://www.pythonware.com/products/pil/ последнюю версию соответствующую нашей версии питона, и устанавливаем.
13) Устанавливаем pagination from, для этого переходим по ссылке http://code.google.com/p/django-pagination/downloads/list и качаем последнюю версию. Распаковываем ее, запускаем командную строку и переходим в распакованную директорию, в ней должна быть папка pagination мы ее копируем директорию нашего проекта lfs_project.

14) Устанавливаем Django Paypal для этого переходим в директорию lfs_project, жмем правой кнопкой мыши выбираем Git clone в строке URL пишем git://github.com/johnboxall/django-paypal.git , жмем ок, после установки жмем close.
В правильности следующих своих действий я не уверен
Из появившейся директории django-paypal мы копируем папку paypal и вставляем ее в директорию lfs_project, после удаляем директорию django-paypal, т.е устанавливать используя setup.py я не стал.

15) На данном этапе вы уже должны были освоить принцип работы с Tortoise SVN, далее я уже не буду в подробностях описывать установку модулей. Стираем в директории lfs_project: .svn
И так с помощью Tortoise SVN устанавливаем следующие модули в директорию lfs_project:

http://django-lfs.googlecode.com/svn/lfs/trunk
http://django-lfs.googlecode.com/svn/lfstheme/trunk
http://django-contact-form.googlecode.com/svn/trunk/contact_form
http://django-portlets.googlecode.com/svn/trunk/portlets
http://django-lfs.googlecode.com/svn/addons/reviews/trunk
http://django-tagging.googlecode.com/svn/trunk/tagging

16)Переходим в директорию нашего проекта media, там находятся символические ссылки admin, lfs, lfstheme, в Windows эти ссылки не работают по этому мы переименовываем их добавляя префикс ‘_’ т.е ‘_admin’, далее создаем в этой директории, директорию lfs, далее переходим в директорию lfs_project\lfs\static\ и копируем ее содержимое в созданную нами директорию lfs, аналогично создаем дирректорию и копируем в нее содержимое директории lfs_project\lfstheme\static\ .

17) В файл конфиги апача httpd.conf. и дописываем наш виртуальный хост.
Выглядеть он должен будет так:
<VirtualHost site.loc:80>

ServerName site.loc
DocumentRoot /home/site.loc/www
ServerAlias www.site.loc

Alias /media/ /home/site.loc/lfs_project/media/
<Directory /home/site.loc/lfs_project/media>
Order deny,allow
Allow from all
</Directory>

WSGIScriptAlias / /home/site.loc/lfs_project/apache/django.wsgi
<Directory /home/site.loc/lfs_project/apache>
Order deny,allow
Allow from all
</Directory>

CustomLog /home/site.loc/logs/site.loc.access.log combined
ErrorLog /home/site.loc/logs/site.loc.error.log
</VirtualHost>
18) Используя http://localhost/Tools/phpMyAdmin/ создаем пользователя с именем siteloc и хостом localhost (вкладка привилегии) , Создаем базу данных siteloclfs, в файле settings.py прописываем следующие параметры
DATABASE_ENGINE = ‘mysql’
DATABASE_NAME = ‘siteloclfs’
DATABASE_USER = ‘ siteloc ’
DATABASE_PASSWORD = ‘ ’ – пороль который вы прописали при создание пользователя.

Перезагружаем сервер и в командной стоке в директории lfs_project выполняем команду python manage.py syncdb

19) В командной строке директории lfs_project выполняем команду python manage.py loaddata lfs/core/fixtures/lfs_initial.xml

20) Перезагружаем сервер и в адресной строке браузера вводим http://site.loc/ все должно работать

Email сервер я ставить не стал.

Поправьте если что не так
helm2004
OZION - Вы не ставили денверовский пакет Пайтона?
Спасибо за статью!
OZION
не ставил, там те же яйца только версии 2.5
OZION
чую наверное придется писать еще мануал по этой хрени =) потому на столько все заморочено что хрен поймешь.
OZION
Если надумаете ставить Django LFS на хостинг Джино, то сборку все равно придется проводить на своем компьютере а после уже заливать файлы на хостинг.
Только у джино стоит версия питона 2.4 и там нету модуля uuid, просто берете uuid.py из питона более поздней версии и кидаете в дирректорию lfs_project на хостинге.
helm2004
Что у Джино CenOS стоит?
OZION
В смысле CentOS? не думаю.
OZION
Установка django lfs на хостинг jino

Связка django lfs и хостинг jino не очень хорошая, если вы будете использовать все модули системы django lfs, система на простом аккаунте на хостинге не много притормаживает, лечится это либо покупкой премиум аккаунта(что неразумно дорого), либо можно отключить не используемые модули в settings.py (что я и сделал).

Теперь непосредственно об установке:
по скольку большинство команд по ssh на хостинге джино заблокированы, установку стоит вначале произвести у себя на на компьютере, а после скопировать все на jino.

На jino используется старая версия python 2.4, в ней нету модуля uuid, модуль uuid появился в питоне начиная с версии 2.5, по этому просто копируем модуль uuid из нашего питона в категорию с проектом на хостинге(“lfs_project”).

В директории домена, на котором будет находиться ваш проект (domains/имя_домена) создайте файл .htaccess и пропишите в нем:
AddHandler wsgi-script .wsgi
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
После создайте в этой же категории файл с именем django.wsgi со следующим содержимым:
import os, sys
sys.path.append('/home/usersX/первая_буква_логина/логин/lfs_project')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
После необходимо перенести базу данных с помощью phpmyadmin на хостинг и все должно заработать.
OZION
Маленькая подстава.
Когда будете раскручивать проект в поисковиках пройдите в категорию: \lfs_project\lfstheme\templates\lfs\shop\ и откройте файл robots.txt и удалите из него строчки:
# Ganze Site f&#252;r alle Robots sperren
User-agent: *
Disallow: /
Если этого не сделать то сайт будет игнорироваться поисковиками.
ak
OZION
автор данной инструкции рекомендует установить South, у меня с ней не создалось  половина таблиц базы данных,  разобраться в почему не создается не получилось
для установки с нуля South на самом деле не нужен. он полезен для апгрейда с одной версии движка на другую.
проблемы с таблицами могут быть из-за версии South. у него раньше были проблемы с M2M полями и MySQL. сейчас там формат миграций немного изменился - в одном проекте он у меня половину миграций не видит из-за того, что в названиях файлов миграций дефисы. так что если хотите использовать South, то необходимо еще найти подходящую версию.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB