Cumartesi, Ağustos 27, 2011

Tutunamayanları bitirebildim

Yaklaşık iki yıldır uğraştığım kitabı sonunda bitirmeyi başardım. Bir kaç sefer yüzlü sayfalara kadar okuyup bıraktığım olmuştu.

Tutunamayanların ne kadar etkileyici, mükemmel, harukulade olduğundan bahsetmeye gerek yok. Haklı ününe biraz geç ulaşmış gibi görünüyor. Yirmi yıl önce okusaydım daha farklı etkileri mi olurdu üzerimde, bilemiyorum.

Okumasının ve yorumlanmasının oldukça zor olduğu söylenebilir. Diğer taraftan sürükleyici olduğu ve sayfalarca dökülen birikimlerin tam olarak anlaşılamasa da bir şekilde hislerinizle anlaşılır olduğu da söylenebilir. Herhalde bunu kitapta anlaşılmaz görülen, karmaşık, çetrefilli durumların insani olmasına bağlayabiliriz. Yine de yazarın tam olarak onu mu ifade etmek istediği ya da her okuyucunun aynı şekilde mi algıladığı konusunda şüpheye düşürüyor insanı. Hep önceki sayfalarda birşeyler mi kaçırdım hissi uyandırıyor.

Kitabı okurken çokça gülümsedim, sesli güldüğüm bile oldu. İçimde bir olric var mı diye yoklamalar :) kitabın dilinde konuşma eğilimi falan, bu kitabı okumanın eğlenceli tarafları. Karakterlerin başından geçenler acıklı olsa da -verdikleri tepki ve ifade biçiminden olsa gerek- hüzünlendiğimi hatırlamıyorum.

Kitapla ilgili konuşulacak o kadar şey var ki nereden başlayacağını bilemiyor insan ve vazgeçiyor:) Uzun da bir kitap ama hiç bir yerinin gereğininden fazla uzatıldığını da görmüyorsunuz. Hatta yarıda kesilmiş, özetlenmiş, kısaltılmış cümleler var. Bu kısa cümleleri gördükçe Oğuz Atay'ın derinliği hakkında daha da hayrete düşüyor insan.


Pazartesi, Mart 22, 2010

educommons kurulumu -2

Önceki yazıdaki educommons kurulumu ile ilgili bir sorun olmadıysa bu aşama sadece birkaç dakika sürüyor. Şimdi Zope sunucuya bir Plone Site ekleyeceğiz. Bu site educommons ve gerekli diğer özellikleri içerecek:

Önceki yazıda da söylediğim gibi bunlar aslında burada yazıyor.

1. önceki yazının sonunda bahesttiğim gibi localhost:8080/manage adresine giriyoruz.
kullanıcı adı/parolayı değiştirmediysek admin/test1234
2. Sağ üstteki (yanında "add" yazan, "go" yazan değil) açılır listeden "Plone Site" Seçiyoruz ve "add" düğmesine tıklıyoruz.
3. Açılan sayfada "Id" ve "title" alanlarını dolduruyoruz. id oluşturduğumuz sitenin url'sini belirliyor (http://localhost:8080/) title ise web sayfalarının bilinen title özelliği. "Extension Profiles" Kısmında aşağıdakileri ctrl ile tıklayarak seçiyoruz:
PloneBookmarklets

ContentLicensing
IMSTransport
OpenSearch
OAI Intercom
SearchAndReplace
Zip File Transport
Left Skin
Static Site
eduCommons

wordpressexchange
iw.fss (FileSystemStorage)
Working Copy Support (Iterate)
CacheSetup
LinguaPlone

4. localhost:8080/eduCommons ile (id için eduCommons girdiğim için) giriş sayfasını görüyoruz.



5. Eğer yerelleştirme yapacak isek (türkçe sayfalar ve birden fazla dilde yayın için) Zope yönetim arayüzünde (ZMI) oluşturduğumuz siteye tıklıyoruz (burada eduCommons). Burada "portal languages"e girerek gerekli olan dilleri seçiyoruz ve kaydediyoruz.

Bir sonraki yazıda site ayarları ile ilgili birşeyler yazmayı düşünüyorum.

educommons kurulumu -1

Son blog girdisini 1 Nisan 2009'da yazmışım, şaka gibi :) Neyse bir yıl dolmadan bir girdi daha yazıyorum.

