Inasakinisha Faili ya Bahari (Hifadhi Salama ya Wingu) na Hifadhidata ya MySQL katika RHEL/CentOS/SL 7.x/6.x


Seafile ni programu ya kina ya uhifadhi wa wingu ya Open Source iliyoandikwa katika Python yenye usaidizi wa kushiriki faili na kusawazisha, ushirikiano wa timu na ulinzi wa faragha kwa kutumia usimbaji fiche wa upande wa mteja. Inaundwa kama usawazishaji wa faili wa majukwaa mengi na wateja ambao hutumika kwenye majukwaa yote makuu (Linux, Raspberry Pi, Windows, Mac, iPhone na Android) na inaweza kuunganishwa kwa urahisi na huduma za ndani kama vile LDAP na WebDAV au inaweza kutumwa kwa kutumia hali ya juu. huduma za mtandao na hifadhidata kama vile MySQL, SQLite, PostgreSQL, Memcached, Nginx au Apache Web Server.

Mafunzo haya yatakuongoza kwenye usakinishaji wa hatua kwa hatua wa Seafile ya Bahari kwenye RHEL/CentOS/Scientific Linux 7.x/6.x iliyotumiwa na hifadhidata ya MySQL, na init hati za kuendesha seva kwenye mlango chaguo-msingi wa Seafile (8000/TCP) na lango chaguo-msingi la muamala la HTTP (80/TCP), huunda sheria muhimu za Firewall ili kufungua milango inayohitajika.

  1. Usakinishaji mdogo wa CentOS 6.5 ukitumia anwani tuli ya IP.
  2. Hifadhidata ya MySQL/MariaDB
  3. Python 2.6.5+ au 2.7
  4. Python-setuptools
  5. Python-simplejson
  6. Upigaji picha wa chatu
  7. Python-mysqldb

Utaratibu huu wa usakinishaji uliojaribiwa kwenye mfumo wa CentOS 6.4 64-bit, lakini pia unaweza kutumika kwenye usambazaji mwingine wa Linux kwa kubainisha kuwa init hati za kuanzisha hutofautiana kutoka kwa usambazaji mmoja hadi mwingine. .

Hatua ya 1: Sakinisha Module za Python

1. Kwanza fanya mfumo Sasisha, kisha usakinishe moduli zote zinazohitajika za Python kwa kutumia amri zifuatazo.

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

2. Ikiwa unatumia seva ya Debian au Ubuntu sakinisha moduli zote za Python zilizo na amri zinazofuata.

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

Hatua ya 2: Sakinisha Seva ya Seafile

3. Baada ya moduli zote za Python kusakinishwa tengeneza mtumiaji wa mfumo mpya na nenosiri kali ambalo litatumika kupangisha usanidi wa seva ya Seafile na data yote kwenye saraka yake ya nyumbani, kisha ubadilishe kwa akaunti mpya ya mtumiaji iliyoundwa.

# adduser seafile
# passwd seafile
# su - seafile

4. Kisha ingia kwenye hifadhidata ya MySQL na uunde hifadhidata tatu, moja kwa kila sehemu ya Seva ya Seafile: seva ya ccnet, seva ya faili ya bahari na seahub yenye kifaa kimoja. mtumiaji kwa hifadhidata zote.

$ 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. Sasa ni wakati wa kupakua na kusakinisha Seafile Server. Nenda kwenye ukurasa rasmi wa upakuaji wa Seafile na unyakue toleo la mwisho la .Tar la hifadhi ya Linux kwa usanifu wa seva yako ukitumia amri ya wget, kisha uitoe kwa mtumiaji wako wa nyumbani wa Seafile iliyoundwa mapema na uweke Seafile. saraka iliyotolewa.

$ 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. Kusakinisha Seva ya Seafile kwa kutumia hifadhidata ya MySQL endesha setup-seafile-mysql.sh hati ya kuanzisha na ujibu maswali yote kwa kutumia chaguo zifuatazo za usanidi, baada ya hati kuthibitisha kuwepo kwa moduli zote zinazohitajika za Python.

$ ./setup-seafile-mysql.sh

  1. Jina la seva yako ni nini? = chagua jina la maelezo (hakuna nafasi zinazoruhusiwa).
  2. IP au kikoa cha seva ni nini? = weka seva yako anwani ya IP au jina lako halali la kikoa.
  3. Unataka kutumia lango gani kwa seva ya ccnet? = gonga [Ingiza] – iache chaguomsingi – 10001.
  4. Unataka kuweka data ya faili ya bahari wapi? = gonga [Ingiza] - eneo chaguo-msingi litakuwa saraka yako ya $HOME/seafile-data.
  5. Unataka kutumia bandari gani kwa seva ya faili za bahari? = gonga [Ingiza] – iache chaguomsingi – 12001.

  1. Unataka kutumia bandari gani kwa seva ya bahari httpserver? = gonga [Ingiza] – iache chaguomsingi – 8082.
  2. Tafadhali chagua njia ya kuanzisha hifadhidata za faili za bahari: = chagua 1 na utoe kitambulisho chaguomsingi cha MySQL: localhost, 3306 na nenosiri la msingi.
  3. Ingiza jina la mtumiaji wa MySQL wa seafile: = seafile ( ikiwa umeunda jina lingine la mtumiaji ingiza jina hilo la mtumiaji) na uachie nenosiri la mtumiaji la MySQL.
  4. Kwenye ccnet-server, seafile-server na hifadhidata za seahub gonga kitufe cha [Enter] - chaguomsingi.

