dtoch
Апрель 15, 2008 16:44:02
Привет!
Такой вопрос. Есть сайт, уже сделаный на ПХП, хотелось бы перетащить его под django, но постепенно. Возникла проблема, настроил апач, как учили
<Location “/”>
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE agooga.settings
PythonPath " + sys.path"
PythonDebug On
</Location>
весь корень переписал на django и он работает шикарно, но, в процессе работы вызваются cgiшки из каталога cgi-bin, на что django(точнее питоновский хэндлер) резонно ругается, я не спец в хитрых настройках апача, может кто-нибудь знает, как разрулить это дело, чтобы cgiшки отдельно сами по себе работали. а сам сайт на django?
qman
Апрель 17, 2008 07:31:59
я не спец по настройке апача, но почему для каталога /cgi-bin указать свои настройки
<Location “/cgi-bin”>
тут твои настройки
</Location>
или
<Directory “/cgi-bin”>
тут твои настройки
</Directory>
dtoch
Апрель 17, 2008 09:55:45
Да, я тоже так думал, но оказывается, что нет. Не прокатывает почему-то. Эх…
diadya_vova
Апрель 17, 2008 12:08:45
попробуй закинуть в каталог cgi-bin файлик .htaccess примерно такого вида
SetHandler None
Options -Indexes
Я такие настройки юзаю для статики под Апачем.
хм. там вроде еще что-то нужно дописать, чтобы cgi разрешалось запускать из каталога вроде.
slivlen
Апрель 17, 2008 13:13:39
Чтобы настройки из .htaccess применялись необходимо еще задать в конфиге опцию: AllowOverride All.
P.S. All в общем-то не обязательно, можно просто указать список опций, которые можно переопределять в .htaccess.
dtoch
Апрель 17, 2008 14:03:09
Это все я пробовал. :)
Пойду спрошу на апачевском форуме каком-нибудь. :)
dtoch
Апрель 20, 2008 15:14:34
Так вот, кому интересно. Проблемку решил следующим образом:
В настройках виртуального хоста прописал следующее:
<IfModule alias_module>
ScriptAlias /cgi-bin/ “/home/zzz/public_html/zzz/search/cgi-bin/”
Alias / “/home/zzz/public_html/zzz/django/”
</IfModule>
<Directory “/home/zzz/public_html/zzz/search/cgi-bin/”>
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory “/home/zzz/public_html/zzz/django/”>
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE zzz.settings
PythonPath " + sys.path"
PythonDebug On
</Directory>
То есть, основаная идея в том, чтобы заменить <Location /> на <Directory …..>. Затем при помощи модуля mod_alias, разруливаем по каталогам все, что нужно. Получаем: есть корневой каталог, где работает джанго, есть каталог cgi-bin, которому не мешает джанго, ну и есть каталог в струкутре сервера, где используется уже php. :)
qman
Май 6, 2008 06:54:40
dtoch
Так вот, кому интересно. Проблемку решил следующим образом:
В настройках виртуального хоста прописал следующее:
спасибо за решение.
P.S. плюсик тебе