RHEL/CentOS/SL 7.x/6.x'te Seafile'ı (Güvenli Bulut Depolama) MySQL Veritabanıyla Kurma


Seafile, istemci tarafı şifrelemeyi kullanan dosya paylaşımı ve senkronizasyon desteği, ekip işbirliği ve gizlilik koruması ile Python'da yazılmış gelişmiş bir Açık Kaynak, işbirliğine dayalı bulut depolama uygulamasıdır. Tüm büyük platformlarda (Linux, Raspberry Pi, Windows, Mac, iPhone ve Android) çalışan istemcilerle senkronize edilen çok platformlu bir dosya olarak oluşturulmuştur ve LDAP ve WebDAV gibi yerel hizmetlerle kolayca entegre edilebilir veya gelişmiş yazılım kullanılarak dağıtılabilir. MySQL, SQLite, PostgreSQL, Memcached, Nginx veya Apache Web Sunucusu gibi ağ hizmetleri ve veritabanları.

Bu eğitim, MySQL veritabanıyla dağıtılan RHEL/CentOS/Scientific Linux 7.x/6.x üzerinde başlangıç initSeafile Server kurulumu konusunda size adım adım rehberlik edecektir. > sunucuyu varsayılan Seafile bağlantı noktasında (8000/TCP) ve varsayılan HTTP işlem bağlantı noktasında (80/TCP) çalıştırmak için komut dosyaları, gerekli bağlantı noktalarını açmak için gerekli Güvenlik Duvarı kurallarını oluşturun.

Gereksinimler

  1. Statik IP adresiyle minimum CentOS 6.5 kurulumu.
  2. MySQL/MariaDB veritabanı
  3. Python 2.6.5+ veya 2.7
  4. Python kurulum araçları
  5. Python-simplejson
  6. Python görüntüleme
  7. Python-mysqldb

Bu kurulum prosedürü CentOS 6.4 64-bit sistemde test edilmiştir, ancak init başlangıç komut dosyalarının bir dağıtımdan diğerine farklılık göstermesi spesifikasyonuyla diğer Linux dağıtımlarında da kullanılabilir. .

Adım 1: Python Modüllerini Kurun

1. Öncelikle bir sistem Güncellemesi yapın, ardından aşağıdaki komutları kullanarak gerekli tüm Python modüllerini yükleyin.

yum upgrade
yum install python-imaging MySQL-python python-simplejson python-setuptools

2. Bir Debian veya Ubuntu sunucusu kullanıyorsanız sonraki komutlarla tüm Python modüllerini yükleyin.

sudo apt-get update
sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb

Adım 2: Seafile Sunucusunu Kurun

3. Tüm Python modülleri yüklendikten sonra, Seafile sunucu yapılandırmasını ve tüm verileri ana dizininde barındırmak için kullanılacak güçlü bir parolaya sahip yeni bir sistem kullanıcısı oluşturun, ardından oluşturulan yeni kullanıcı hesabına geçin.

adduser seafile
passwd seafile
su - seafile

4. Daha sonra MySQL veritabanına giriş yapın ve her Seafile Sunucu bileşeni için bir tane olmak üzere üç veritabanı oluşturun: ccnet sunucusu, seafile sunucusu ve seahub tüm veritabanları için tek bir kullanıcıyla.

mysql -u root -p

mysql> create database `ccnet-db`;
mysql> create database `seafile-db`;
mysql> create database `seahub-db`;
mysql> create user 'seafile'@'localhost' identified by 'password';
mysql> GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@`localhost`;
mysql> GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@`localhost`;
mysql> GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@`localhost`;
mysql> FLUSH PRIVILEGES;
mysql> exit;

5. Şimdi Seafile Server'ı indirip yükleme zamanı. Seafile resmi indirme sayfasına gidin ve wget komutunu kullanarak sunucu mimariniz için son .Tar Linux arşiv sürümünü alın, ardından bunu daha önce oluşturulan ev Seafile kullanıcınıza çıkartın ve Seafile'a girin çıkarılan dizin.

wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.0.4_x86-64.tar.gz
tar xfz seafile-server_3.0.4_x86-64.tar.gz
cd seafile-server_3.0.4/

6. Seafile Server'ı MySQL veritabanını kullanarak kurmak için setup-seafile-mysql.sh başlatma komut dosyasını çalıştırın ve komut dosyası şunun varlığını doğruladıktan sonra aşağıdaki yapılandırma seçeneklerini kullanarak tüm soruları yanıtlayın: Python'un gerektirdiği tüm modüller.

