Seafile'i (turvaline pilvemälu) installimine MySQL-i andmebaasiga rakenduses RHEL/CentOS/SL 7.x/6.x


Seafile on Pythonis kirjutatud täiustatud avatud lähtekoodiga koostöötaseme pilvemälu rakendus, millel on failide jagamise ja sünkroonimise tugi, meeskonna koostöö ja privaatsuse kaitse kliendipoolse krüpteerimise abil. See on loodud mitme platvormina failidega, mis sünkroonitakse klientidega ja töötab kõigil peamistel platvormidel (Linux, Raspberry Pi, Windows, Mac, iPhone ja Android) ja mida saab hõlpsasti integreerida kohalike teenustega, näiteks LDAP ja WebDAV, või seda saab kasutada edasijõudnutele võrguteenused ja andmebaasid nagu MySQL, SQLite, PostgreSQL, Memcached, Nginx või Apache veebiserver.

See juhendaja juhendab teid samm-sammult Seafile Serveri installimisel MySQL-i andmebaasiga juurutatud RHEL/CentOS/Scientific Linux 7.x/6.x-i koos käivitamisega init skriptid serveri käitamiseks Seafile'i vaikepordis (8000/TCP) ja vaikimisi HTTP-tehingupordis (80/TCP), looge vajalike tulemüüri reeglid vajalike portide avamiseks.

  1. CentOS 6.5 minimaalne installimine staatilise IP-aadressiga.
  2. MySQL/MariaDB andmebaas
  3. Python 2.6.5+ või 2.7
  4. Pythoni seadistustööriistad
  5. Python-simplejson
  6. Pythoni pildistamine
  7. Python-mysqldb

Seda installiprotseduuri testiti süsteemis CentOS 6.4 64-bitine , kuid seda saab kasutada ka teistes Linuxi distributsioonides spetsifikatsiooniga, et init käivitusskriptid erinevad jaotustest .

1. samm: installige Pythoni moodulid

1. Kõigepealt tehke süsteem Uuenda , seejärel installige kõik vajalikud Pythoni moodulid järgmiste käskude abil.

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

2. Kui kasutate serverit Debian või Ubuntu , installige kõik Pythoni moodulid järgmiste käskudega.

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

2. samm: installige Seafile Server

3. Kui kõik Pythoni moodulid on installitud, looge uus tugeva parooliga süsteemikasutaja, mida kasutatakse Seafile'i serveri konfiguratsiooni ja kõigi selle kodukataloogis olevate andmete hostimiseks, seejärel lülitage uus loodud kasutajakonto.

# adduser seafile
# passwd seafile
# su - seafile

4. Seejärel logige sisse MySQL-i andmebaasi ja looge kolm andmebaasi, üks kõigi Seafile Serveri komponentide jaoks: ccnet-server , seafile-server ja seahub ühe failiga. kõigi andmebaaside kasutaja.

$ 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üüd on aeg Seafile Server alla laadida ja installida. Minge Seafile'i ametlikule allalaadimislehele ja haarake käsu wget abil oma serveri arhitektuuri viimane .Tar Linuxi arhiiviväljaanne, seejärel eraldage see oma varem loodud Seafile'i kasutajale ja sisestage Seafile eraldatud kataloog.

$ 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. Seafile Serveri installimiseks MySQL-i andmebaasi abil käivitage lähtestuskript setup-seafile-mysql.sh ja vastake kõigile küsimustele järgmiste seadistusvõimaluste abil pärast seda, kui skript kontrollib kõigi Pythoni vajalike moodulite olemasolu.

$ ./setup-seafile-mysql.sh

  1. Mis on teie serveri nimi? = vali kirjeldav nimi (tühikuid pole lubatud).
  2. Mis on serveri IP või domeen? = sisestage oma serveri IP-aadress või kehtiv domeeninimi .
  3. Millist porti soovite ccnet-serveri jaoks kasutada? = vajuta [ Enter ] - jäta see vaikimisi - 10001 .
  4. Kuhu soovite mereandmete andmed panna? = vajutage [ sisestage ] - vaikeasukohaks on teie kataloog $HOME/seafile-data .
  5. Millist porti soovite mereandmete serveri jaoks kasutada? = vajuta [ Enter ] - jäta see vaikimisi - 12001 .

  1. Millist sadamat soovite kasutada mereandmete httpserveri jaoks? = vajuta [ Enter ] - jäta see vaikeks - 8082 .
  2. Valige mereandmebaaside lähtestamise viis: = valige 1 ja sisestage MySQL-i vaikimisi mandaadid: localhost, 3306 ja juurparool.
  3. Sisestage seafile'i MySQL-i kasutaja nimi: = seafile (kui lõite muu kasutajanime, sisestage see kasutajanimi ) ja merefaili MySQL-i kasutaja parool.
  4. ccnet-serveri, seafile-serveri ja seahubi andmebaasides vajuta lihtsalt klahvi [ Enter ] - vaikimisi.

