Uppsetning Seafile (Secure Cloud Storage) með MySQL gagnagrunni í RHEL/CentOS/SL 7.x/6.x


Seafile er háþróað Open Source samvinnuskýjageymsluforrit skrifað í Python með stuðningi við skráaskipti og samstillingu, samstarfshópa og persónuvernd með dulkóðun viðskiptavinarhliðar. Það er smíðað sem samstilling af mörgum vettvangi skráa við viðskiptavini sem keyrir á öllum helstu kerfum (Linux, Raspberry Pi, Windows, Mac, iPhone og Android) og er auðvelt að samþætta það við staðbundnar þjónustur eins og LDAP og WebDAV eða hægt að nota það með háþróaðri netþjónustu og gagnagrunna eins og MySQL, SQLite, PostgreSQL, Memcached, Nginx eða Apache vefþjón.

Þessi kennsla mun leiðbeina þér um skref fyrir skref uppsetningu Seafile Server á RHEL/CentOS/Scientific Linux 7.x/6.x með MySQL gagnagrunni, með ræsingu init forskriftir til að keyra þjóninn á sjálfgefna Seafile tengi (8000/TCP) og sjálfgefna HTTP viðskiptatengi (80/TCP), búa til nauðsynlegar eldveggsreglur til að opna nauðsynlegar höfn.

  1. Lágmarks CentOS 6.5 uppsetning með fastri IP tölu.
  2. MySQL/MariaDB gagnagrunnur
  3. Python 2.6.5+ eða 2.7
  4. Python-uppsetningarverkfæri
  5. Python-simplejson
  6. Python-myndataka
  7. Python-mysqldb

Þessi uppsetningaraðferð var prófuð á CentOS 6.4 64-bita kerfi, en er einnig hægt að nota á öðrum Linux dreifingum með þeirri forskrift að init ræsiforskriftir eru mismunandi frá einni dreifingu til annarrar .

Skref 1: Settu upp Python einingar

1. Gerðu fyrst kerfis Uppfærslu, settu síðan upp allar nauðsynlegar Python einingar með eftirfarandi skipunum.

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

2. Ef þú notar Debian eða Ubuntu netþjón settu upp allar Python einingar með næstu skipunum.

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

Skref 2: Settu upp Seafile Server

3. Eftir að allar Python einingar eru settar upp búðu til nýjan kerfisnotanda með sterku lykilorði sem verður notað til að hýsa uppsetningu Seafile netþjóns og öll gögn á heimaskrá hans, skiptu síðan yfir í nýlega búið til notandareikning.

# adduser seafile
# passwd seafile
# su - seafile

4. Skráðu þig síðan inn á MySQL gagnagrunn og búðu til þrjá gagnagrunna, einn fyrir hvern Seafile Server hluti: ccnet server, seafile server og seahub með einum notandi fyrir alla gagnagrunna.

$ 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. Nú er kominn tími til að hlaða niður og setja upp Seafile Server. Farðu á Seafile opinbera niðurhalssíðu og gríptu síðustu .Tar Linux skjalasafnsútgáfuna fyrir netþjónaarkitektúrinn þinn með því að nota wget skipunina, dragðu hana síðan út í Seafile heimanotandann sem þú bjóst til áður og sláðu inn Seafile útdregin skrá.

$ 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. Til að setja upp Seafile Server með MySQL gagnagrunni skaltu keyra setup-seafile-mysql.sh frumstillingarforskrift og svara öllum spurningum með því að nota eftirfarandi stillingarvalkosti, eftir að handritið hefur staðfest tilvist allra Python nauðsynlegra eininga.

$ ./setup-seafile-mysql.sh

  1. Hvað heitir þjónninn þinn? = veldu lýsandi heiti (engin bil leyfð).
  2. Hver er IP eða lén þjónsins? = sláðu inn IP tölu þjóninn þinn eða gilt lén.
  3. Hvaða port viltu nota fyrir ccnet netþjón? = ýttu á [Enter] – láttu það vera sjálfgefið – 10001.
  4. Hvar viltu setja sjávarfangagögn? = ýttu á [Enter] – sjálfgefin staðsetning verður $HOME/seafile-data skráin þín.
  5. Hvaða gátt viltu nota fyrir sjóafílaþjón? = ýttu á [Enter] – láttu það vera sjálfgefið – 12001.

  1. Hvaða gátt viltu nota fyrir httpserver fyrir sjávarfile? = ýttu á [Enter] – láttu það vera sjálfgefið – 8082.
  2. Vinsamlegast veldu leið til að frumstilla gagnagrunna sjávarfanga: = veldu 1 og gefðu upp sjálfgefna MySQL skilríki: localhost, 3306 og rót lykilorð.
  3. Sláðu inn nafnið fyrir MySQL notanda Seafile: = seafile (ef þú bjóst til annað notendanafn skaltu slá inn það notandanafn) og Seafile MySQL notanda lykilorð.
  4. Á ccnet-server, seafile-server og seahub gagnagrunnum ýttu bara á [Enter] takkann – sjálfgefið.

