26 Mart 2008 Çarşamba

Debian için EAP/TLS/TTLS/PEAP desteği olan freeradius paketi hazırlanması

Daha önce de yazdığım gibi debian depolarında bulunan freeradius paketlerinin EAP/TLS/TTLS/PEAP desteği bulunmuyor. Nedeninin Openssl lisansı olduğunu da yazmıştım. Buna rağmen dağıtım olarak debian kullanmak isteyen ve kaynak koddan kurmak istemeyenler için yapılacak işlemleri buraya yazayım istedim.

0. Aşağıdaki işlemlerin hepsini root olmayan bir kullanıcı ile yapmanız gerekiyor.

1. Gerekli kaynak dosyaları indirelim. Kullandığınız debian'a göre farklılık gösterse de üç dosyayı indirmeniz gerekiyor.
Stable için freeradius_1.1.3-3.dsc, freeradius_1.1.3.orig.tar.gz ve freeradius_1.1.3-3.diff.gz. Freeradius'un son sürümünün 2.0.3 olduğunu göz önüne alırsanız 1.1.3 oldukça eski sayılır. Bana soran olursa testing daha kabul edilebilir bir versiyon olan 1.1.7'yi sunduğundan onun kullanılması daha mantıklı olabilir. Testing için indirilecek dosyalar şöyle: freeradius_1.1.7-1.dsc, freeradius_1.1.7.orig.tar.gz ve freeradius_1.1.7-1.diff.gz. Böyle bir iş için unstable kullanmak isteyene link vermek gerekmez diye düşünüyorum. Stable ve Testing için de güncel sürümlerin burada verilenler olup olmadığını elbette kontrol edeceğinizi varsayıyorum.

2. İndirdiğimiz dosyaları açalım:
$ dpkg-source -x *.dsc
$ cd freeradius-*
Bu komutu çalıştırabilmek için sistemde dpkg-dev paketinin kurulu olması gerekiyor.

3. Oluşturulan dizine geçerek debian/rules dosyasında --without-rlm_eap-* olan satırları --with-rlm_eap-* olarak değiştirelim.

4. Bir kaç satır altta --without-openssl olan satırı da --with-openssl yapalım. Bu satır stable sürümünde yok.

5. Yine aynı dosyada geçen aşağıdaki satırları silelim:
for pkg in $(shell grep ^Package debian/control | awk '{print $$2}') ; d
o \
if dh_shlibdeps -p $$pkg -- -O | grep -q libssl; then \
echo "$$pkg links to openssl" ;\
exit 1 ;\
fi ;\
done

6. debian/control dosyasının ikinci satırında bulunan Build-Depends bölümüne libssl-dev'i ekleyip Build-Conflicts bölümünden çıkartalım.

7. Son olarak aşağıdaki komutla yeni paketlerimizi oluşturalım.
$ dpkg-buildpackage -rfakeroot
Bu komutu kullanabilmek için sistemde gcc, libltdl3-dev, libssl-dev, libpam0g-dev, libmysqlclient15-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch, libperl-dev, libtool paketleri kurulu olmalı.

Herşey yolunda gitmişse (bilirsiniz, bazen gitmez) kısa süren bir işlemden sonra sekiz adet .deb paketiniz oluşmuş olmalı.

Ben yukarıda bahsettiklerimi sparc işlemcili bir makinada testing üzerinde yaptım. Oluşan paketleri ftp.comu.edu.tr adresine koydum. Umarım birilerinin işine yarar.

Kaynak: Building Debian FreeRadius package with EAP/TLS/TTLS/PEAP support

Özgür yazılım ile açık kaynağın ne farkı var?

Özgür Yazılım hareketi 1983'de başlayan ve kullanıcıların yazılımları çalıştırma, anlama, değiştirme ve değiştirdikleri halini dağıtma ö...