7 Nisan 2014 Pazartesi

Dspace <-> LDAP Entegrasyonu

Bu yazıda Dspace kurumsal dijital arşiv yazılımının kurumunuzda hali hazırda başka hizmetler(Email,yazılım kimliklendirme(authentication), vb.) için kullanılan LDAP dizin hizmeti ile entegrasyonunu anlatacağım.

Bu entegrasyon sayesinde kurumunuzdaki kullanıcılara dspace üzerinde tekrardan kullanıcı adı ve şifre oluşturup gönderme işinden kurtulmuş olacaksınız ayrıca tek şifre olduğu için kullanıcılar ayrı bir şifre hatırlamak zorunda kalmayacaklar.

DSpace çoklu ve aşamalı kimliklendirmeyi(authentication) desteklediği için hem el ile oluşturulan kullanıcılar hem de LDAP da bulunan kullanıcılar aynı anda sisteme giriş yapabilmektedirler.

DSpace yazılımında varsayılan olarak el ile oluşturularan kullanıcılar giriş yapabilmektedirler. Biz buna ek olarak LDAP kimliklendirme modülünün ayarlarını yapıp aktif edeceğiz.

 Ayarları DSpace 4.x için ve Linux tabanlı sistemler için yapacağız. Ayarları yaparken İngilizce bilenler DSpace Authentication Plugins sayfasından adımları takip edebilirler.

 DSpace de değişiklik yapacağımız dosyalar aşağıda listelenmiştir.
/dspace/config/modules/authentication.cfg - Ldap kimlendirmenin aktif edildiği dosya
/dspace/config/modules/authentication-ldap.cfg - Ldap sunucu ayarlarının yapıldığı dosya

Linux komut satırında metin editörü olarak nanoyu kullanmaktayım isteyenler pico veya vi kullanabilirler.

Öncelikle authentication-ldap.cfg dosyasında LDAP sunucumuzun ayarlarını yapacağız. bize gerekli olan alanları LDAP  sistem yöneticimizden temin edebiliriz. Linux terminalinde komut satırına aşağıdaki komutu girererek authentication-ldap.cfg dosyasındaki gerekli değişiklikleri yapıyoruz.


nano /dspace/config/modules/authentication-ldap.cfg
 
Dosya içerisinde belirtilen ayarları yapıyoruz. 

enable = true #LDAP kimliklendirmeyi aktif hale getirmek için
autoregister = true # Dspace içinde Otomatik kullanıcı kaydı oluşturmak için

provider_url = ldap://ldapsunucuadi.okuladi.edu.tr/ #ldap sunucusunun adresi eğer güvenli (ssl) ldap protokolü ise ldaps://  kullanılacaktır.
id_field = uid # kullanıcı adının tekil olarak saklandığı alan genelde uid dir bu ayar.
object_context = ou=iyteusers,dc=iyte,dc=edu,dc=tr #kullancıların LDAP ağacında nerde tutulduklarını gösterir
search_context =  ou=iyteusers,dc=iyte,dc=edu,dc=tr #object_context ile genelde aynı ayar yapılır.

email_field = mail #kullanıcı email adresinin  LDAP da hangi alanda tutulduğunu gösterir
surname_field = sn #kullanıcı soyadının LDAP da hangi alanda tutulduğunu gösterir.
givenname_field = givenName #kullanıcı adının LDAP da hangi alanda tutulduğunu gösterir
phone_field = r-ilk-telefon #kullanıcı telefon numarasının LDAP da hangi alanda tutulduğunu gösterir

#login.specialgroup = group-name #bu ayar grouplara göre role atama işi için kullanılacak fakat bu yazıda bundan bahsedilmeyecek.

search_scope = 2 #LDAP ağacında hangi derinliğe kadar arama yapılacağını belirten ayar bu 2 olsun.

search.anonymous = false #kullanıcıları LDAP sunucusundan sorgularken anonim sorgulama yapılıp yapılmayacağını belirten ayar
search.user =  cn=ldap_yonetici_kullanici_adi,dc=okuladi,dc=edu,dc=tr
search.password = ldap_yonetici_sifresi

