| rudyryk ( @ 2008-06-23 01:39:00 |
Запуск Django на .masterhost
Django может работать на виртуальном хостинге .masterhost. Проверено!
На самом деле, .masterhost -- не самый хороший вариант, если требуется делать проект на фреймворке Django. Тем не менее, они "дружат", пусть и с небольшими ограничениями. Часть из них связана просто с удобством, часть -- со скоростью.
Итак, что требуется для Django:
* Pyhton
* Библиотека для работы с базой данных
Что нужно дополнительно, в идеале:
* FastCGI/mod_python -- Django не поддерживает официально CGI, нужно хитрить
* SVN -- для обновлений фреймворка
* библиотека SQLite -- когда нужно что-то попроще, и MySQL избыточна
На .masterhost почти ничего из этого нет :))) Но, как оказалось, всё необходимое можно установить самому.
Коротко, результаты:
* требуется установка Python в домашнюю папку -- это совсем не плохо, можно поставить нужную версию
* Django запускается через CGI -- да, жизнь -- штука не простая :)
* можно использовать MySQL, подключить SQLite мне не удалось
Дальше идет пошаговое описание в двух частях, что и как делается. Решение, которое я применил, основано на этой статье: http://wiki.dreamhost.com/Django. Некоторые важные детали реализованы по-другому. Например, определение переменных среды CFLAGS и CXXFLAGS, без них не получалось собрать библиотеку MySQL-python. Так же, не удалось собрать Python-2.5.2, но Python-2.5.1 вполне меня устроил.
Установка делается из shell'а. Короче, говоря -- вот.
1. Создать директории для установки программ
Для "моих" программ я сделал структуру директорий в домашней директории. Получается, что '~/run' это аналогия корневой директории '/usr'. Так же, я завел директорию для проектов Django.
В директорию '~/soft' будут скачиваться дистрибутивы.
2. Сконфигурировать переменные среды
Нужно добавить созданные директории в пути. А так же, подключить '~/run/lib' к С/C++ линкеру, чтобы он не забывать искать там библиотеки.
Для этого нужно создать или добавить в файл ~/.bash_profile:
3. Установить Python
Скачать Python 2.5.1:
Распаковать:
Скомпилировать и установить:
4. Установить необходимые для Django библиотеки:
Библиотека MySQL-python:
Библиотека Python Imaging Library:
5. Установить Django:
Последний официальный релиз использовать не рекомендуется, если есть возможность использовать версию новее, из репозитория. Я выложил архив текущей на сегодняшний день ревизии (7724).
1. Создать проект
2. Настроить CGI-диспетчер для проекта
Нужно поместить скрипт django.cgi в папку сайта 'cgi-bin' и разрешить скрипту запуск. Для этого в папке 'cgi-bin' запустить:
Можно проверить, все ли хорошо, зайдя по адресу:
http://__my_site__/cgi-bin/django.c gi
Должно появиться приветсвие от Django, как для обычного пустого проекта.
Теперь можно настроить файл .htaccess.
В директории 'www' нужно создать файл .htaccess с текстом:
Для проверки нужно набрать адрес:
http://__my_site_
Приветствие от Django теперь должно быть и здесь.
Всё :) Можно работать дальше, как с обычном Django.
Django может работать на виртуальном хостинге .masterhost. Проверено!
На самом деле, .masterhost -- не самый хороший вариант, если требуется делать проект на фреймворке Django. Тем не менее, они "дружат", пусть и с небольшими ограничениями. Часть из них связана просто с удобством, часть -- со скоростью.
Итак, что требуется для Django:
* Pyhton
* Библиотека для работы с базой данных
Что нужно дополнительно, в идеале:
* FastCGI/mod_python -- Django не поддерживает официально CGI, нужно хитрить
* SVN -- для обновлений фреймворка
* библиотека SQLite -- когда нужно что-то попроще, и MySQL избыточна
На .masterhost почти ничего из этого нет :))) Но, как оказалось, всё необходимое можно установить самому.
Коротко, результаты:
* требуется установка Python в домашнюю папку -- это совсем не плохо, можно поставить нужную версию
* Django запускается через CGI -- да, жизнь -- штука не простая :)
* можно использовать MySQL, подключить SQLite мне не удалось
Дальше идет пошаговое описание в двух частях, что и как делается. Решение, которое я применил, основано на этой статье: http://wiki.dreamhost.com/Django. Некоторые важные детали реализованы по-другому. Например, определение переменных среды CFLAGS и CXXFLAGS, без них не получалось собрать библиотеку MySQL-python. Так же, не удалось собрать Python-2.5.2, но Python-2.5.1 вполне меня устроил.
Установка делается из shell'а. Короче, говоря -- вот.
Часть 1. Установка Python, Django
1. Создать директории для установки программ
Для "моих" программ я сделал структуру директорий в домашней директории. Получается, что '~/run' это аналогия корневой директории '/usr'. Так же, я завел директорию для проектов Django.
В директорию '~/soft' будут скачиваться дистрибутивы.
mkdir ~/run mkdir ~/run/lib mkdir ~/run/bin mkdir ~/django_projects mkdir ~/soft
2. Сконфигурировать переменные среды
Нужно добавить созданные директории в пути. А так же, подключить '~/run/lib' к С/C++ линкеру, чтобы он не забывать искать там библиотеки.
Для этого нужно создать или добавить в файл ~/.bash_profile:
3. Установить Python
Скачать Python 2.5.1:
cd ~/soft wget http://python.org/ftp/python/2.5.1/Python-2.5.1.tgz
Распаковать:
tar -xzvf Python-2.5.1.tgz
Скомпилировать и установить:
cd Python-2.5.1
./configure --prefix ${RUN} --enable-shared
make
make install
install -c -m 644 ./libpython2.5.a ${RUN}/lib
install -c -m 755 ./libpython2.5.so ${RUN}/lib
install -c -m 755 ./libpython2.5.so.1.0 ${RUN}/lib
4. Установить необходимые для Django библиотеки:
Библиотека MySQL-python:
cd ~/soft wget http://downloads.sourceforge.net/mysql-python/MySQL-python-1.2.2.tar.gz tar -xzvf MySQL-python-1.2.2.tar.gz cd MySQL-python-1.2.2 python setup.py build python setup.py install
Библиотека Python Imaging Library:
cd ~/soft wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz tar -xzvf Imaging-1.1.6.tar.gz cd Imaging-1.1.6 python setup.py build python setup.py install
5. Установить Django:
Последний официальный релиз использовать не рекомендуется, если есть возможность использовать версию новее, из репозитория. Я выложил архив текущей на сегодняшний день ревизии (7724).
cd ~/soft wget http://my-shared.info/rudyryk/files/django_svn.tar.gz tar -xzvf django_svn.tar.gz cd django_svn python setup.py install chmod +x $RUN/lib/python2.5/site-packages/django/bin/*.py
Часть 2. Тестовый запуск
1. Создать проект
cd ~/django_projects django-admin.py startproject mastertest chmod +x manage.py
2. Настроить CGI-диспетчер для проекта
Нужно поместить скрипт django.cgi в папку сайта 'cgi-bin' и разрешить скрипту запуск. Для этого в папке 'cgi-bin' запустить:
wget http://my-shared.info/rudyryk/files/django_mastertest/django_cgi.txt mv django_cgi.txt django.cgi chmod +x django.cgi
Можно проверить, все ли хорошо, зайдя по адресу:
http://__my_site__/cgi-bin/django.c
Должно появиться приветсвие от Django, как для обычного пустого проекта.
Теперь можно настроить файл .htaccess.
В директории 'www' нужно создать файл .htaccess с текстом:
Для проверки нужно набрать адрес:
http://__my_site_
Приветствие от Django теперь должно быть и здесь.
Всё :) Можно работать дальше, как с обычном Django.