как установить Django на виртуальном хостинге
начальное состояние : Windows 7 и установлен XAMPP, работаю php скрипты
задача : установить Django но что бы остались в работе и php скрипты
начальное состояние : Windows 7 и установлен XAMPP, работаю php скрипты
задача : установить Django но что бы остались в работе и php скрипты
1. Установка Python - скачиваем python-2.6.msi с
потом кликаем и устанавливает
пока python-2.7.msi лучше не ставить т к для него нет необходимых модулей (к примеру для MySQL)
пока python-2.7.msi лучше не ставить т к для него нет необходимых модулей (к примеру для MySQL)
2. Добавлением в PATH :
";C:\Python26;C\Python26\scripts;C:\Python26\Lib\site-packages\django\bin\”
";C:\Python26;C\Python26\scripts;C:\Python26\Lib\site-packages\django\bin\”
Для установки переменных окружения в Windows нажмите правой клавишей мышки по ярлыку Мой компьютер затем выберите Свойства => Дополнительно => Переменные среды. В нижнем окошке ( Системные переменные ) нажмите PATH,изменить и добавте в конце ";C:\Python27;".
3. Установка Django - скачиваем последнюю версию по ссылке http://www.djangoproject.com/download распакуйте архив в C:\Python26\Django-1.2.1 затем зайдите в Windows консоле в данную папку (C:\Python27\Django-1.2.1\setup.py) и выполните команду
C:\Python26\Django-1.2.1>python setup.py install
для проверки установки нужно в консоле опять же запустить интерпретатор python и в нем выполнить команды
>>> import django >>> django.VERSION
4. Установка mod_python для Apache -
(http://www.djangoproject.com/r/mod_python/) это модуль для Apacheвылетает окно с ошибкой типа “не найден MSVCR71.dll" да и кроме то подходит только для Python2.5. что не удалять всё что уже установил решил забить на mod_python.
4. Установка modwsgi - http://code.google.com/p/modwsgi/ там же есть и инструкция по установке
нужно скопировать файл mod_wsgi-win32-ap22py26-3.3.so в C:\xampp\apache\modules и переименовать в mod_wsgi.so и добавить строку в LoadModule wsgi_module modules/mod_wsgi.so в C:\xampp\apache\conf\httpd.conf
идем в консоле в "cd C:\xampp\htdocs"
выполняем : C:\xampp\htdocs > django-admin.py startproject myapps
выполняем C:\xampp\htdocs\myapps>python manage.py runserver
идем в браузер http://127.0.0.1:8000 и смотрим "It worked!"
Был запушен сервер разработки Django, легкий Web-сервер, написанный на Python.Он включен в Django, для того, чтобы можно было разрабатывать программы быстрее, без необходимости настраивать production server - такой как, например, Apache.
5. Установка mysql_python 2.6 for Mysql - http://www.codegood.com/ качаем и ставим
6. Редактируем C:\xampp\htdocs\myapps\settings.py и изменяем DATABASES стандартными для mysql настройками
7. Редактируем Apache httpd.conf - добавляем строку
WSGIScriptAlias / "C:/xampp/htdocs/myapps/django.wsgi"
8. Создаем файл django.wsgi в текстовом радакторе вносим
import os, sys
sys.path.append('C:/xampp/htdocs')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapps.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
теперь стартуем apache и http://localhost/ видим уже знакомое
"It worked!
Congratulations on your first Django-powered page."
9. наладить виртуальные хосты что бы работали другие проекты
на PHP.
для этого в файле C:\xampp\apache\conf\extra\httpd-vhosts.conf добавляем
ServerName django
DocumentRoot C:/xampp/htdocs/myapps
WSGIScriptAlias / "C:/xampp/htdocs/myapps/django.wsgi"
Order deny,allow
Allow from all
ServerName localhost
DocumentRoot C:/xampp/htdocs
дабавляем host django "127.0.0.1 django" в C:\Windows\System32\drivers\etc\hosts
меняем django.wsgi на
import os, sys
import django.core.handlers.wsgi
sys.path.append(os.path.join(os.path.realpath(os.path.dirname(__file__)), '..'))
os.environ['DJANGO_SETTINGS_MODULE'] = os.path.basename(os.path.dirname(__file__)) + '.settings'
application = django.core.handlers.wsgi.WSGIHandler()
sys.path.append(os.path.join(os.path.realpath(os.path.dirname(__file__))))
и ву а ля . работает и PHP и Django. хотя я протестировал всё для Windows 7 этот туториал подойдёт и для Windows Vista , Windows XP
p.s. материалы используемые в статье найдены по кусочкам на форумах и блогах а также в документациях
Спасибо. Очень качественно написано.
ОтветитьУдалитьдоброго времени суток. У меня возник вопрос на этапе 9, точнее создание виртуального хоста. Сделал изменения в файле httpd-hosts.conf - и apache2 при запуске выдает ошибку (даже когда запускается как обычная служба). После возврата к предыдущим настройкам - apache2 работает нормально.
ОтветитьУдалитьP.S. apache2 используется только для создания django проэктов
я сделал копию httpd-vhosts.conf и добавил в пост
ОтветитьУдалитькак картинку. надеюсь это поможет
всеравно немогу понять в чем ошибка:
ОтветитьУдалитьServerName django
DocumentRoot C:/S/xampp/htdocs/myapps
WSGIScriptAlias / "C:/S/xampp/htdocs/myapps/django.wsgi"
Order deny,allow
Allow rfom all
ServerName localhost
DocumentRoot C:/S/xampp/htdocs
P.S. у меня xampp находится в C:/S/xampp
И непонятно с какого чуда Apache2 запускается только через Службы, а в Control Panel - выдает ошибку.
спс за содействие
могу посоветовать спрева наладит WAPM а потом уже
ОтветитьУдалитьпереходить к настройке # Django
по установке xampp c PHP много топиков в google
Спасибо за статью, все заработало настраивал на wamp server.
ОтветитьУдалитьспасибо, статья помогла. перекопал за два дня десятки статей по apache + mod_wsgi. всегда возникали сложности на этапе настройки httpd.conf. а у вас всё кратко и понятно. хотя ещё не знаю как этим пользоваться, но главное, что наконец то запустилось с апачем.
ОтветитьУдалитьнасчет виртуальных хостов..
ОтветитьУдалитьне верная конфигурация httpd.conf
это можно посмотреть запустив c:\xampp\apache\bin\httpd.exe -S
маленькая ошибка в конфиге, вот работающая:
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
#
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any block.
#
ServerName django
DocumentRoot C:/xampp/htdocs/myapps
WSGIScriptAlias / "C:/xampp/htdocs/myapps/django.wsgi"
Order deny,allow
Allow from all
ServerName localhost
DocumentRoot C:/xampp/htdocs
все сделал, но после добавления mod_wsgi, apache перестал запускаться
ОтветитьУдалитьЧто я не так зделала с установкой Установка Mod_wsgi для Apache на http://open-server.ru
ОтветитьУдалить==
2015-02-10 15:00:52 --------------------------------------------
2015-02-10 15:00:52 Начало процедуры запуска сервера
2015-02-10 15:00:52 Обновление Hosts файла
2015-02-10 15:00:52 Обновление конфигурации MySQL-5.5
2015-02-10 15:00:52 Обновление конфигурации Sendmail
2015-02-10 15:00:52 Обновление конфигурации PHP-5.3
2015-02-10 15:00:52 Обновление конфигурации PHPMyAdmin
2015-02-10 15:00:52 Обновление конфигурации Apache-2.2
2015-02-10 15:00:52 Запуск MySQL-5.5
2015-02-10 15:00:52 Запуск Apache-2.2
2015-02-10 15:00:52 Проверка состояния сервера
2015-02-10 15:01:31 Не удалось запустить Apache-2.2
2015-02-10 15:01:31 Сбой запуска!
2015-02-10 15:01:31 --------------------------------------------
2015-02-10 15:01:31 Начало процедуры остановки сервера
2015-02-10 15:01:31 Остановка системных модулей
2015-02-10 15:01:32 Отключение виртуального диска
2015-02-10 15:01:32 Сервер успешно остановлен за 0,89 секунд!
==
Вот такое выбило, в конфиге прописала
#LoadModule wsgi_module modules/mod_wsgi.so