Debian üzerinde Seafile Private Cloud Kurulumu
Merhaba;
“Nedir Seafile?” diye sorduğumuz zaman, yüksek güvenilirlik ve performansa sahip, açık kaynaklı kurumsal dosya senkronizasyon ve paylaşım platformudur. Seafile, kullanıcıların sunucuyu kendi donanımlarında barındırmasına izin verirken, Dropbox, Google Drive ve Office 365’e benzer mantıkta çalışma sağlar. Böylece kendi private cloud yapınızı oluşturmanıza olanak tanır.
Seafile’ın temel özelliği dosya senkronizasyonu ve paylaşımıdır. Windows, Mac OS, Linux, iOS ve Android gibi çoğu işletim sistemi için istemci uygulamaları sağlar. Ayrıca bir web tarayıcısındaki dosyalara erişmek için kullanıcı dostu bir web arayüzü sağlar.
Bu makalenin anlatımına başlamadan önce aşağıdakilerin olduğunu varsayarak devam ediyorum;
Debian 10 kurulu bir sunucu
Apache2 Web Sunucusu
MariaDB(Mysql)
Sunucumuza login olduktan sonra, “root” kullanıcısına geçiş yapıyoruz:
# su
Opt dizini altına seafile klasörümüzü oluşturuyoruz. Tüm çalışmamızı bu dizin içerisinde yapacağız:
# cd /opt
# mkdir seafile
# cd seafile/
Seafile kurulum dosyamızı indiriyoruz:
# wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_7.1.5_x86-64.tar.gz
Dosyamızı arşivden çıkartıyoruz. Sonrasında indirmiş olduğumuz arşiv dosyasını “installed” dizinine alacağız. Dosya yapımız aşağıdaki gibi şekillenmelidir:
# tar -xzf seafile-server_*
# mkdir installed
# mv seafile-server_* installed
# tree seafile –L 2
(Tree komutu çalışmaz ise, “apt install tree” komutu ile yükleyebilirsiniz.)
Seafile kurulum dizinimize geçiyoruz:
# cd seafile-server-7.1.5
Seafile kurulumuna geçmeden önce, python3 kurulumumuzu sağlıyoruz. Seafile, python ile geliştirildiği için bazı gereklilikler duymaktadır:
# apt-get update
# apt-get install python3 python3-setuptools python3-pip –y
# pip3 install –timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy django-pylibmc django-simple-captcha python3-ldap
İlgili yüklemeleri tamamladıktan sonra, Seafile kurulumuna başlayabiliriz;
# sudo ./setup-seafile-mysql.sh
Enter ile devam ediyoruz. Bize sırası ile sunucu adı, ip adresi ya da domain bilgisi ve port bilgisi soracak. Ben sunucuma “seafileserver” dedim ve “cozumpark.local” domaini ile devam ettim. Varsayılan olarak gelen 8082 nolu portunu değiştirmedim. Siz eğer sunucunuz üzerinde bu portu farklı bir hizmete atadıysanız değiştirebilirsiniz;
Seafile, yapısı gereği 3 farklı veritabanı kullanıyor. “1” nolu seçenek ile devam edip veritabanlarını oluşturacağız, veritabanı giriş ve port bilgilerini gireceğiz. Ben veritabanı sunucusu olarak, yine kendi üzerinde çalışan mysql sunucumu gösteriyorum. Veritabanlarına erişim için sizden seafile kullanıcısını oluşturmanızı ve bir şifre belirlemenizi istiyor (Eğer siz farklı bir sunucudaki mysql veritabanınızı kullanmak isterseniz ilgili bilgilerinizi düzenlemeniz gerekmektedir):
Kurulum özetimize göz atıyoruz ve herhangi bir sorun yoksa Enter ile devam ediyoruz:
Herhangi bir sorun yaşanmadı ise, kurulumumuz tamamlanmış oluyor. Kurulum sonrasında bizden seafile ve seahub servislerini başlatmamızı istiyor. Seafile servisini başlatıyoruz:
# ./seafile.sh start
Daha sonra Seahub servisini başlatıyoruz. Seahub servisini ilk sefer başlatacağımız için bize panelimize giriş yapmamızı sağlayacak yönetici mailini ve şifresini girmemizi talep edecek, ardından servisi başlatacaktır:
# ./seahub.sh start
Sunucunun kendi içinde Seafile erişimini sağlayabilirsiniz:
Daha sonra, kullanıcılarımızın erişim sağlayabilmesi için apache tarafında “rewrite” ve “Proxy_http” modlarını aktif ediyoruz. Servisi yeniden başlatmamız için uyarı veriyor. Dilerseniz başlatabilirsiniz, fakat apache yapılandırma dosyamızda da değişiklik yapacağız ve bu yüzden başlatmanıza şimdilik gerek yok:
# sudo a2enmod rewrite
# sudo a2enmod proxy_http
Apache yapılandırma dosyamızı düzenliyoruz:
# sudo nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80> ServerName seafileserver # Use DocumentRoot /var/www/html for Centos/Fedora # Use DocumentRoot /var/www for Ubuntu/Debian DocumentRoot /var/www Alias /media /opt/seafile/seafile-server-latest/seahub/media RewriteEngine On <Directory /media> Order allow,deny Allow from all </Directory> # # seafile fileserver # ProxyPass /seafhttp http://127.0.0.1:8082 ProxyPassReverse /seafhttp http://127.0.0.1:8082 RewriteRule ^/seafhttp - [QSA,L] # # seahub # SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 ProxyPreserveHost On ProxyPass / http://127.0.0.1:8000/ ProxyPassReverse / http://127.0.0.1:8000/ </VirtualHost>
Apache servisimizi yeniden başlatabiliriz:
# sudo service apache2 restart
Seafile ve seahub servislerimizi durdurup, tekrar başlatıyoruz:
# ./seafile.sh stop
# ./seahub.sh stop
# ./seafile.sh start
# ./seahub.sh start
http://seafile.cozumpark.com adresimizden seafile sunucumuzun yönetim paneline giriyoruz:
Seafile paneli karşımıza geliyor ve yönetim paneline geçerek normal kullanıcı tanımlamamızı yapacağız. Seafile yazılımımızdan erişim sağlayarak testlerimizi gerçekleştireceğiz:
Sağ üstteki resime tıkladıktan sonra, “System Admin” tıklayarak devam ediyouz:
Users’a tıklıyoruz. Açılan sayfada Add User diyerek devam ediyoruz:
Açılan ekranda bilgilerimizi doldurup, submit diyerek kullanıcımızı oluşturuyoruz:
Kullanıcımız listeye dahil edildi:
Şimdi ise Seafile yazımımızı bilgisayarımıza indirip, kullanıcımız ile giriş yapacağız. Seafile.com sayfasını ziyaret ediyoruz ve download bölümünden “Client for Windows” altında bulunan kararlı sürümü indiriyoruz:
Yazılımımız indikten sonra, kurulum işlemlerine başlayabiliriz. Next diyerek ilerliyoruz;
Kurulum yapılacak konumu ve başlangıç seçeneğini kontrol edip Next diyoruz:
Install diyerek kurulumu başlatıyoruz:
Kurulum başlıyor:
Finish diyerek tamamlıyoruz:
Finish dedikten sonra; sunucumuza senkronize edeceğimiz yerel bir seafile konumu göstermemiz gerekiyor. Kullanıcı klasörüm altındaki seafile klasörüm ile devam ediyorum. Siz de kendi istediğiniz bir konumu gösterebilirsiniz:
Karşımıza sunucu ve kullanıcı bilgilerini gireceğimiz ekran gelecek. Aşağıdaki şekilde yapılandırıyoruz:
Başarılı bir şekilde giriş yaptıktan sonra, Seafile hesabımızı kullanmaya başlayabiliriz. Varsayılan kütüphanemizi senkronize etmek için çıkan ekrana evet diyerek devam ediyoruz;
İşlem tamamlandıktan sonra, son diyip işlemi bitiyoruz:
Bulut alanımızı aşağıdaki şekilde görebiliyoruz:
Kütüphanem’e çift tıkayıp, yerel depolama alanımızı açıyoruz. Test için bir dosya ekliyoruz:
Dosyamızı ekleyince, senkronize edildiğine dair program bizi uyarıyor:
Şimdi ise web üzerinden kullanıcı panelimize girip, dosyamızın gelip gelmediğine bir bakalım;
Kütüphanem’e tıklayalım:
Dosyamızın başarılı bir şekilde eklenmiş olduğunu görüyoruz:
Kişisel kütüphanelerin yanı sıra, bir çok kullanıcının ortak olarak kullanacağı kütüphaneler oluşturmakta mümkün. Bu konuda bize ciddi anlamda esneklik sunuyor.
Bu makalemizde Seafile Server ve Client kurulumunu yaptık. Herhangi bir sorun ile karşılaşmanız durumunda forum üzerinden sorularınızı sorabilirsiniz. Memnuniyet ile cevap vereceğim. Hepinize sağlıklı günler dilerim.
Eline sağlık Korhan.
Teşekkür ederim abi.
Eline sağlık Korhan
Teşekkür ederim abi.
Elinize sağlık. Benim sormak istediğim birşey var, bu ve buna benzer opensource sistemde dışarı ile bir paylaşım yapmadan önce yönetici onayını alıp ondan sonra paylaşıma onay veren bir yapı varmıdır.
Teşekkürler.
Açıkçası böyle bir uygulama var mı bende merak ediyorum. Tecrübesi olan bilgilendirme yapabilirse sevinirim.