#netid_email_domain = @example.com #LDAP sunucuda tam email adresleri yoksa domain adını buraya yazınız.



Gerekli değişiklikleri yaptıktan sonra kaydedip çıkıyoruz ve sıra geldi ayarlarını yaptığımız LDAP kimliklendirme modülünü aktif etmeye. Bunun için ayar yapmamız gereken dosya ise authentication.cfg dosyası demiştik. Bu dosyada gerekli değişiklikleri yapmak için linux terminalinde aşağıdaki komutu çalıştırıyoruz.

nano /dspace/config/modules/authentication.cfg

Dosya içerisinde LDAP satırını ekliyoruz,

plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
        org.dspace.authenticate.PasswordAuthentication,\
        org.dspace.authenticate.LDAPAuthentication

Bu değişikliğide yaptıktan sonra uygulama sunucumuzu(biz tomcati kullanıyoruz) tekrardan başlatıyoruz.

service tomcat7 restart

Her şey yolunda gittiyse web arayüzünden giriş yapmak istediğinizde karşınıza iki seçenek çıkacaktır birisi el ile oluşturulmuş kullanıcılar için  password kimliklendirme diğeri ise ldap seçeneği.






3 Aralık 2011 Cumartesi

Moodle da Intihal Önleme Eklentileri Urkund, Turnitin

Moodle ders içerik yönetim sisteminin 1.9 versiyonundan itibaren intihal (plagiarism) servisleriyle entegre çalışmaya başlamıştır. Geliştirilen eklentiler yardımıyla hocalara zahmet vermeden öğrencilerin ödevlerini moodle sistemine gönderirken otomatik olarak urkund veya turnitin intihal analiz sistemlerinden geçirilir. Bu servisler akademik veritabanları ve kendi web veri tabanları üzerinden tarama yaparak gönderilen ödevlerin her cümlesinin nerede geçtiğine bakar ve hocaya yüzde olarak rapor sunar. "Örneğin A öğrencisinin ödevinde ilk paragrafın %70 i www.wikipedia.com daki bir kaynakla örtüşmektedir."
Böylelikle hem zamandan kazanılır hemde öğrencilerin internetten yaptıkları kopyalamalara karşı caydırıcı bir özellik katılmış olur. Tabi bunların olması için öncelikle  üniversitenizin kütüphanesinin bu verdiğim intihal analiz servislerine abone olması gerekmektedir. Örneğin Urkund için Moodle entegrasyonu  yapmanız gerekenleri şöyle özetleyebiliriz.

 Moodle 1.9 için Urkund entegrasyonu
1-) Moodle entegrasyon eklenti dosyasını moodle eklenti sayfasından indirin eğer yoksa servisi sağlayan firmaya başvurun.
2-)Daha sonra bu zip dosyasını açılmış bir şekilde(zipin içindeki sadece urkundassignment diye bir klasör olacak bu dizini kopyalayacaksınız ) /var/www/html/moodle/mod klasörüne kopyalayın.
3-)urkundlms.php dosyasına firmadan aldığınız  adress kullanici adi ve şifre parametrelerini aşağıdaki şekilde girmeniz gerekmektedir.

function getUrkundIntegartionAddress()
{
$urkundIntegrationAddress = 'path_obtained_from_URKUND'; //firmadan temin edeceksiniz.
return $urkundIntegrationAddress;
}

function getUrkundHttpAuth()
{
$urkundHttpAuth = 'user:password';//firmadan temin edeceksiniz
return $urkundHttpAuth;
}

function getAcceptLanguage()
{
$acceptLanguage = '(Lang_code example) en-US';
return $acceptLanguage;
}.

4-)Moodle sistemine admin olarak girerek bildirimleri(notifications) tıklayarak otomatik bir şekilde modülün kurulmasını sağlayın.
Eğer bir aksilik çıkmadıysa herhangi bir derse aktivite ekle bölümünde Urkund Assignment diye göreceksiniz.

