Installazzjoni ta' Seafile (Ħażna Sikura Cloud) b'Database MySQL f'RHEL/CentOS/SL 7.x/6.x


Seafile hija applikazzjoni ta' ħażna ta' sħaba kollaborattiva ta' Sors Miftuħ avvanzat miktuba f'Python b'appoġġ għall-qsim u s-sinkronizzazzjoni ta' fajls, kollaborazzjoni f'tim u protezzjoni tal-privatezza bl-użu ta' kriptaġġ tan-naħa tal-klijent. Huwa jinbena bħala fajl multi-pjattaforma li jissinkronizza mal-klijenti li jaħdem fuq il-pjattaformi ewlenin kollha (Linux, Raspberry Pi, Windows, Mac, iPhone u Android) u jista 'jiġi integrat faċilment ma' servizzi lokali bħal LDAP u WebDAV jew jista 'jiġi skjerat bl-użu avvanzat. servizzi tan-netwerk u databases bħal MySQL, SQLite, PostgreSQL, Memcached, Nginx jew Apache Web Server.

Dan it-tutorja jiggwidak fuq installazzjoni pass pass ta' Seafile Server fuq RHEL/CentOS/Scientific Linux 7.x/6.x skjerata b'database MySQL, bi start-up init skripts għat-tħaddim tas-server fuq il-port default Seafile (8000/TCP) u l-port default tat-tranżazzjoni HTTP (80/TCP), joħolqu regoli tal-Firewall meħtieġa biex tiftaħ il-portijiet meħtieġa.

  1. Istallazzjoni minima ta' CentOS 6.5 b'indirizz IP statiku.
  2. Database MySQL/MariaDB
  3. Python 2.6.5+ jew 2.7
  4. Python-setuptools
  5. Python-simplejson
  6. Python-immaġini
  7. Python-mysqldb

Din il-proċedura ta' installazzjoni ttestjata fuq is-sistema CentOS 6.4 64-bit, iżda tista' tintuża wkoll fuq distribuzzjonijiet oħra tal-Linux bl-ispeċifikazzjoni li init skripts tal-bidu jvarjaw minn distribuzzjoni għal oħra .

Pass 1: Installa Moduli Python

1. L-ewwel agħmel sistema Aġġorna, imbagħad installa l-moduli Python kollha meħtieġa billi tuża l-kmandi li ġejjin.

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

2. Jekk tuża server Debian jew Ubuntu installa l-moduli Python kollha bil-kmandi li jmiss.

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

Pass 2: Installa Seafile Server

3. Wara li l-moduli Python kollha jkunu installati oħloq utent tas-sistema ġdid b'password b'saħħitha li se tintuża biex tospita l-konfigurazzjoni tas-server Seafile u d-dejta kollha fuq id-direttorju tad-dar tagħha, imbagħad jaqilbu għal kont ta 'utent ġdid maħluq.

# adduser seafile
# passwd seafile
# su - seafile

4. Imbagħad idħol fid-database MySQL u oħloq tliet databases, waħda għal kull komponenti tas-Seafile Server: server ccnet, server seafile u seahub b'wieħed. utent għad-databases kollha.

$ 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. Issa wasal iż-żmien li tniżżel u tinstalla Seafile Server. Mur fil-paġna tat-tniżżil uffiċjali tas-Seafile u aqbad l-aħħar rilaxx tal-arkivju Linux .Tar għall-arkitettura tas-server tiegħek billi tuża l-kmand wget, imbagħad iġbedha lejn l-utent Seafile tad-dar tiegħek maħluqa qabel u daħħal Seafile direttorju estratt.

$ 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. Biex tinstalla Seafile Server bl-użu tad-database MySQL mexxi setup-seafile-mysql.sh script ta 'inizjalizzazzjoni u wieġeb il-mistoqsijiet kollha billi tuża l-għażliet ta' konfigurazzjoni li ġejjin, wara li l-iskrittura tivverifika l-eżistenza tal-moduli kollha meħtieġa ta 'Python.

$ ./setup-seafile-mysql.sh

  1. X'inhu l-isem tas-server tiegħek? = agħżel isem deskrittiv (l-ebda spazji permessi).
  2. X'inhu l-IP jew id-dominju tas-server? = daħħal is-server tiegħek indirizz IP jew l-isem tad-dominju validu tiegħek.
  3. Liema port trid tuża għas-server ccnet? = agħfas [Daħħal] – ħalliha default – 10001.
  4. Fejn trid tpoġġi d-dejta tal-fajl tal-baħar? = agħfas [Daħħal] – il-post default se jkun id-direttorju $HOME/seafile-data tiegħek.
  5. Liema port trid tuża għal server seafile? = agħfas [Daħħal] – ħalliha default – 12001.

  1. Liema port trid tuża għal seafile httpserver? = agħfas [Daħħal] – ħalliha default – 8082.
  2. Jekk jogħġbok agħżel mod kif tibda d-databases tal-fajls tal-baħar: = agħżel 1 u agħti l-kredenzjali MySQL default: localhost, 3306 u password root.
  3. Ikteb l-isem għall-utent MySQL ta' seafile: = seafile (jekk ħloqt isem ta' utent ieħor daħħal dak isem tal-utent) u password tal-utent ta' seafile MySQL.
  4. Fuq id-databases ta' ccnet-server, seafile-server u seahub biss laqat il-buttuna [Enter] – default.

