Вопросы и ответы - Макхост

Как установить Django на хостинг ?

Как установить Django на хостинг ?

18.01.2016   12:49
Сотрудник Дмитрий Будько
 нет комментариев
ОТВЕТЫ НА ВОПРОС (1)
Сотрудник Дмитрий Будько

Эта инструкция позволит вам установить Django Framework.
Вам понадобится любой клиент, который поддерживает протокол SSH (например, putty).

1) Создаем директорию private в домашнем каталоге:

cd ~ && mkdir -p ~/private/lib/python2.7/site-packages

2) Прописываем параметры окружения:

export PYTHONPATH="$HOME/private:$HOME/private/lib/python2.7/site-packages"

3) Добавляем данную строку (export) в файл .bashrc который размещен в нашем домашнем каталоге:

echo "export PYTHONPATH=\"$HOME/private:$HOME/private/lib/python2.7/site-packages\""  >>  $HOME/.bashrc

4) Установка пакета django:
Переходим в директорию private:

cd ~/private/

Загружаем пакет с Django необходимой версии:

wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.8.tar.gz

Извлекаем файлы из архива:

tar -xzf Django-1.8.8.tar.gz

Меняем имя директории с файлами:

mv Django-1.8.8 django

Переходим в директорию с django:

cd django

Запускаем процесс установки:

python2.7 setup.py install --prefix=$HOME/private

5) Дополнительная настройка окружения для удобства:

ln -s /usr/bin/python2.7 $HOME/private/bin/python

установка PATH к дополнительной директории bin

export PATH="$HOME/private/bin:$PATH"

После чего добавляем export PATH в файл .bashrc:

echo "export PATH=\"$HOME/private/bin:$PATH\"" >> $HOME/.bashrc

6) Установка пакета Flup, необходимого для функционирования fcgi. Процедура установки аналогична Django:

cd ~/private && wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
tar xzvf flup-1.0.2.tar.gz && mv flup-1.0.2 flup && cd flup
python2.7 setup.py install --prefix=$HOME/private

7) Далее необходимо создать fcgi-скрипт и поместить его в директорию /home/httpd/vhosts/site.com/cgi-bin/ (где site.com - адрес вашего сайта) :
Для примера название файла будет site.fcgi с содержанием:

#!/usr/bin/python2.7
import sys, os


sys.path.append('/home/httpd/vhosts/site.com/private')
sys.path.append('/home/httpd/vhosts/site.com/private/lib/python2.7/site-packages')
sys.path.append("/home/httpd/vhosts/site.com/private/django")
sys.path.append("/home/httpd/vhosts/site.com/private/flup")
sys.path.append("/home/httpd/vhosts/site.com/httpdocs/djmc")
# more path stuff

os.environ['DJANGO_SETTINGS_MODULE'] = "djmc.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

Где djmc название созданого Django проекта и site.com имя вашего домена.

Установим права на файл site.fcgi:

chmod 755 site.fcgi

Создаем файл .htaccess в корне сайта с содержимым:

AddHandler fcgid-script .fcgi
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(adminmedia/.*)$ - [L]
RewriteCond %{REQUEST_URI} !(cgi-bin/site.fcgi)
RewriteRule ^(.*)$ cgi-bin/site.fcgi/$1 [L]

7) Создание проекта Django:
Переходим в директорию с сайтом:

cd $HOME/httpdocs/

Создание проекта, где djeuro название проекта:

django-admin startproject djmc
export PYTHONPATH="$PYTHONPATH:$PWD/djmc"
django-admin syncdb --settings=djmc.settings

Установка Django успешно завершена, на сайте site.com должна отобразиться страница приветствия Django.

Данная инструкция подходит для всех версий Django кроме 1.9, по причине отсутствия поддержки fastcgi в данной версии.

18.01.2016   12:57
 Комментировать

Для ответа нужно зарегистрироваться или авторизоваться.