Seafile (saugios saugyklos debesyje) diegimas su MySQL duomenų baze RHEL/CentOS/SL 7.x/6.x


Seafile yra pažangi atvirojo kodo bendradarbiavimo debesyje saugojimo programa, parašyta Python, su failų bendrinimo ir sinchronizavimo palaikymu, komandos bendradarbiavimu ir privatumo apsauga naudojant kliento pusės šifravimą. Jis sukurtas kaip kelių platformų failų sinchronizavimas su klientais, veikiantis visose pagrindinėse platformose (Linux, Raspberry Pi, Windows, Mac, iPhone ir Android) ir gali būti lengvai integruotas su vietinėmis paslaugomis, pvz., LDAP ir WebDAV, arba gali būti įdiegtas naudojant pažangias. tinklo paslaugas ir duomenų bazes, tokias kaip „MySQL“, „SQLite“, „PostgreSQL“, „Memcached“, „Nginx“ arba „Apache Web Server“.

Ši pamoka padės jums žingsnis po žingsnio įdiegti Seafile Server RHEL/CentOS/Scientific Linux 7.x/6.x, įdiegtą su MySQL duomenų baze, paleidžiant init scenarijus, skirtus serveriui paleisti naudojant numatytąjį Seafile prievadą (8000/TCP) ir numatytąjį HTTP operacijų prievadą (80/TCP), sukurkite būtinas ugniasienės taisykles, kad atidarytumėte reikiamus prievadus.

Reikalavimai

  1. Minimalus CentOS 6.5 diegimas su statiniu IP adresu.
  2. MySQL/MariaDB duomenų bazė
  3. Python 2.6.5+ arba 2.7
  4. Python sąrankos įrankiai
  5. Python-simplejson
  6. Python vaizdavimas
  7. Python-mysqldb

Ši diegimo procedūra išbandyta CentOS 6.4 64 bitų sistemoje, bet gali būti naudojama ir kituose Linux platinimuose su specifikacija, kad init paleisties scenarijai skiriasi skirtinguose platinimuose .

1 veiksmas: įdiekite Python modulius

1. Pirmiausia atlikite sistemos Atnaujinimą, tada įdiekite visus reikiamus Python modulius naudodami šias komandas.

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

2. Jei naudojate Debian arba Ubuntu serverį, įdiekite visus Python modulius naudodami kitas komandas.

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

2 veiksmas: įdiekite „Seafile Server“.

3. Įdiegę visus Python modulius sukurkite naują sistemos vartotoją su stipriu slaptažodžiu, kuris bus naudojamas priglobti Seafile serverio konfigūraciją ir visus duomenis jo pagrindiniame kataloge, tada pereikite prie naujai sukurtos vartotojo paskyros.

adduser seafile
passwd seafile
su - seafile

4. Tada prisijunkite prie MySQL duomenų bazės ir sukurkite tris duomenų bazes, po vieną kiekvienam Seafile serverio komponentui: ccnet serveris, seafile serveris ir seahub su vienu vartotoju visoms duomenų bazėms.

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. Dabar laikas atsisiųsti ir įdiegti Seafile Server. Eikite į oficialų „Seafile“ atsisiuntimo puslapį ir paimkite paskutinį savo serverio architektūros .Tar Linux archyvo leidimą naudodami komandą wget, tada išskleiskite jį į savo anksčiau sukurtą „Seafile“ vartotoją ir įveskite „Seafile“ ištrauktas katalogas.

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. Norėdami įdiegti „Seafile Server“ naudodami „MySQL“ duomenų bazę, paleiskite setup-seafile-mysql.sh inicijavimo scenarijų ir atsakykite į visus klausimus naudodami šias konfigūravimo parinktis, kai scenarijus patikrins, ar egzistuoja visi Python reikalingi moduliai.

./setup-seafile-mysql.sh
  1. Koks tavo serverio pavadinimas?=pasirinkite aprašomąjį pavadinimą (tarpai neleidžiami).
  2. Kas yra serverio IP arba domenas?=įveskite savo serverio IP adresą arba galiojantį domeno pavadinimą.
  3. Kurį prievadą norite naudoti ccnet serveriui?=paspauskite [Enter] – palikite numatytąjį – 10001.
  4. Kur norite įdėti jūros failo duomenis?=paspauskite [Enter] – numatytoji vieta bus jūsų $HOME/seafile-data katalogas.
  5. Kurį prievadą norite naudoti jūros failų serveriui?=paspauskite [Enter] – palikite numatytąjį – 12001.

  1. Kurį prievadą norite naudoti „seafile“ httpsserveriui?=paspauskite [Enter] – palikite numatytąjį – 8082.
  2. Pasirinkite būdą, kaip inicijuoti jūrų failų duomenų bazes:=pasirinkite 1 ir pateikite numatytuosius MySQL kredencialus: localhost, 3306 ir root slaptažodį.
  3. Įveskite Seafile MySQL vartotojo vardą:=seafile (jei sukūrėte kitą vartotojo vardą, įveskite tą naudotojo vardą) ir seafile MySQL vartotojo slaptažodį.
  4. „CCnet-server“, „seafile-server“ ir „seahub“ duomenų bazėse tiesiog paspauskite klavišą [Enter] – numatytasis.

