Как установить Django на хостинг ?
Эта инструкция позволит вам установить 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 в данной версии.