Moodle 2.+ da ise işler biraz daha kolay çünkü eklentiler hazır geliyor. Siz sadece aktif edip parametleri moodle arayüzünden giriyorsunuz ve işlem tamamlanıyor.











18 Mart 2010 Perşembe

BIGBLUEBUTTON (Sanal Sınıf ve Konferans Sistemi )+Moodle

Big Blue Button(BBB) çoklu Video, Ses, Sunum, Masaüstü paylaşımı ve Chat yetenekleri olan uzaktan eğitim için ideal hizli bir çözüm. Red5, Apache Tomcat, Asterisk, nginx,swf2tools bileşenlerinden oluşan istenirse online hizmet olarak almak mümkün istenirse ubuntu bir sunucuya bir kaç bash komutuyla kurulabilen hali hazirda sanal makina olarak da indirilebilen kurulumda sorun yaşamayacağınız bir sistem. Öne çıkan özellikleri

  • Kişiler sisteme mikrofon kamera veya chat sistemiyle dahil olabilirler
  • Moderator, pdf word ya da ppt formatindaki dosyalari upload ederek bunlari bir pencereden diger katilanlarla eşzamanlı(senkron bir sekilde sunmasına olanak sağlıyor. Arka planda swftools ile upload edilen dokumanlar flash formatina cevrilip sistemin arayüzüne aktariliyor.
  • Moderator kendi makinasindaki masaüstünü diğer katılanlarla paylaşma imkanı buluyor.
  • Moderator katılımcıların sesini teker teker veya bütün olarak açıp kapatabiliyor.
  • Moodle ile çok güzel bir şekilde entegre olabiliyor. Boylelikle moodle da activity ekleyerek ogrencilerin otomatik olarak BBB sistemine girmesi saglanabiliyor.

KURULUMU basit demiştim işte adımları

Kurulu bir ubuntunuz var ise aşağıdaki komutlarla kurulum bitiyor

   wget http://archive.bigbluebutton.org/bigbluebutton.asc 
sudo apt
-key add bigbluebutton.asc
echo
"deb http://archive.bigbluebutton.org/ bigbluebutton main" |sudo tee
/etc/apt/sources.list.d/bigbluebutton.list
sudo apt
-get update
sudo apt
-get install bigbluebutton

Kurulurken sizden mysql root şifresini isteyecektir. Bir de telefon kodu 90 i
girmenizi isteyecektir hepsi bu kadar bunlari girdikten sonra sisteminiz kurulacaktir.

Dikkat etmeniz gereken bir hussus var eğer makinaniz üzerinde 80. portta çalışan bir uygulama varsa
örneğin apache ya bunun portunu değiştirin ya durdurun ya da sistem kurulduktan sonra
nginx sunucusunun portunu değiştirin. Çünkü nginx varsayılan kurulumda 80. portu kullaniyor


Yeni versiyonda masaüstü paylaşımını kurulum scriptinden çıkartmışlar GPL lisans mevzularından
dolayı. Bunu ayri olarak kuruyoruz ama üzülmeyin bu da tek satır

apt-get install bbb-apps-deskshare

dedikten sonra masaüstü paylaşımını da kurmuş oluyoruz.


Herşeyin güzel bir şekilde kurulduğunda emin olmak istiyorsaniz komut satırında

bbb-conf --check

komutunu yazıyorsunuz ve size aşağıdaki gibi bir çıktı vermesi gerekiyor




Current Configuration:

/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
IP
for tunnel check: demo.bigbluebutton.org
IP
for rtmp (red5): demo.bigbluebutton.org
host
for bbb-web interface: demo.bigbluebutton.org

/etc/nginx/sites-available/bigbluebutton (configuration file nginx)
server_name
: demo.bigbluebutton.org
port
: 80
client document root
: /var/www/bigbluebutton

/var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
(bbb-web)
host
: demo.bigbluebutton.org

/var/lib/tomcat6/webapps/bigbluebutton/demo/bbb_api_conf.jsp (API demos)
host
: demo.bigbluebutton.org

/etc/asterisk/bbb_extensions.conf (asterisk)
conference
module: konference



Sistemin komple restart etmek istiyorsaniz temiz temiz şu komutu kullanin

bbb-conf --clean


Eğer bunlarla uğraşmak istemiyorum diyorsaniz sanal makina versiyonunu indirebilirsiniz

Şimdi gelelim Moodle 1.9+(1.9 dan düşükleri desteklemiyor diye biliyorum) ve BBB entegrasyonuna.

Moodle plugin indirme bolumunden BBB pluginini indirip kurun daha sonra mooodle sisteminize
admin kullanicisi ile girdikten sonra

Modules->Activities->BigBlueButton bolumune gecin orda sizden bbb sunucunuzun ipsi
güvenlik tuzunu:)(security salt) ve de baglanilacak oda sayisini belirten meetingidyi isteyecek