Pärast seda, kui Seafile Server edukalt installib, genereerib see kasulikku teavet, näiteks millised pordid peavad olema teie tulemüüris avatud, et võimaldada välist ühendust ja milliseid skripte serveri käivitamiseks käsitseda.

3. samm: avage tulemüür ja looge Seafile'i init skript

7. Enne Seafile'i serveri käivitamist testi jaoks kohalikust skriptist minge tagasi juur kontole ja avage iptables tulemüüri faili konfiguratsioon, mis asub saidil /etc/sysconfig/ süsteemitee ja lisage enne esimest rida KEELA järgmised reeglid, seejärel taaskäivitage iptables uute reeglite rakendamiseks.

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

Lisage järgmised reeglid.

-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

Reeglite rakendamiseks taaskäivitage iptables järgmise käsu abil.

# service iptables restart

MÄRKUS. Kui muutsite installiprotsessi Seafile standardporde, värskendage vastavalt oma tulemüüri iptables reegleid.

8. Nüüd on aeg Seafile Serveri testida. Lülituge Seafile'i kasutajate ja seafile-server kataloogi ning käivitage server skriptide seafile.sh ja seahub.sh abil.

Skripti seahub.sh esmakordsel käivitamisel looge oma e-posti aadressi abil Seafile Serveri halduskonto ja valige administraatori konto jaoks tugev parool, eriti kui juurutate seda konfiguratsiooni tootmiskeskkonnas.

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

9. Kui server on edukalt käivitatud, avage brauser ja navigeerige HTTP-protokolli abil oma serveri IP-aadressile või pordi 8000 domeeni nimele, seejärel logige sisse ülaltoodud sammul loodud administraatori kontoga.

http://system_IP:8000

OR 

http://domain_name:8000

10. Pärast esimesi seadistusteste peatage Seafile'i server ja looge init skript, mis aitab teil kogu protsessi hõlpsamini hallata, nagu ka kõiki teisi Linuxi süsteemi deemoni protsesse.

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

Lisage sellesse init skripti järgmine sisu - kui Seafile on installitud teisele süsteemikasutajale, värskendage kindlasti rida su - $USER -c kasutaja ja teed.

#!/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ärast faili init loomist veenduge, et sellel oleks täitmisõigused, ja hallake protsessi, kasutades käsku start , stop ja restart lülitid. Nüüd saate Seafile'i teenuse lisada süsteemi käivitamisel käsuga chkconfig .

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

12. Vaikimisi kasutab Seafile'i server veebitehingute jaoks HTTP-porti 8000 / TCP . Kui soovite Seafile'i serverile juurde pääseda tavalise HTTP-pordi brauserist, kasutage järgmist skripti init , mis käivitab serveri pordis 80 (pidage meeles, et teenuse käivitamine allapoole b> 1024 nõuab juurõigusi).

# nano /etc/init.d/seafile

Seafile'i käivitamiseks standardses HTTP-pordis lisage sellele init -skriptile järgmine sisu. Kui Seafile on installitud teisele süsteemikasutajale, värskendage kasutajaid ja teid vastavalt liinidel su - $USER -c ja $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. Kui olete varem käivitanud Seafile'i pordis 8000 , veenduge, et kõik protsessid on tapetud, käivitage server pordist 80.

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

Avage brauser ja suunake see järgmisele aadressile.

http://system_ip 

OR

http://domain_name.tld

14. Samuti saate käsku netstat kontrollida, millistes sadamates Seafile töötab.

# netstat -tlpn

See on kõik! Seafile võib õnnelikult asendada teisi pilvealaseid koostöö- ja failisünkroonimisplatvorme, nagu avalik Dropbox , Owncloud , Pydio , OneDrive jne. teie organisatsioonis, mis on mõeldud paremaks meeskonnatööks ja täielikuks kontrollimiseks teie salvestusruumi kasutajaruumi täiustatud turvalisusega.

Oma eelseisvas artiklis käsitlen Seafile'i kliendi installimist Linuxi ja Windowsi süsteemidesse ning näitan ka Seafile Serveriga ühenduse loomist. Kuni selle ajani jälgige Tecminti ja ärge unustage oma väärtuslikke kommentaare anda.