./setup-seafile-mysql.sh
  1. Sunucunuzun adı nedir?=açıklayıcı bir ad seçin (boşluğa izin verilmez).
  2. Sunucunun IP'si veya etki alanı nedir?=sunucunuzun IP adresini veya geçerli alan adınızı girin.
  3. Ccnet sunucusu için hangi bağlantı noktasını kullanmak istiyorsunuz?=[Enter] tuşuna basın – varsayılan olarak bırakın – 10001.
  4. Seafile verilerini nereye koymak istiyorsunuz?=[Enter] tuşuna basın – varsayılan konum $HOME/seafile-data dizininiz olacaktır.
  5. Seafile sunucusu için hangi bağlantı noktasını kullanmak istiyorsunuz?=[Enter] tuşuna basın – varsayılan olarak bırakın – 12001.

  1. Seafile https sunucusu için hangi bağlantı noktasını kullanmak istiyorsunuz?=[Enter] tuşuna basın – varsayılan olarak bırakın – 8082.
  2. Lütfen deniz dosyası veritabanlarını başlatmak için bir yol seçin:=1'i seçin ve varsayılan MySQL kimlik bilgilerini sağlayın: localhost, 3306 ve root şifresi.
  3. Seafile MySQL kullanıcısının adını girin:=seafile (başka bir kullanıcı adı oluşturduysanız bu kullanıcı adını girin) ve seafile MySQL kullanıcı şifresini girin.
  4. ccnet-server, seafile-server ve seahub veritabanlarında yalnızca [Enter] tuşuna basın - varsayılan.

Seafile Server başarılı bir şekilde kurulduktan sonra, harici bağlantıya izin vermek için Güvenlik Duvarınızda hangi bağlantı noktalarının açık olması gerektiği ve sunucuyu başlatmak için hangi komut dosyalarının işlenmesi gerektiği gibi bazı yararlı bilgiler üretecektir.

Adım 3: Güvenlik Duvarını açın ve Seafile başlatma Komut Dosyası Oluşturun

7. Bir test için Seafile sunucusunu yerel komut dosyasından başlatmadan önce, kök hesaba geri dönün ve adresinde bulunan iptables güvenlik duvarı dosya yapılandırmasını açın. /etc/sysconfig/ sistem yoluna gidin ve ilk REJECT satırından önce aşağıdaki satır kurallarını ekleyin, ardından yeni kuralları uygulamak için iptables'ı yeniden başlatın.

su - root
nano /etc/sysconfig/iptables

Aşağıdaki kuralları ekleyin.

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 12001 -j ACCEPT

Aşağıdaki komutu kullanarak kuralları uygulamak için iptables'ı yeniden başlatın.

service iptables restart

NOT: Kurulum sürecinde Seafile standart bağlantı noktalarını değiştirdiyseniz Güvenlik Duvarı iptables kurallarınızı buna göre güncelleyin.

8. Şimdi Seafile Server'ı test etme zamanı. Seafile kullanıcısına ve seafile-server dizinine geçin ve seafile.sh ve seahub.sh komut dosyalarını kullanarak sunucuyu başlatın.

seahub.sh betiğini ilk başlattığınızda, e-posta adresinizi kullanarak Seafile Server için bir yönetici hesabı oluşturun ve özellikle bu yapılandırmayı bir üretim ortamında dağıtıyorsanız, yönetici hesabı için güçlü bir şifre seçin.

su - seafile
cd seafile-server-latest/
./seafile.sh start
./seahub.sh start

9. Sunucu başarılı bir şekilde başlatıldıktan sonra, bir tarayıcı açın ve HTTP protokolünü kullanarak 8000 bağlantı noktasındaki sunucunuzun IP adresine veya alan adına gidin, ardından oluşturduğunuz yönetici hesabını kullanarak giriş yapın yukarıdaki adımda.

http://system_IP:8000

OR 

http://domain_name:8000

10. İlk yapılandırma testlerinden sonra, Seafile sunucusunu durdurun ve tıpkı diğer Linux sistem arka plan süreçleri gibi tüm süreci daha kolay yönetmenize yardımcı olacak bir init betiği oluşturun.

./seafile.sh stop
./seahub.sh stop
su - root
nano /etc/init.d/seafile

Bu init betiğine aşağıdaki içeriği ekleyin – Seafile başka bir sistem kullanıcısına kuruluysa, su – $USER -c satırlarında kullanıcıyı ve yolları uygun şekilde güncellediğinizden emin olun.

#!/bin/sh
#chkconfig: 345 99 10
#description: Seafile auto start-stop script.

source function library
. /etc/rc.d/init.d/functions

start() {
        echo "Starting Seafile server..."
su - seafile -c "seafile-server-latest/seafile.sh start"
su - seafile -c "seafile-server-latest/seahub.sh start"
}