Sėkmingai įdiegus „Seafile Server“, jis sugeneruos naudingos informacijos, pvz., kokie prievadai turi būti atidaryti jūsų užkardoje, kad būtų galima prisijungti prie išorinio ryšio, ir kokius scenarijus tvarkyti norint paleisti serverį.

3 veiksmas: atidarykite ugniasienę ir sukurkite Seafile init scenarijų

7. Prieš paleisdami Seafile serverį iš vietinio scenarijaus bandymui, pakeiskite atgal į root paskyrą ir atidarykite iptables ugniasienės failo konfigūraciją, esančią /etc/sysconfig/ sistemos kelią ir pridėkite šias eilutės taisykles prieš pirmąją ATMESTI eilutę, tada iš naujo paleiskite iptables, kad pritaikytumėte naujas taisykles.

su - root
nano /etc/sysconfig/iptables

Pridėkite šias taisykles.

-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

Iš naujo paleiskite iptables, kad pritaikytumėte taisykles naudodami šią komandą.

service iptables restart

PASTABA: jei diegimo metu pakeitėte standartinius Seafile prievadus, atitinkamai atnaujinkite ugniasienės iptables taisykles.

8. Dabar laikas išbandyti „Seafile Server“. Perjunkite į Seafile vartotojo ir seafile-server katalogą ir paleiskite serverį naudodami seafile.sh ir seahub.sh scenarijus.

Pirmą kartą paleidę seahub.sh scenarijų, sukurkite Seafile Server administravimo paskyrą naudodami savo el. pašto adresą ir pasirinkite tvirtą administratoriaus paskyros slaptažodį, ypač jei šią konfigūraciją diegiate gamybinėje aplinkoje.

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

9. Sėkmingai paleidę serverį, atidarykite naršyklę ir eikite į savo serverio IP adresą arba domeno pavadinimą per prievadą 8000 naudodami HTTP protokolą, tada prisijunkite naudodami sukurtą administratoriaus paskyrą aukščiau nurodytame žingsnyje.

http://system_IP:8000

OR 

http://domain_name:8000

10. Atlikę pirmuosius konfigūracijos testus, sustabdykite Seafile serverį ir sukurkite init scenarijų, kuris padės lengviau valdyti visą procesą, kaip ir bet kuriuos kitus Linux sistemos demono procesus.

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

Pridėkite šį turinį į šį init scenarijų – jei „Seafile“ yra įdiegtas kitam sistemos vartotojui, būtinai atitinkamai atnaujinkite naudotoją ir kelius eilutėse su – $USER -c.

#!/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. Sukūrę init failą įsitikinkite, kad jis turi vykdymo leidimus ir valdykite procesą naudodami pradėti, sustabdyti > ir paleisti iš naujo jungiklius. Dabar galite pridėti Seafile paslaugą paleidžiant sistemą naudodami komandą chkconfig.

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

12. Pagal numatytuosius nustatymus Seafile serveris naudoja 8000/TCP HTTP prievadą žiniatinklio operacijoms. Jei norite pasiekti Seafile serverį iš naršyklės naudojant standartinį HTTP prievadą, naudokite šį init scenarijų, kuris paleidžia serverį prie 80 prievado (atminkite, kad paslaugos paleidimas toliau esančiuose prievaduose < b>1024 reikia root teisių).

nano /etc/init.d/seafile

Pridėkite šį turinį prie šio init scenarijaus, kad paleistumėte Seafile naudojant standartinį HTTP prievadą. Jei Seafile įdiegtas kitam sistemos vartotojui, būtinai atitinkamai atnaujinkite naudotoją ir kelius eilutėse su – $USER -c ir $HOME.

#!/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. Jei anksčiau paleidote „Seafile“ prievado 8000, įsitikinkite, kad visi procesai yra užmušti, paleiskite serverį 80 prievadu.

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

Atidarykite naršyklę ir nukreipkite ją toliau nurodytu adresu.

http://system_ip 

OR

http://domain_name.tld

14. Taip pat galite patikrinti, kuriuose prievaduose veikia Seafile, naudodami komandą netstat.

netstat -tlpn

Viskas! „Seafile“ gali mielai pakeisti kitas debesies bendradarbiavimo ir failų sinchronizavimo platformas, pvz., viešas Dropbox, Owncloud, Pydio, OneDrive ir kt. Jūsų organizacijoje, sukurtos geresniam komandiniam darbui ir visiškam saugyklos valdymui su pažangia sauga naudotojų erdvėje.

Būsimame straipsnyje aptarsiu, kaip įdiegti „Seafile“ klientą „Linux“ ir „Windows“ sistemose, taip pat parodysiu, kaip prisijungti prie „Seafile Server“. Iki tol sekite Tecmint ir nepamirškite pateikti vertingų komentarų.