Wara li Seafile Server jinstalla b'suċċess, se jiġġenera xi informazzjoni utli bħal liema portijiet jeħtieġ li jkunu miftuħa fuq il-Firewall tiegħek biex tippermetti konnessjoni esterna u liema skripts għandhom jimmaniġġjaw sabiex jibdew is-server.

Pass 3: Iftaħ Firewall u Oħloq Seafile init Script

7. Qabel ma tibda s-Seafile server minn skript lokali għal test, ibdel lura għal kont root u iftaħ il-konfigurazzjoni tal-fajl tal-firewall iptables li tinsab fuq /etc/sysconfig/ mogħdija tas-sistema u żid ir-regoli tal-linja li ġejjin qabel l-ewwel IRREJECT linja, imbagħad erġa ibda iptables biex tapplika regoli ġodda.

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

Ehmeż ir-regoli li ġejjin.

-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

Ibda mill-ġdid iptables biex tapplika r-regoli billi tuża l-kmand li ġej.

# service iptables restart

NOTA: Jekk bdilt il-portijiet standard tas-Seafile fil-proċess ta 'installazzjoni aġġorna r-regoli tiegħek tal-Firewall iptables kif xieraq.

8. Issa wasal iż-żmien li tittestja Seafile Server. Aqleb għad-direttorju ta' l-utent ta' Seafile u seafile-server u ibda s-server billi tuża skripts seafile.sh u seahub.sh.

L-ewwel darba li tibda l-iskript seahub.sh, oħloq kont amministrattiv għal Seafile Server billi tuża l-indirizz tal-email tiegħek u agħżel password b’saħħitha għall-kont tal-amministratur, speċjalment jekk qed tuża din il-konfigurazzjoni f’ambjent ta’ produzzjoni.

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

9. Wara li s-server jinbeda b'suċċess, iftaħ browser u naviga lejn l-indirizz IP tas-server tiegħek jew l-isem tad-dominju fuq il-port 8000 billi tuża protokoll HTTP, imbagħad illoggja billi tuża l-kont admin maħluq fuq il-pass t'hawn fuq.

http://system_IP:8000

OR 

http://domain_name:8000

10. Wara l-ewwel testijiet tal-konfigurazzjoni, waqqaf is-server Seafile u oħloq script init li jgħinek timmaniġġja aktar faċilment il-proċess kollu, bħal kull proċess ieħor daemon tas-sistema Linux.

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

Żid il-kontenut li ġej fuq dan l-iskript init – Jekk Seafile huwa installat fuq utent tas-sistema ieħor kun żgur li taġġorna l-utent u l-mogħdijiet kif xieraq fuq il-linji 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. Wara li jkun inħoloq il-fajl init, kun żgur li għandu permessi ta' eżekuzzjoni u mmaniġġja l-proċess billi tuża start, stop u restart swiċċijiet. Issa tista 'żżid is-servizz Seafile mal-bidu tas-sistema billi tuża l-kmand ta' chkconfig.

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

12. B'default is-server Seafile juża port HTTP 8000/TCP għal transazzjonijiet tal-web. Jekk trid taċċessa Seafile Server mill-browser fuq port HTTP standard uża l-iskript init li ġej li jibda s-server fuq il-port 80 (kun konxju li tibda servizz fuq portijiet taħt < b>1024jeħtieġ privileġġi tal-għeruq).

# nano /etc/init.d/seafile

Żid il-kontenut li ġej fuq dan l-iskript init biex tibda Seafile fuq port HTTP standard. Jekk Seafile huwa installat fuq utent tas-sistema ieħor kun żgur li taġġorna l-utent u l-mogħdijiet kif xieraq fuq il-linji su – $USER -c u $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. Jekk qabel bdejt Seafile fuq il-port 8000 kun żgur li l-proċessi kollha jinqatlu, ibda s-server fuq il-port 80.

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

Iftaħ browser u mexxih lejn l-indirizz li ġej.

http://system_ip 

OR

http://domain_name.tld

14. Tista' wkoll tivverifika fuq liema portijiet qed jaħdem Seafile billi tuża l-kmand ta' netstat.

# netstat -tlpn

Dak hu! Seafile jista' pjaċir jissostitwixxi pjattaformi kollaborattivi u ta' sinkronizzazzjoni ta' fajls oħra bħal Dropbox, Owncloud, Pydio, OneDrive, eċċ. fuq l-Organizzazzjoni tiegħek, li tkun iddisinjata għal ħidma f'tim aħjar u kontroll sħiħ fuq il-ħażna tiegħek b'sigurtà avvanzata fl-ispazju tal-utent.

Fl-artiklu li jmiss tiegħi, se nkopri kif tinstalla l-klijent Seafile fuq sistemi Linux u Windows u nurik ukoll kif tikkonnettja mas-Seafile Server. Sa dak iż-żmien ibqgħu għassa fuq Tecmint u tinsiex tagħti l-kummenti siewja tiegħek.