Instaliranje Seafile (Secure Cloud Storage) sa MySQL bazom podataka u RHEL/CentOS/SL 7.x/6.x


Seafile je napredna Open Source kolaborativna aplikacija za pohranu u oblaku napisana na Python-u sa podrškom za dijeljenje datoteka i sinhronizaciju, timsku suradnju i zaštitu privatnosti koristeći šifriranje na strani klijenta. Izgrađen je kao sinhronizacija datoteka na više platformi s klijentima koji radi na svim glavnim platformama (Linux, Raspberry Pi, Windows, Mac, iPhone i Android) i može se lako integrirati s lokalnim uslugama kao što su LDAP i WebDAV ili se može primijeniti pomoću naprednih mrežne usluge i baze podataka kao što su MySQL, SQLite, PostgreSQL, Memcached, Nginx ili Apache Web Server.

Ovaj vodič će vas voditi korak po korak instalaciju Seafile servera na RHEL/CentOS/Scientific Linux 7.x/6.x implementiran sa MySQL bazom podataka, sa init za pokretanje > skripte za pokretanje servera na podrazumevanom Seafile portu (8000/TCP) i podrazumevanom HTTP portu za transakcije (80/TCP), kreiraju neophodna pravila zaštitnog zida za otvaranje potrebnih portova.

Zahtjevi

  1. Minimalna instalacija CentOS 6.5 sa statičkom IP adresom.
  2. MySQL/MariaDB baza podataka
  3. Python 2.6.5+ ili 2.7
  4. Python-setuptools
  5. Python-simplejson
  6. Python-imaging
  7. Python-mysqldb

Ova instalacijska procedura testirana je na CentOS 6.4 64-bitnom sistemu, ali se može koristiti i na drugim Linux distribucijama sa specifikacijom da se početne skripte za pokretanje razlikuju od jedne distribucije do druge .

Korak 1: Instalirajte Python module

1. Prvo izvršite ažuriranje sistema, a zatim instalirajte sve potrebne Python module koristeći sljedeće naredbe.

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

2. Ako koristite Debian ili Ubuntu server instalirajte sve Python module sa sljedećim naredbama.

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

Korak 2: Instalirajte Seafile Server

3. Nakon što su svi Python moduli instalirani, kreirajte novog korisnika sistema sa jakom lozinkom koja će se koristiti za smještaj konfiguracije Seafile servera i svih podataka u njegovom početnom direktoriju, a zatim se prebacite na novo kreirani korisnički račun.

adduser seafile
passwd seafile
su - seafile

4. Zatim se prijavite na MySQL bazu podataka i kreirajte tri baze podataka, po jednu za svaku komponentu Seafile servera: ccnet server, seafile server i seahub sa jednim korisnikom za sve baze podataka.

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. Sada je vrijeme da preuzmete i instalirate Seafile Server. Idite na zvaničnu stranicu za preuzimanje Seafilea i uzmite posljednju .Tar Linux arhivsku verziju za arhitekturu vašeg servera koristeći naredbu wget, a zatim je raspakirajte u svog kućnog Seafile korisnika kreiranog ranije i unesite Seafile ekstrahovani direktorijum.

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. Da biste instalirali Seafile Server koristeći MySQL bazu podataka, pokrenite setup-seafile-mysql.sh skriptu za inicijalizaciju i odgovorite na sva pitanja koristeći sljedeće opcije konfiguracije, nakon što skripta potvrdi postojanje svi Python potrebni moduli.

./setup-seafile-mysql.sh
  1. Kako se zove vaš server?=odaberite opisno ime (nema dozvoljenih razmaka).
  2. Koji je IP ili domen servera?=unesite IP adresu vašeg servera ili vaš važeći ime domene.
  3. Koji port želite koristiti za ccnet server?=pritisnite [Enter] – ostavite zadano – 10001.
  4. Gdje želite staviti Seafile podatke?=pritisnite [Enter] – zadana lokacija će biti vaš $HOME/seafile-data direktorij.
  5. Koji port želite koristiti za seafile server?=pritisnite [Enter] – ostavite zadano – 12001.

  1. Koji port želite koristiti za seafile https server?=pritisnite [Enter] – ostavite zadano – 8082.
  2. Molimo odaberite način inicijalizacije Seafile baza podataka:=odaberite 1 i navedite zadane MySQL vjerodajnice: localhost, 3306 i root lozinku.
  3. Unesite ime za MySQL korisnika za seafile:=seafile (ako ste kreirali drugo korisničko ime unesite to korisničko ime) i seafile MySQL korisničku lozinku.
  4. Na ccnet-server, seafile-server i seahub bazama podataka samo pritisnite taster [Enter] – podrazumevano.

