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
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.
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.
Tercihimizi yaptıktan sonra
dosya indirme işlemini
başlatıyoruz.
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.
Kurduğumuz JDK versiyonunu kontrol ediyoruz.

JDK versiyonunu ekrana
yazıyor ve böylelikle
kurulumun tamamlandığını
anlamış oluyoruz.
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.
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.
Apache Tomcat kurulumunu tamamladıktan sonra Apache Solr kurulumunu yapabiliriz.
Apache Solr, içeriğe göre dosya indexlemede kullanılan arama motorudur.
Linux tabanlı Ubuntu işletim
sistemini kullanacağımızdan
dolayı tar.gz uzantılı
dosyayı tercih ediyoruz.
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.
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.
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.
dataDir kısmını resimde gördüğümüz şekilde düzenliyoruz.
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.
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.
Solda gördüğümüz değişken
değerlerine sağ tarafta atanan
değerleri ekliyoruz ardından CTRL +
X yaparak kaydederek çıkış
yapıyoruz.
Veri tabanı konfigürasyonunu sağladıktan
sonra PostgreSQL SHMMAX değerini
yükseltmemiz gerekmektedir.

kernel.shmmax = 1135617000
satırını dosyaya ekliyoruz.
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.
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.
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.
Resimde gördüğümüz şekilde gerekli değişiklikleri yaptıktan sonra CTRL + X yaparak
kaydedip çıkıyoruz.
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.
ManifoldCF/web/war
Klasörlerinin altında
bulunan dosyaları
mcf-combined-service.war
hariç Tomcat/webapps
Altına kopyalıyoruz.

Kopyalama işlemimiz
başarıyla tamamlandı.
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.
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.
Apache ManifoldCF kurulumumuz başarıyla tamamlanmıştır.
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.
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.
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.
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.
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.
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.
List all Jobs
Gerekli ayarlamalar için aşağıdaki adımları takip ediyoruz.
İşlerin ne durumda olduğunu kontrol etmemizi sağlar.

File Management System

  • 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ğinegö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 yapabilmekiçin Java Development Kit (JDK) e ihtiyaç duyarız. Bu nedenle kurulumlara başlamadan önce JDK kurulumu yapmamız gerekmektedir.
  • 5.
    Tercihimizi yaptıktan sonra dosyaindirme işlemini başlatıyoruz.
  • 6.
    JDK için klasöroluşturuyoruz. Oluşturduğumuz Klasöre Taşıyoruz. Gerekli güncellemeler için yukarıdaki işlemleri yapıyoruz.
  • 7.
    Kurduğumuz JDK versiyonunukontrol ediyoruz. JDK versiyonunu ekrana yazıyor ve böylelikle kurulumun tamamlandığını anlamış oluyoruz.
  • 8.
    Apache Solr veApache 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ı Ubuntuiş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 kurulumunutamamladıktan sonra Apache Solr kurulumunu yapabiliriz. Apache Solr, içeriğe göre dosya indexlemede kullanılan arama motorudur.
  • 11.
    Linux tabanlı Ubuntuişletim sistemini kullanacağımızdan dolayı tar.gz uzantılı dosyayı tercih ediyoruz.
  • 12.
    Apache Tomcat klasörümüzün altındaki confklasö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ıyoruzve 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ındakiexample 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.
  • 15.
    dataDir kısmını resimdegördüğümüz şekilde düzenliyoruz.
  • 16.
    Gerekli değişiklikler için Ortamdeğ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.
  • 19.
    Veri tabanları arasındaApache 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.
  • 20.
    Solda gördüğümüz değişken değerlerinesağ tarafta atanan değerleri ekliyoruz ardından CTRL + X yaparak kaydederek çıkış yapıyoruz.
  • 21.
    Veri tabanı konfigürasyonunusağladıktan sonra PostgreSQL SHMMAX değerini yükseltmemiz gerekmektedir. kernel.shmmax = 1135617000 satırını dosyaya ekliyoruz.
  • 22.
    Apache ManifoldCF, Dosya YönetimSistemi 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ı Ubuntuiş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 Ortamdeğ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.
  • 25.
    Resimde gördüğümüz şekildegerekli değişiklikleri yaptıktan sonra CTRL + X yaparak kaydedip çıkıyoruz.
  • 26.
    Properties.xml dosyasında gereklideğ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.
  • 27.
    ManifoldCF/web/war Klasörlerinin altında bulunan dosyaları mcf-combined-service.war hariçTomcat/webapps Altına kopyalıyoruz. Kopyalama işlemimiz başarıyla tamamlandı.
  • 28.
    Apache ManifoldCF’ ibaş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ırarakda 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.
  • 30.
    Apache ManifoldCF kurulumumuzbaşarıyla tamamlanmıştır.
  • 31.
    Apache ManifoldCF çokesnek 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 Aramamotorunun bağlantı tipini belirtir. Bizim kullandığımız Apache Solr. Gerekli ayarlamalar için aşağıdaki adımları takip ediyoruz.
  • 34.
    2- Authorization Connection Yetkilendirmesorguları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.
  • 37.
    3- Repository Connection Dosyasisteminden 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 ankiDosya 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.
  • 40.
    List all Jobs Gerekliayarlamalar için aşağıdaki adımları takip ediyoruz.
  • 42.
    İşlerin ne durumdaolduğunu kontrol etmemizi sağlar.