Seafile (Secure Cloud Storage) instalēšana ar MySQL datu bāzi RHEL/CentOS/SL 7.x/6.x


Seafile ir uzlabota atvērtā koda sadarbības mākoņkrātuves lietojumprogramma, kas rakstīta Python ar failu koplietošanas un sinhronizācijas atbalstu, komandas sadarbību un privātuma aizsardzību, izmantojot klienta puses šifrēšanu. Tas ir veidots kā daudzplatformu failu sinhronizēšana ar klientiem, kas darbojas visās galvenajās platformās (Linux, Raspberry Pi, Windows, Mac, iPhone un Android), un to var viegli integrēt vietējos pakalpojumos, piemēram, LDAP un WebDAV, vai arī to var izvietot, izmantojot uzlaboto. tīkla pakalpojumi un datu bāzes, piemēram, MySQL, SQLite, PostgreSQL, Memcached, Nginx vai Apache Web Server.

Šī apmācība palīdzēs jums soli pa solim instalēt Seafile Server uz RHEL/CentOS/Scientific Linux 7.x/6.x, kas izvietots ar MySQL datu bāzi, ar startēšanu init skripti servera palaišanai pēc noklusējuma Seafile porta (8000/TCP) un noklusējuma HTTP transakcijas porta (80/TCP), izveidojiet nepieciešamos ugunsmūra noteikumus, lai atvērtu nepieciešamās ostas.

  1. Minimāla CentOS 6.5 instalēšana ar statisku IP adresi.
  2. MySQL/MariaDB datu bāze
  3. Python 2.6.5+ vai 2.7
  4. Python iestatīšanas rīki
  5. Python-simplejson
  6. Python attēlveidošana
  7. Python-mysqldb

Šī instalēšanas procedūra tika pārbaudīta CentOS 6.4 64 bitu sistēmā, taču to var izmantot arī citos Linux izplatījumos ar specifikāciju, ka init startēšanas skripti katrā izplatīšanā atšķiras. .

1. darbība: instalējiet Python moduļus

1. Vispirms veiciet sistēmas atjaunināšanu , pēc tam instalējiet visus nepieciešamos Python moduļus, izmantojot šādas komandas.

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

2. Ja izmantojat serveri Debian vai Ubuntu , instalējiet visus Python moduļus ar nākamajām komandām.

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

2. darbība: instalējiet Seafile Server

3. Pēc visu Python moduļu instalēšanas izveidojiet jaunu sistēmas lietotāju ar spēcīgu paroli, kas tiks izmantota Seafile servera konfigurācijas un visu mājas direktorijā esošo datu mitināšanai, pēc tam pārslēdzieties uz izveidoto tikko izveidoto lietotāja kontu.

# adduser seafile
# passwd seafile
# su - seafile

4. Pēc tam piesakieties MySQL datu bāzē un izveidojiet trīs datu bāzes, pa vienai katram Seafile Server komponentam: ccnet serveris , seafile serveris un seahub ar vienu vienību. lietotājs visām datu bāzēm.

$ 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. Tagad ir pienācis laiks lejupielādēt un instalēt Seafile Server . Dodieties uz oficiālo Seafile lejupielādes lapu un paņemiet servera arhitektūras pēdējo .Tar Linux arhīva laidienu, izmantojot komandu wget , pēc tam izvelciet to savam mājas Seafile lietotājam, kas izveidots agrāk, un ievadiet Seafile izvilkts direktorijs.

$ 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. Lai instalētu Seafile Server, izmantojot MySQL datu bāzi, palaidiet inicializācijas skriptu setup-seafile-mysql.sh un atbildiet uz visiem jautājumiem, izmantojot šīs konfigurācijas opcijas, pēc tam, kad skripts ir pārbaudījis visu Python nepieciešamo moduļu esamību.

$ ./setup-seafile-mysql.sh

  1. Kā sauc jūsu serveri? = izvēlieties aprakstošu nosaukumu (atstarpes nav atļautas).
  2. Kāds ir servera IP vai domēns? = ievadiet sava servera IP adresi vai derīgo domēna nosaukumu .
  3. Kuru portu vēlaties izmantot ccnet serverim? = nospiediet [ Enter ] - atstājiet noklusējumu - 10001 .
  4. Kur vēlaties ievietot datus par jūras failiem? = nospiediet [ Enter ] - noklusējuma atrašanās vieta būs jūsu $HOME/seafile-data direktorijs.
  5. Kuru portu vēlaties izmantot jūras failu serverim? = nospiediet [ Enter ] - atstājiet to pēc noklusējuma - 12001 .

  1. Kuru ostu vēlaties izmantot jūras failu httpserver? = nospiediet [ Enter ] - atstājiet to pēc noklusējuma - 8082 .
  2. Lūdzu, izvēlieties veidu, kā inicializēt jūras failu datubāzes: = izvēlieties 1 un norādiet MySQL noklusējuma akreditācijas datus: localhost, 3306 un root paroli.
  3. Ievadiet MySQL seafile lietotāja vārdu: = seafile (ja izveidojāt citu lietotājvārdu, ievadiet šo lietotājvārdu ) un jūras faila MySQL lietotāja paroli.
  4. Ccnet-server, seafile-server un seahub datubāzēs vienkārši nospiediet taustiņu [ Enter ] - noklusējums.