Nakon što se Seafile Server uspješno instalira, on će generirati neke korisne informacije kao što su koji portovi moraju biti otvoreni na vašem Firewall-u da bi se omogućila eksterna veza i koje skripte treba rukovati da bi se pokrenuo server.

Korak 3: Otvorite zaštitni zid i kreirajte Seafile init skriptu

7. Prije pokretanja Seafile servera iz lokalne skripte za testiranje, vratite se na root račun i otvorite iptables konfiguraciju fajla firewall koji se nalazi na /etc/sysconfig/ sistemsku putanju i dodajte sljedeća pravila reda prije prve linije ODBACI, a zatim ponovo pokrenite iptables da biste primijenili nova pravila.

su - root
nano /etc/sysconfig/iptables

Dodajte sljedeća pravila.

-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

Ponovo pokrenite iptables da biste primijenili pravila koristeći sljedeću naredbu.

service iptables restart

NAPOMENA: Ako ste promijenili standardne portove za Seafile u procesu instalacije, ažurirajte pravila Firewall iptables u skladu s tim.

8. Sada je vrijeme za testiranje Seafile servera. Prebacite se na Seafile user i seafile-server direktorij i pokrenite server koristeći seafile.sh i seahub.sh skripte.

Kada prvi put pokrenete skriptu seahub.sh, kreirajte administrativni nalog za Seafile Server koristeći svoju adresu e-pošte i odaberite jaku lozinku za administratorski nalog, posebno ako ovu konfiguraciju implementirate u proizvodnom okruženju.

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

9. Nakon što je server uspješno pokrenut, otvorite pretraživač i idite na IP adresu vašeg servera ili naziv domene na portu 8000 koristeći HTTP protokol, a zatim se prijavite koristeći svoj administratorski račun koji ste kreirali na gornjem koraku.

http://system_IP:8000

OR 

http://domain_name:8000

10. Nakon prvih konfiguracijskih testova, zaustavite Seafile server i kreirajte init skriptu koja će vam pomoći da lakše upravljate cijelim procesom, baš kao i svaki drugi Linux sistem demon proces.

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

Dodajte sljedeći sadržaj u ovu init skriptu – Ako je Seafile instaliran na drugog korisnika sistema, pobrinite se da ažurirate korisnika i putanje u skladu s tim na su – $USER -c linijama.

#!/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. Nakon što je init datoteka kreirana, provjerite ima li dozvole za izvršavanje i upravljajte procesom koristeći start, stop > i restart prekidači. Sada možete dodati uslugu Seafile pri pokretanju sistema pomoću naredbe chkconfig.

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

12. Po defaultu Seafile server koristi 8000/TCP HTTP port za web transakcije. Ako želite pristupiti Seafile serveru iz pretraživača na standardnom HTTP portu, koristite sljedeću init skriptu koja pokreće server na portu 80 (imajte na umu da pokretanje servisa na portovima ispod < b>1024 zahtijeva root privilegije).

nano /etc/init.d/seafile

Dodajte sljedeći sadržaj u ovu init skriptu da pokrenete Seafile na standardnom HTTP portu. Ako je Seafile instaliran na drugom korisniku sistema, pobrinite se da ažurirate korisnika i putanje u skladu s tim na su – $USER -c i $HOME linijama.

#!/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. Ako ste prethodno pokrenuli Seafile na portu 8000, uvjerite se da su svi procesi uništeni, pokrenite server na portu 80.

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

Otvorite pretraživač i usmjerite ga na sljedeću adresu.

http://system_ip 

OR

http://domain_name.tld

14. Također možete provjeriti na kojim portovima Seafile radi pomoću naredbe netstat.

netstat -tlpn

To je to! Seafile može sretno zamijeniti druge platforme za suradnju u oblaku i sinhronizaciju datoteka kao što su javni Dropbox, Owncloud, Pydio, OneDrive, itd. na vašoj organizaciji, dizajniran za bolji timski rad i potpunu kontrolu nad vašom pohranom uz naprednu sigurnost u korisničkom prostoru.

U svom nadolazećem članku ću pokriti kako instalirati Seafile klijent na Linux i Windows sisteme, a također ću vam pokazati kako se povezati na Seafile Server. Do tada pratite Tecmint i ne zaboravite dati svoje vrijedne komentare.