stop() {
        echo "Stopping Seafile process..."
su - seafile -c "seafile-server-latest/seafile.sh stop"
su - seafile -c "seafile-server-latest/seahub.sh stop"
}

restart() {
        echo "Stopping Seafile process..."
su - seafile -c "seafile-server-latest/seafile.sh stop"
su - seafile -c "seafile-server-latest/seahub.sh stop"

         echo "Starting Seafile server..."
su - seafile -c "seafile-server-latest/seafile.sh start"
su - seafile -c "seafile-server-latest/seahub.sh start"
}

case "$1" in
    start)
       start
        ;;
    stop)
       stop
        ;;
    restart)
       restart
        ;;
        *)
      echo "Usage: $0 start stop restart"
        ;;
esac

11. init dosyası oluşturulduktan sonra, yürütme izinlerine sahip olduğundan emin olun ve start, stop ve yeniden başlat anahtarlarını kullanın. Artık chkconfig komutunu kullanarak sistem başlangıcında Seafile hizmetini ekleyebilirsiniz.

chmod +x /etc/init.d/seafile
service seafile start 
service seafile stop 
service seafile restart
chkconfig seafile on | off
chkconfig --list seafile

12. Seafile sunucusu varsayılan olarak web işlemleri için 8000/TCP HTTP bağlantı noktasını kullanır. Seafile Server'a standart HTTP bağlantı noktasındaki tarayıcıdan erişmek istiyorsanız, sunucuyu 80 bağlantı noktasında başlatan aşağıdaki init komut dosyasını kullanın (aşağıdaki bağlantı noktalarında bir hizmet başlatmanın init olduğunu unutmayın). b>1024 kök ayrıcalıkları gerektirir).

nano /etc/init.d/seafile

Seafile'ı standart HTTP bağlantı noktasında başlatmak için bu init betiğine aşağıdaki içeriği ekleyin. Seafile başka bir sistem kullanıcısına kuruluysa, kullanıcıyı ve yolları su – $USER -c ve $HOME satırlarında uygun şekilde güncellediğinizden emin olun.

#!/bin/sh
#chkconfig: 345 99 10
#description: Seafile auto start-stop script.

source function library
. /etc/rc.d/init.d/functions

start() {
                echo "Starting Seafile server..."
su - seafile -c "seafile-server-latest/seafile.sh start"
                ## Start on port default 80 http port ##
/home/seafile/seafile-server-latest/seahub.sh start 80
}

stop() {
                echo "Stopping Seafile process..."
su - seafile -c "seafile-server-latest/seafile.sh stop"
/home/seafile/seafile-server-latest/seahub.sh stop
}

restart() {
      echo "Stopping Seafile process..."
su - seafile -c "seafile-server-latest/seafile.sh stop"
/home/seafile/seafile-server-latest/seahub.sh stop
                 echo "Starting Seafile server..."
su - seafile -c "seafile-server-latest/seafile.sh start"
/home/seafile/seafile-server-latest/seahub.sh start 80
}

case "$1" in
    start)
       start
        ;;
    stop)
       stop
        ;;
     restart)
       restart
        ;;
                *)
        echo "Usage: $0 start stop restart"
        ;;
Esac

13. Seafile'ı daha önce 8000 bağlantı noktasında başlattıysanız tüm işlemlerin sonlandırıldığından emin olun, sunucuyu 80 numaralı bağlantı noktasında başlatın.

chmod +x /etc/init.d/seafile
service seafile start | stop | restart

Bir tarayıcı açın ve aşağıdaki adrese yönlendirin.

http://system_ip 

OR

http://domain_name.tld

14. Ayrıca netstat komutunu kullanarak Seafile'ın hangi bağlantı noktalarında çalıştığını da doğrulayabilirsiniz.

netstat -tlpn

Bu kadar! Seafile, herkese açık Dropbox, Owncloud, Pydio, OneDrive vb. gibi diğer bulut işbirliği ve dosya senkronizasyon platformlarının yerini rahatlıkla alabilir. Kuruluşunuzda, kullanıcı alanında gelişmiş güvenlikle daha iyi ekip çalışması ve depolama alanınız üzerinde tam kontrol sağlamak üzere tasarlanmıştır.

Gelecek yazımda, Seafile istemcisinin Linux ve Windows sistemlere nasıl kurulacağını anlatacağım ve ayrıca Seafile Server'a nasıl bağlanacağınızı da göstereceğim. O zamana kadar Tecmint'i takip etmeye devam edin ve değerli yorumlarınızı iletmeyi unutmayın.