Pēc tam, kad Seafile Server ir veiksmīgi instalēts, tas ģenerēs noderīgu informāciju, piemēram, par kurām ostām jābūt atvērtām jūsu ugunsmūrī, lai atļautu ārēju savienojumu, un ar kādiem skriptiem rīkoties, lai palaistu serveri.

3. darbība: atveriet ugunsmūri un izveidojiet Seafile init skriptu

7. Pirms testa sākšanas sākat servera Seafile serveri no vietējā skripta, pārslēdzieties atpakaļ uz root kontu un atveriet iptables ugunsmūra faila konfigurāciju, kas atrodas /etc/sysconfig/ sistēmas ceļš un pirms pirmās rindas REJECT pievienojiet šīs rindkopas kārtulas, pēc tam restartējiet iptables, lai lietotu jaunus noteikumus.

$ su - root
# nano /etc/sysconfig/iptables

Pievienojiet šādus noteikumus.

-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

Restartējiet iptables, lai lietotu kārtulas, izmantojot šo komandu.

# service iptables restart

PIEZĪME. Ja instalēšanas laikā mainījāt Seafile standarta porti, atbilstoši atjauniniet Firewall iptables kārtulas.

8. Tagad ir pienācis laiks pārbaudīt Seafile Server. Pārslēdzieties uz Seafile lietotāja un seafile-server direktoriju un palaidiet serveri, izmantojot skriptus seafile.sh un seahub.sh .

Pirmo reizi startējot skriptu seahub.sh , izveidojiet administratīvo kontu Seafile Server, izmantojot savu e-pasta adresi, un izvēlieties stingru paroli administratora kontam, it īpaši, ja šo konfigurāciju izvietojat ražošanas vidē.

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

9. Pēc servera veiksmīgas palaišanas atveriet pārlūkprogrammu un, izmantojot HTTP protokolu, dodieties uz sava servera IP adresi vai domēna nosaukumu portā 8000 , pēc tam piesakieties, izmantojot administratora kontu, kas izveidots, veicot iepriekš minēto darbību.

http://system_IP:8000

OR 

http://domain_name:8000

10. Pēc pirmajiem konfigurācijas testiem pārtrauciet serveri Seafile un izveidojiet skriptu init , kas palīdzēs jums vieglāk pārvaldīt visu procesu tāpat kā citus Linux sistēmas dēmona procesus.

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

Pievienojiet šim init skriptam šādu saturu - ja Seafile ir instalēts citam sistēmas lietotājam, pārliecinieties, ka attiecīgi atjaunina lietotāju un ceļus līnijās 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. Pēc faila init izveides pārliecinieties, vai tam ir izpildes atļaujas, un pārvaldiet procesu, izmantojot start , stop un restart slēdži. Tagad jūs varat pievienot pakalpojumu Seafile sistēmas startēšanas laikā, izmantojot komandu chkconfig .

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

12. Pēc noklusējuma Seafile serveris tīmekļa darījumiem izmanto 8000 / TCP HTTP portu. Ja vēlaties piekļūt Seafile serverim no pārlūkprogrammas, izmantojot standarta HTTP portu, izmantojiet šādu skriptu init , ar kuru serveris tiek palaists 80 portā (ņemiet vērā, ka pakalpojuma sākšana portos zem < b> 1024 nepieciešamas root tiesības).

# nano /etc/init.d/seafile

Pievienojiet šo init skripta saturu, lai sāktu Seafile standarta HTTP portā. Ja Seafile ir instalēts citam sistēmas lietotājam, noteikti atjauniniet lietotāju un ceļus līnijās su - $USER -c un $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. Ja jūs iepriekš sākāt Seafile portā 8000 , pārliecinieties, vai visi procesi ir nogalināti, palaidiet serveri 80. portā.

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

Atveriet pārlūku un novirziet to uz šo adresi.

http://system_ip 

OR

http://domain_name.tld

14. Varat arī pārbaudīt, kurās ostās darbojas Seafile, izmantojot komandu netstat .

# netstat -tlpn

Tieši tā! Seafile ar prieku var aizstāt citas mākoņa sadarbības un failu sinhronizācijas platformas, piemēram, publisko Dropbox , Owncloud , Pydio , OneDrive utt. jūsu organizācijā, kas paredzēts labākam komandas darbam un pilnīgai jūsu krātuves kontrolei ar uzlabotu drošību lietotāja telpā.

Savā gaidāmajā rakstā es apskatīšu, kā instalēt Seafile klientu Linux un Windows sistēmās, kā arī parādīšu, kā izveidot savienojumu ar Seafile Server. Līdz tam sekojiet līdzi Tecmint un neaizmirstiet sniegt savus vērtīgos komentārus.