Baada ya Seva ya Seafile kusakinisha kwa ufanisi, itazalisha taarifa muhimu kama vile ni milango gani inayohitaji kufunguliwa kwenye Firewall yako ili kuruhusu muunganisho wa nje na hati zipi za kushughulikia ili kuanzisha seva.

Hatua ya 3: Fungua Firewall na Unda Hati ya init ya Seafile

7. Kabla ya kuanzisha seva ya Seafile kutoka hati ya ndani kwa ajili ya majaribio, badilisha hadi root akaunti na ufungue iptables usanidi wa faili ya ngome iliyoko kwenye /etc/sysconfig/ njia ya mfumo na uongeze sheria zifuatazo za mstari kabla ya mstari wa kwanza KATAA, kisha uwashe upya iptables ili kutumia sheria mpya.

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

Ongeza sheria zifuatazo.

-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

Anzisha tena iptables kutumia sheria kwa kutumia amri ifuatayo.

# service iptables restart

KUMBUKA: Ikiwa ulibadilisha milango ya kawaida ya Seafile kwenye mchakato wa usakinishaji sasisha sheria zako za iptables za Firewall ipasavyo.

8. Sasa ni wakati wa kujaribu Seva ya Seafile. Badili hadi kwenye saraka ya mtumiaji wa Seafile na seafile-server na uanzishe seva kwa kutumia hati za seafile.sh na seahub.sh.

Mara ya kwanza unapoanzisha hati ya seahub.sh, fungua akaunti ya msimamizi ya Seva ya Seafile ukitumia anwani yako ya barua pepe na uchague nenosiri thabiti la akaunti ya msimamizi, hasa ikiwa unatumia usanidi huu katika mazingira ya uzalishaji.

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

9. Baada ya seva kuanzishwa kwa ufanisi, fungua kivinjari na uende kwenye anwani ya IP ya seva yako au jina la kikoa kwenye mlango wa 8000 ukitumia itifaki ya HTTP, kisha ingia kwa kutumia akaunti yako ya msimamizi iliyoundwa kwa hatua iliyo hapo juu.

http://system_IP:8000

OR 

http://domain_name:8000

10. Baada ya majaribio ya kwanza ya usanidi, simamisha seva ya Seafile na uunde hati init ambayo itakusaidia kudhibiti mchakato mzima kwa urahisi zaidi, kama vile michakato mingine yoyote ya daemoni ya mfumo wa Linux.

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

Ongeza maudhui yafuatayo kwenye hati init hii - Ikiwa Seafile imesakinishwa kwenye mtumiaji mwingine wa mfumo hakikisha kuwa umesasisha mtumiaji na njia ipasavyo kwenye mistari ya 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. Baada ya init faili kuundwa, hakikisha kuwa ina ruhusa za utekelezaji na udhibiti mchakato ukitumia anza, simamisha na anza upya swichi. Sasa unaweza kuongeza huduma ya Seafile unapoanzisha mfumo kwa kutumia chkconfig amri.

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

12. Kwa chaguomsingi Seva ya Seafile hutumia 8000/TCP mlango wa HTTP kwa shughuli za wavuti. Iwapo ungependa kufikia Seva ya Seafile kutoka kwa kivinjari kwenye mlango wa kawaida wa HTTP tumia hati ifuatayo ya init ambayo huanzisha seva kwenye lango 80 (fahamu kwamba kuanzisha huduma kwenye milango iliyo hapa chini 80 b>1024inahitaji haki za mizizi).

# nano /etc/init.d/seafile

Ongeza maudhui yafuatayo kwenye hati init hii ili kuanzisha Seafile kwenye mlango wa kawaida wa HTTP. Ikiwa Seafile imesakinishwa kwa mtumiaji mwingine wa mfumo hakikisha kuwa umesasisha mtumiaji na njia ipasavyo kwenye mistari ya su - $USER -c na $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. Ikiwa hapo awali ulianzisha Seafile kwenye lango 8000 hakikisha kuwa michakato yote imeuawa, anzisha seva kwenye lango la 80.

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

Fungua kivinjari na uelekeze kwa anwani ifuatayo.

http://system_ip 

OR

http://domain_name.tld

14. Unaweza pia kuthibitisha kwenye milango gani Seafile inaendeshwa kwa netstat amri.

# netstat -tlpn

Ni hayo tu! Seafile inaweza kuchukua nafasi ya mifumo mingine ya ushirikishwaji ya wingu na kusawazisha faili kama vile Dropbox ya umma, Owncloud, Pydio, OneDrive, n.k. kwenye Shirika lako, ikiwa imeundwa kwa ajili ya kazi bora ya pamoja na udhibiti kamili wa hifadhi yako kwa usalama wa hali ya juu katika nafasi ya mtumiaji.

Katika makala yangu ijayo, nitashughulikia jinsi ya kufunga mteja wa Seafile kwenye mifumo ya Linux na Windows na pia kukuonyesha jinsi ya kuunganisha kwenye Seva ya Seafile. Mpaka hapo endelea kuwa karibu na Tecmint na usisahau kutoa maoni yako muhimu.