http:// : buraya ip ya da hostname giriyoruz
Security Salt : buraya
/var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties dosyasinin içindeki
beans.dynamicConferenceService.securitySalt= değişkeninin değeri yazılacak
Meeting ID :buraya da * yazin kafaniz agirmasin.

Daha sonra ders içinde turn editing on dedikten sonra add an activity den bigbluebutton u seçip
bilgileri girdikten sonra aktivitenizi oluşturabilirsiniz.


Linkler
Ana Sayfa
www.bigbluebutton.org

Kurulumlar
http://code.google.com/p/bigbluebutton/wiki/Installation


30 Ocak 2010 Cumartesi

Simulasyon bitince MATLAB size email atsin

Doktora, yüksek lisans calismalarinda uzun suren simulasyonlar yapariz. Bu simulasyonlari kendi makinamızdan baska bir makinada yapiyorsak hep merak ederiz acaba bitti mi simulasyon, uykularimiza girer kalkar ssh yapariz ya da remote desktop yapar bakariz simulasyon bitmis mi diye. ssh ya da remote desktop yapmak icin bir de vpn yapmak gerekiyorsa simulasyonu kontrol etmek icin keske su simulasyon bitince bana mail atsa demisimdir hep. bu isi matlabde nasil yapildigini asagida anlatiyorum. Oncelikle simulasyon yapacagimiz kodun icine asagidaki satirlari ekliyoruz

% matlab mail degiskenlerini tanimliyoruz
mail = 'mesutgungor@iyte.edu.tr'; %IYTE email hesabiniz
password = 'iyte_eposta_sifreniz'; %IYTE email sifreniz

% email smtp sunucu ayarlarini yapiyoruz burda
setpref('Internet','E_mail',mail);
setpref('Internet','SMTP_Server','mail.iyte.edu.tr');
setpref('Internet','SMTP_Username',mail);
setpref('Internet','SMTP_Password',password);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');

% Maili gonderiyoruz
deneme=5; %Ornegin Simulasyonunun sonucu deneme degiskeni olsun
%degeri 5 olsun
%ve simulasyon grafiginin "sonuc.eps" dosyasina kaydettirmis olun.
%simulasyon sonucunu plot ettirdiyseniz "print -deps sonuc.eps" %komutu ile
%plot ettiginiz figuru sonuc.eps dosyasina kaydettirebilirsiniz.


eposta_kime_gidecek='mesutgungor@iyte.edu.tr'
eposta_konusu ='Simulasyon Bitti';
eposta_metni=['Simulasyonun numerik degeri ' in2str(deneme)];
eposta_attachement_dosyasi='sonuc.eps'

sendmail(eposta_kime_gidecek, eposta_konusu, eposta_metni, eposta_attachement_dosyasi)

Yukardeki kod satirlarini simulasyon dosyamiza eklediysek simulasyonumuz bitince istedigimiz emaile simulasyon sonuclarini gonderebiliriz.

İzleyiciler