Educommons kurulumu ile ilgili pyhon'dan bağımlılıklarından doğan bir takım sıkıntılar olduğu için buraya kurulum adımlarını yazıyorum.

Aslında burada anlatıldığı gibi oluyor ama bir kaç ufak değişiklik olabiliyor:

1. educommons'u sitesinden indiriyoruz.
2. python 2.4.4'ü buradan indiriyoruz (çünkü sadece bu python sürümünde çalışıyor). educommons'un resmi stesinde 2.4 gerektiği söylenmiş. 2.4.6 ile çalıştıramamıştım.
3. İndirilen python kurulum dosyasını /usr/local gibi bir yerde açıyoruz ve klasik ./configure
make
make install
üçlüsüyle kuruyoruz.
4. educommons kurulum dosyasını açıyoruz ve içinde:
python2.4 bootstrap.py
komutuyla geerkli dizinlerin oluşturulması ve kurulum ayarları dosyasının üretilmesi,
bin/buildout
ile paketlerin derlenmesi, gerekli olanların internetten indirilmesi, ve kurulması gibi uzunca bir işlem yapılıyor. Burada hata alınması muhtemel. Benim kurulumumda 2 hata vardı fakat bağımlılıklardan dolayı sisteminizden olmayan paketlerden ötürü :) daha fazla hata çıkabilir.
Birinci eksik paket libxml2 ile ilgili idi ve ubuntuda
sudo apt-get install libxml2-dev
ile kurdum. İkinci eksik ise mocker ile ilgiliydi ve bunun tesler ile ilgili olduğunu düşünerek buildout.cfg dosyasındaki mocker ile ilgili 2 satırı comment out ederek sorunu aştım.

Kurulumdan sonra sunucuyu başlatmak için:
bin/instance start

komutunu kullanıyoruz. Çalıştığını görmek ve zope sunucuyu yönetmek için web tarayıcımızdan:

http://localhost:8080/manage

adresini açıyoruz. Yetkili kullanıcı adı ve parolası admin/test1234

Bir sonraki girdide yönetim arayüzü kurulmasını yazacağımı ümid ediyorum.

Çarşamba, Nisan 01, 2009

freeradius + ldap authentication

Freeradius'a ldap hesabıyla bağlanmak için yaptığım yapılandırmayı buraya yazayım ki unutmayayım, hem başkaları da faydalansın. Atım da şurda otlaya dursun :) (bkz. kendi kendine konuşmak).

Aslında ayar dosyalarında kapalı olan birkaç satırı açarak kolayca yapılabiliyor. Önemli olan hangilerinin açılacağını ve Ldap tarafındaki yapıyı bilmek. Problem olduğu zaman freeradiusun da kullanıcıyı doğrularken yaptığına benzer bir ldapsearch komutu ile test etmek, ldap'ın loglarına düşen kayıtları ve freeradius'un hata mesajlarını okumak faydalı oluyor.

Öncelikle freeradiusla gelen şemayı ldap'a ekliyoruz ki böylece freeradius'un baktığı radiusObjectProfile sınıfına sahip kayıtlar oluşturabilelim. Sonra aşağıdaki satıları conf dosyalarında açıyoruz. Hepsi bu.



freeradius 2 serisi için:

radiusd.conf dosyasında:
auto_header = yes
ldap {

server = "192.168.1.2"
identity = "cn=admin,dc=domain"
password = parola
basedn = "dc=domain"
base_filter = "(objectclass=radiusObjectProfile)"
access_attr = "cn"
dictionary_mapping = ${raddbdir}/ldap.attrmap
authtype = ldap
ldap_connections_number = 5
timeout = 4
timelimit = 3
net_timeout = 1
dictionary_mapping = ${confdir}/ldap.attrmap
password_attribute = userPassword
set_auth_type = no
}
default dosyasında:
authorize {
ldap
eap {
ok = return
}
}
authenticate {
ldap
Auth-Type LDAP {
ldap
}
}

innertunnel dosyasında:
authorize {
ldap
}
authenticate {
Auth-Type LDAP {
ldap
}
eap
}

ldap.attrmap dosyasında:

replyItem Tunnel-Type radiusTunnelType
replyItem Tunnel-Medium-Type radiusTunnelMediumType
replyItem Tunnel-Private-Group-Id radiusTunnelPrivateGroupId
checkItem User-Password userPassword