Django + Apache + Zangetsu
( bunu evde deneyin )
# emerge django apache mod_python
mod_python aktivasyonu:
/etc/conf.d/apache2 dosyasında APACHE2_OPTS satırına “-D PYTHON” ekleyin
zangetsu’yu /var/www/localhost/htdocs/ altına alıyorum
( sunucu kökünü /etc/apache2/httpd.conf dosyasında şöyle belirtmiştim -> DocumentRoot “/var/www/localhost/htdocs” )
$ cd /var/www/localhost/htdocs
$ svn co http://svn.pardus.org.tr/projeler/zangetsu/
sonra zangetsu/README dosyasında yazanları yapın, ( compile-messages.py -a almadığı için tek çalıştırın yani $ python /usr/lib/python2.4/site-packages/django/bin/compile-messages.py )
.htaccess içindeki PythonPath bir işe yaramıyor bu aşamada. /etc/apache2/modules.d/16_mod_python.conf ‘a altta linkini verdiğim örnek dosyadaki gibi Location kısmını ekliyoruz.
http://ish.kodzilla.org/16_mod_python.conf
( mesela wordpress Location taglarını yediği için buraya yazamayıp link veriyorum size, böyle özürlü hareketlerden kurtulacaksınız ne güzel . )
# /etc/init.d/apache2 restart
site şurda olmalı şimdi http://localhost/zangetsu/blog/
Bunları yaptıktan sonra gerçek sunucunuzu Django yüklemesi için ikna etmeniz gerekiyor, onu nasıl halledersiniz bilemiyorum ..
ek bilgi,
apache 2.2.4-r1 , mod_python 3.3.1 , django 0.96
May 17th, 2007 at 11:25 am
Çalışma dizininde bir yere Django kurup sys.path içine bu dizini eklerseniz, sunucu yöneticisini ikna etmek zorunda kalmazsınız.
May 17th, 2007 at 11:38 am
- Zangetsu’nun program dosyalarını “/var/www/localhost/htdocs” altına koymak iyi bir fikir değil. kullanıcı dizini daha mantıklı mesela (ya da /var/lib/ altına).
- htaccess içerisindeki PythonPath’in bir işe yaramıyor olması apache yapılandırmasının htaccess’teki değerlerin, yapılandırmayı override etmesine izin vermiyor olmasından kaynaklanıyor, çözüm apache’yi düzgün yapılandırmak, gerekli satırı mod_python’a eklemek değil (zira bir hosting firmasından hizmet alıyorsan mod_python.conf’a ekleyemezsin).
- ‘-a’yı README’den temizledim, belli ki sallamışım, hakikaten yok öyle bir parametre.
May 17th, 2007 at 12:49 pm
@meren
bilgiler için teşekkürler, benimki sadece çalışsın amaçlı evde denemelik bir apache olduğundan bunlara dikkat etmemiştim.
@bahadir
çalişma dizininde bir yere django kurmak güzel ama shell access vermiyor sunucu, başka türlü olur mu bilmiyorum .. bir şekilde halledicem artık.
May 18th, 2007 at 7:56 am
Kardeşim emerge nedir yahu? pisi it apache django yeter, bağımlılıkları da kendi kurar. Hayır yabancı olsan neyse.. cık cık cık ;)
May 18th, 2007 at 1:07 pm
O gelmiş önüme :))
yeri gelmişken, apache htaccess’in sözünü dinlesin isteyenler httpd.conf dosyasına şunu ekleyiveriyorlar, artık hangi dizine izin verilecekse :
Directory “/var/www/localhost/htdocs”
AllowOverride All
/Directory
( açma kapama taglarını unutmayın )