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

Çalışma dizininde bir yere Django kurup sys.path içine bu dizini eklerseniz, sunucu yöneticisini ikna etmek zorunda kalmazsınız.
- 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.
@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.
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 ;)
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 )
makale için teşekkürler..
güzel site doğrusu..