Eftir að Seafile Server hefur verið sett upp með góðum árangri mun hann búa til gagnlegar upplýsingar eins og hvaða höfn þarf að vera opin á eldveggnum þínum til að leyfa ytri tengingu og hvaða forskriftir á að meðhöndla til að ræsa netþjóninn.

Skref 3: Opnaðu eldvegg og búðu til Seafile init Script

7. Áður en Seafile þjónninn er ræstur úr staðbundnu skriftu fyrir próf skaltu breyta aftur í rót reikning og opna iptables eldveggsskráarstillingar sem staðsettar eru á /etc/sysconfig/ kerfisslóð og bættu við eftirfarandi línureglum fyrir fyrstu HAFA línuna, endurræstu síðan iptables til að beita nýjum reglum.

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

Bættu við eftirfarandi reglum.

-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

Endurræstu iptables til að beita reglum með eftirfarandi skipun.

# service iptables restart

ATHUGIÐ: Ef þú breyttir Seafile stöðluðum höfnum í uppsetningarferlinu skaltu uppfæra Firewall iptables reglurnar þínar í samræmi við það.

8. Nú er kominn tími til að prófa Seafile Server. Skiptu yfir í Seafile notanda og seafile-server möppu og ræstu netþjóninn með því að nota seafile.sh og seahub.sh forskriftir.

Í fyrsta skipti sem þú byrjar seahub.sh forskrift, stofnaðu stjórnunarreikning fyrir Seafile Server með því að nota netfangið þitt og veldu sterkt lykilorð fyrir admin reikning, sérstaklega ef þú ert að nota þessa stillingu í framleiðsluumhverfi.

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

9. Eftir að þjónninn hefur verið ræstur, opnaðu vafra og farðu að IP-tölu þjónsins eða lénsheiti á gátt 8000 með því að nota HTTP samskiptareglur, skráðu þig síðan inn með því að nota stjórnandareikninginn þinn sem búinn var til í skrefinu hér að ofan.

http://system_IP:8000

OR 

http://domain_name:8000

10. Eftir fyrstu stillingarprófanir skaltu stöðva Seafile þjóninn og búa til init forskrift sem mun hjálpa þér að stjórna öllu ferlinu á auðveldari hátt, rétt eins og önnur Linux kerfispúkaferli.

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

Bættu við eftirfarandi efni við þetta init forskrift – Ef Seafile er uppsett á öðrum kerfisnotanda vertu viss um að uppfæra notanda og slóðir í samræmi við það á su – $USER -c línum.

#!/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. Eftir að init skrá hefur verið búin til skaltu ganga úr skugga um að hún hafi keyrsluheimildir og stjórna ferlinu með start, stop og restart rofar. Nú geturðu bætt við Seafile þjónustu við ræsingu kerfisins með chkconfig skipuninni.

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

12. Sjálfgefið notar Seafile þjónn 8000/TCP HTTP tengi fyrir vefviðskipti. Ef þú vilt fá aðgang að Seafile Server úr vafra á venjulegu HTTP-tengi skaltu nota eftirfarandi init forskrift sem ræsir netþjóninn á port 80 (hafðu í huga að ræsa þjónustu á portum fyrir neðan < b>1024 krefst rótarréttinda).

# nano /etc/init.d/seafile

Bættu eftirfarandi efni við þetta init forskrift til að ræsa Seafile á venjulegu HTTP tengi. Ef Seafile er uppsett á öðrum kerfisnotendum vertu viss um að uppfæra notanda og slóðir í samræmi við það á su – $USER -c og $HOME línum.

#!/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. Ef þú ræstir Seafile áður á höfn 8000, vertu viss um að öll ferli séu drepin, ræstu þjóninn á höfn 80.

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

Opnaðu vafra og beindu honum á eftirfarandi heimilisfang.

http://system_ip 

OR

http://domain_name.tld

14. Þú getur líka staðfest á hvaða höfnum Seafile keyrir með netstat skipuninni.

# netstat -tlpn

Það er það! Seafile getur með ánægju komið í stað annarra skýjasamvinnu- og skráarsamstillingarkerfa eins og opinbert Dropbox, Owncloud, Pydio, OneDrive o.s.frv. á fyrirtækinu þínu, hannað fyrir betri teymisvinnu og fulla stjórn á geymslunni þinni með háþróaðri öryggi í notendarými.

Í næstu grein minni mun ég fjalla um hvernig á að setja upp Seafile viðskiptavin á Linux og Windows kerfum og einnig sýna þér hvernig á að tengjast Seafile Server. Þangað til fylgstu með Tecmint og ekki gleyma að gefa dýrmætar athugasemdir þínar.