Daha önce yaparım dediğim bir şeyi ilk defa bu kadar erken başarıyorum. İşte WebFaction’da Django’yu en verimli şekilde kurma klavuzu.
WebFaction, Django için en uygun servis sağlayıcılardan biri. Panelden otomatik olarak uygulamanızı oluşturup hemen kullanmaya başlayabiliyorsunuz. Ancak bu durumda proje ismi myproject oluyor ki bu çok gıcık bir durum. Hele hele elinizde daha önceden yazılmış ve doğal olarak ismi myproject olmayan bir kod varsa bir şekilde var sayılan proje ismini değiştirmek zorundasınız. Elinizdeki kodu değiştirmek çok zaman alıcı olacaktır.
Benim adımlarımı teker teker takip etmeden önce panelin nasıl kullanıldığına ilişkin WebFaction Screencast‘ını izlemek çok iyi bir fikir.
Aslında anlatacağımın bir benzerini WebFaction forumunda İngilizce olarak bulmak mümkün. Ben de burada Türkçe anlatmayı seçtim. Onun tıpkısının aynısı değil ama ben de oradan öğrendim.
Önce projemizi oluşturalım.
Domain / websites > Applications sayfasında arborea isminde bir uygulama oluşturalım. İsim olarak başka bir şey seçerseniz her adımda arborea sözcüğü yerine seçtiğiniz ismi kullanmayı unutmayın. App type olarak ben Django (0.96) with Python (2.5) seçtim.
Domain / websites > Domains kısmına girip kendimize yeni bir alan adı veya alt alan adı ekliyoruz. Benim yaptığım, eklenmiş alan adlarımdan birine alt alan adı ön eki eklemekten ibaret oldu.
Domain / websites > Websites sayfasında ise alan adımızı ve uygulamamızı birbirine bağlayacağız. Alan adları arasından gereken(ler)i seçip hemen alttaki App açılır menüsünden arborea uygulamasını seçili hale getiriyoruz. Eğer seçtiğimiz alan ad(lar)ının herhangi bir alt dizinine bağlamak istemiyorsak URL path kısmına sadece / koyuyoruz. Eğer bir alt dizine koyacaksak /altdizinismi gibi yazmak gerekecek.
Tercih ettiğiniz FTP istemcinizi açın ve /home/kullanıcıadınız/webapps/arborea dizinine bilgisayarınızda daha önce geliştirdiğiniz arborea ismindeki projenizi gönderin. Sonuç olarak sunucuda üç farklı dizin (apache2, myproject, arborea) bulunmalı. Eğer halihazırda üretilmiş bir projeniz yoksa şimdi üretin ve yollayın. myproject isimli dizini değiştirmeyin. Yoksa içindeki dosyalarda da değişiklik yapmanız gerekir. Tercih sizin.
Daha sonra GNU/Linux konsolu ile veya Windows’ta Putty gibi bir uygulama ile ssh üstünden sunucuya bağlanmanız gerekiyor.
ssh kullaniciadiniz@web24.webfaction.com (Burada web24 yerine sizin sunucunuzun ön eki gelmeli.)
cd webapps/arborea
ls
…komutları ile apache2, myproject ve arborea diye üç dizinle karşılaşacaksınız. Yani FTP ile yükleme yaptığımız yere ulaştık.
Şimdi istediğimiz bir metin editörü ile httpd.conf üzerinde değişiklik yapmamız gerek. Ben emacs‘i tercih ediyorum siz nano vs. de kullanabilirsiniz.
emacs apache2/conf/httpd.conf
…komutu ile açıp
SetEnv DJANGO_SETTINGS_MODULE myproject.settings
satırını
SetEnv DJANGO_SETTINGS_MODULE arborea.settings
şeklinde düzeltmemiz gerekiyor.
Emacs kullandığımıza göre Ctrl+X Ctrl+S tuşlarına sırayla basarak kaydediyoruz ve ardından Ctrl+X Ctrl+C ile çıkıyoruz. (Çıkış sırasında kaydetmek isteyip istemediğimi sormasını hiç sevmem. :p )
Sunucumuzu yeniden başlatmamız gerek. Bulunduğumuz dizini değiştirmeden
./apache2/bin/restart
…komutunu kullanmamız yeterli.
Teorik olarak yapılması gereken başka işlem kalmadı ancak bu durum hiç bir statik dosya sunmayacaksanız geçerli. İçerisinde en azından bir tane resim dosyası bulunmayan web uygulaması olmayacağını düşünürsek işimizin bittiğini söyleyemeyiz.
WebFaction artık herhangi bir uygulama sayısı sınırı koymadığından Domain / websites > Applications sayfasında üreteceğiniz bir symbolic link uygulaması ile istediğiniz bir dizini webe açın. Bu dizinde de .gif, .css gibi tüm statik dosyalarınzı saklayın. İster bir alt alan adınıza ister bir alt dizininize Domain / websites > Websites sayfası aracılılığı ile bağlayın. Django projenizin settings.py dosyasında da MEDIA_ROOT ve MEDIA_URL değişikliklerini yaptıktan sonra statik dosyaları sunamamanız için herhangi bir sebep kalmayacak.
Unutmayın admin paneliniz de benzer şekilde dosyalar sunmaya ihtiyaç duyar. contrib/admin/media dizininizi buraya taşıyıp settings.py’deki ADMIN_MEDIA_PREFIX ayarı ile oynamayı unutmayın. Tabi isterseniz admin sayfasının statik öğelerini hiç taşımadan ona özel bir sembolik link uygulaması dahi oluşturabilirsiniz. Seçim tamamıyla size kalmış.
