2. Kullanıcıların dosyalarının depolayabildiği, diğer kullanıcılarla paylaşabildiği ve
dosya içeriğini düzenleyebildiği yazılımsal sistemdir.
Bu yazılımsal sistem için kullanılan bazı teknolojiler şunlardır:
XtreemFS
Alfresco
CMIS (Content Management Interoperability Services)
İşletim Sistemi
3. Amaç: Dokümanları içeriğine göre aramak.
1- Dosyayı nasıl depolarız?
Daha öncede bahsettiğimiz gibi bu konuda çeşitli teknolojiler kullanılıyor fakat
biz işletim sistemi kullanacağız.
2- Arama motorunda dosya yetkilendirilmesini nasıl yaparız?
Bunu Apache ManifoldCF üzerinden çeşitli yetkilendirmeler vererek
sağlayacağız.
4. Java ile geliştirme
yapabilmek için Java
Development Kit
(JDK) e ihtiyaç
duyarız. Bu nedenle
kurulumlara
başlamadan önce
JDK kurulumu
yapmamız
gerekmektedir.
6. JDK için klasör oluşturuyoruz.
Oluşturduğumuz Klasöre Taşıyoruz.
Gerekli güncellemeler için yukarıdaki işlemleri yapıyoruz.
7. Kurduğumuz JDK versiyonunu kontrol ediyoruz.
JDK versiyonunu ekrana
yazıyor ve böylelikle
kurulumun tamamlandığını
anlamış oluyoruz.
8. Apache Solr ve Apache ManifoldCF yazılımlarını Apache Tomcat sunucusunun
altında çalıştıracağımızdan dolayı öncelikle Apache Tomcat kurulumumuzu
yapmamız gerekmektedir.
9. Linux tabanlı Ubuntu işletim
sistemini kullanacağımızdan
dolayı Binary Distributions
sekmesinden tar.gz uzantılı
dosyayı tercih ediyoruz.
Dosyamızı klasöre çıkartıyoruz.
Belirttiğimiz yolda klasör oluşturuyoruz.
Klasöre çıkarttığımız dosyaları, oluşturduğumuz yoldaki klasörümüze taşıyoruz.
10. Apache Tomcat kurulumunu tamamladıktan sonra Apache Solr kurulumunu yapabiliriz.
Apache Solr, içeriğe göre dosya indexlemede kullanılan arama motorudur.
11. Linux tabanlı Ubuntu işletim
sistemini kullanacağımızdan
dolayı tar.gz uzantılı
dosyayı tercih ediyoruz.
12. Apache Tomcat
klasörümüzün altındaki
conf klasörüne ulaşıyoruz
ve buradan gerekli
değişiklikleri yapmak için
tomcat-users.xml
dosyasına ulaşıyoruz.
tomcat-users.xml
dosyamızı
resimde görüldüğü
şekilde
Düzenledikten sonra
CTRL + X yaparak
kaydedip çıkıyoruz.
13. Apache Tomcat’ i
çalıştırıyoruz ve
ardından kapatıyoruz.
Böylelikle localhost
klasörümüzü oluşturmuş
oluyoruz.
solr.xml dosyamıza ulaşarak resimdeki şekilde gerekli değişiklikleri yapıyoruz.
14. solr-4.4.0.war dosyasını
solr klasörünün
altındaki example
klasörüne kopyalıyoruz
ve adını da solr olarak
değiştiriyoruz.
example/solr altına data
adında bir klasör oluşturuyoruz.
Gerekli değişiklikleri
yapmak için
solrconfig.xml
dosyasına ulaşıyoruz.
16. Gerekli değişiklikler için
Ortam değişkenlerine ulaşıyoruz. Aşağıdaki
resimde gördüğümüz şekilde düzenliyoruz.
Ortam değişkenlerini
ekledikten sonra Apache
Tomcat’ i başlatarak Apache
Solr’ ı aktif hale getiriyoruz.
17.
18.
19. Veri tabanları arasında Apache
ManifoldCF ile en uyumlu ve en
iyi performansı gösteren PostgreSQL
olduğundan dolayı tercihimizi bu yönde
kullanıyoruz.
PostgreSQL kurulumunu yapıyoruz.
Veri tabanı konfigürasyonunu
Yapmak için postgresql.conf
dosyasına ulaşıyoruz.
21. Veri tabanı konfigürasyonunu sağladıktan
sonra PostgreSQL SHMMAX değerini
yükseltmemiz gerekmektedir.
kernel.shmmax = 1135617000
satırını dosyaya ekliyoruz.
22. Apache ManifoldCF,
Dosya Yönetim Sistemi
ile Arama Motorunun
Senkronizasyonunu ve
Arama motorunda
yetkilendirmeyi sağlayan
açık kaynak bir yazılımdır.
Apache Tomcat’ in
altına Apache
ManifoldCF
Kurulumuna
başlıyoruz.
23. Linux tabanlı Ubuntu işletim
sistemini kullanacağımızdan
dolayı Binary sekmesinden
tar.gz uzantılı dosyayı
tercih ediyoruz.
Herhangi birini seçerek dosya
İndirme işlemini başlatıyoruz.
24. Gerekli değişiklikler için
Ortam değişkenlerine ulaşıyoruz. Aşağıdaki
resimde gördüğümüz şekilde düzenliyoruz.
Daha sonra kullandığımız özellikleri Apache ManifoldCF’ e belirtmemiz için
properties.xml dosyasına ulaşarak gerekli düzenlemeleri yapmamız gerekmektedir.
26. Properties.xml dosyasında gerekli değişiklikleri yaptıktan sonra aşağıda belirtilen
Klasöre ulaşarak initialize.sh dosyasını çalıştırıyoruz ve veri tabanı örneklerini
bizim için oluşturuyor.
Karşımıza çıkan ekran yukarıdaki resimde olduğu gibi ise veri tabanı örneklerinin
başarı ile oluşturulduğunu görüyoruz.
28. Apache ManifoldCF’ i başlatmadan önce sonra olarak start-agents.sh dosyasını
çalıştırmamız gerekmektedir. Burada en önemli nokta bu dosyayı çalıştırdıktan
sonra doğru bir şekilde kapatılması son derece önemlidir bu nedenle çalıştıktan sonra
CTRL + C yaparak kapatmalıyız.
startup.sh dosyasını çalıştırarak Apache
Tomcat’ i çalıştırıyoruz.
29. catalina.sh dosyasını çalıştırarak da
Apache Tomcat’ i çalıştırabiliriz aynı
işi yapar fakat aynı zamanda bize
debug ederek takip etme şansı verir.
Server 15s de
başlatılmıştır.
Herhangi bir
hata çıkacak
Olursa ekrandan
takip ederek
hatayı çözebiliriz.
31. Apache ManifoldCF çok esnek bir yazılımdır. Arama motoru senkronizasyonunu ve
arama motorunda yetkilendirmeyi sağlayabilmesi için üç tür bağlantı
sağlanması gereklidir. Bunlar şunlardır;
1- Output Connection
2- Authorization Connection
3- Repository Connection
Apache ManifoldCF aynı zamanda iki farklı Dosya yönetim sistemini birleştirebilir.
32. 1- Output Connection
Arama motorunun bağlantı tipini belirtir. Bizim kullandığımız Apache Solr. Gerekli
ayarlamalar için aşağıdaki adımları takip ediyoruz.
33.
34. 2- Authorization Connection
Yetkilendirme sorgularının yapılması için kullanılan bağlantı tipidir. LDAP, Active
Directory ve JDBC (Java Database Connectivity) örnek verilebilir.
Bizim kullandığımız JDBC. Gerekli ayarlamalar için aşağıdaki adımları takip ediyoruz.
35.
36.
37. 3- Repository Connection
Dosya sisteminden dosyaların metadatalarının ve güvenlik bilgilerinin alınması
için kullanılan bağlantı tipidir. Bizim kullandığımız File System. Gerekli
ayarlamalar için aşağıdaki adımları takip ediyoruz.
38. Jobs
Jobs, şu anki Dosya Yönetim Sistemimizde her bir kullanıcıya ait bir klasör
mevcut ve bu kullanıcılar kendi klasörleri dışındaki kullanıcıların klasörlerine
erişememektedir.
Yapacağımız işlemleri tek job üzerinden ilerletirsek bu serverı yoracaktır ve iyi bir
performans almamıza engel olacaktır. Bunun sebebi ise thread ve sorgu
Kullanmasından kaynaklanmaktadır.
Bu nedenle her kullanıcıya kendi klasörü için job tanımlamamız gerekmektedir.
Bu jobları ister kullanıcı girdiğinde başlatır, çıktığında bitiririz. İster herhangi
bir aktivite ile başlatır ve bitiririz.
39. Job oluşturma, başlatma, silme, durdurma işlemleri için
JSON (JavaScript Object Notation) Javascript programlama dilini kullanıyoruz.
JSON, XML’e alternatif olarak kullanılabilen JavaScript tabanlı veri değişim formatıdır.