Seafile (Secure Cloud Storage) -sovelluksen asentaminen MySQL-tietokantaan RHEL/CentOS/SL 7.x/6.x -käyttöjärjestelmässä


Seafile on edistynyt avoimen lähdekoodin Pythonissa kirjoitettu pilvivarastosovellus, jolla on tiedostojen jakamisen ja synkronoinnin tuki, tiimien yhteistyö ja yksityisyyden suojaus asiakaspuolen salauksella. Se on rakennettu monialustatiedostona, joka synkronoi asiakkaiden kanssa ja joka toimii kaikilla tärkeimmillä alustoilla (Linux, Raspberry Pi, Windows, Mac, iPhone ja Android) ja joka voidaan helposti integroida paikallisiin palveluihin, kuten LDAP ja WebDAV, tai se voidaan ottaa käyttöön edistyneillä verkkopalvelut ja tietokannat, kuten MySQL, SQLite, PostgreSQL, Memcached, Nginx tai Apache Web Server.

Tämä opetusohjelma opastaa sinut askel askeleelta Seafile Server -asennukseen RHEL/CentOS/Scientific Linux 7.x/6.x -käyttöjärjestelmään, joka on asennettu MySQL-tietokantaan, käynnistettäessä init komentosarjat palvelimen ajamiseksi Seafile-oletusportissa (8000/TCP) ja oletus-HTTP-tapahtumaportissa (80/TCP), luo tarvittavat palomuurisäännöt vaadittujen porttien avaamiseksi.

  1. CentOS 6.5: n vähäinen asennus staattisella IP-osoitteella.
  2. MySQL/MariaDB-tietokanta
  3. Python 2.6.5+ tai 2.7
  4. Python-asennustyökalut
  5. Python-simplejson
  6. Python-kuvantaminen
  7. Python-mysqldb

Tämä asennustoimenpide on testattu CentOS 6.4 64-bittisellä järjestelmällä, mutta sitä voidaan käyttää myös muissa Linux-jakeluissa määrittelemällä, että init -käynnistysohjelmat eroavat jakelusta toiseen .

Vaihe 1: Asenna Python-moduulit

1. Tee ensin järjestelmän päivitys ja asenna sitten kaikki tarvittavat Python-moduulit seuraavilla komennoilla.

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

2. Jos käytät Debian tai Ubuntu palvelinta, asenna kaikki Python-moduulit seuraavilla komennoilla.

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

Vaihe 2: Asenna Seafile Server

3. Kun kaikki Python-moduulit on asennettu, luo uusi järjestelmän käyttäjä, jolla on vahva salasana, jota käytetään Seafile-palvelimen kokoonpanon ja kaiken sen kotihakemiston tietojen isännöimiseen, ja vaihda sitten uuteen käyttäjätiliin.

# adduser seafile
# passwd seafile
# su - seafile

4. Kirjaudu sitten MySQL-tietokantaan ja luo kolme tietokantaa, yksi kutakin Seafile Server -komponenttia varten: ccnet-palvelin , seafile-palvelin ja seahub yhdellä käyttäjä kaikille tietokannoille.

$ 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. Nyt on aika ladata ja asentaa Seafile Server . Siirry Seafile-viralliselle lataussivulle ja tartu palvelimen arkkitehtuurin viimeiseen .Tar Linux-arkistojulkaisuun wget -komennolla, pura se sitten aiemmin luotuun kotiisi Seafile-käyttäjäsi ja kirjoita Seafile purettu hakemisto.

$ 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. Asenna Seafile Server MySQL-tietokantaa käyttämällä suorittamalla setup-seafile-mysql.sh -alustusskripti ja vastaamalla kaikkiin kysymyksiin seuraavilla määritysvaihtoehdoilla sen jälkeen, kun komentosarja on varmistanut kaikkien vaadittujen Python-moduulien olemassaolon.

$ ./setup-seafile-mysql.sh

  1. Mikä on palvelimesi nimi? = valitse kuvaava nimi (välilyöntejä ei sallita).
  2. Mikä on palvelimen IP tai toimialue? = kirjoita palvelimesi IP-osoite tai kelvollinen verkkotunnuksesi .
  3. Mitä porttia haluat käyttää ccnet-palvelimelle? = paina [ Enter ] - jätä oletusarvoiseksi - 10001 .
  4. Mihin haluat laittaa meritiedostotiedot? = osuma [ Enter ] - oletussijainti on hakemistosi $HOME/seafile-data .
  5. Mitä porttia haluat käyttää seafile-palvelimelle? = paina [ Enter ] - jätä se oletukseksi - 12001 .

  1. Mitä porttia haluat käyttää meritiedostojen https-palvelimelle? = paina [ Enter ] - jätä oletusarvoiseksi - 8082 .
  2. Valitse tapa alustaa meritiedostotietokannat: = valitse 1 ja anna oletus MySQL-tunnistetiedot: localhost, 3306 ja pääkäyttäjän salasana.
  3. Kirjoita meritiedoston MySQL-käyttäjän nimi: = meritiedosto (jos olet luonut toisen käyttäjänimen, kirjoita se käyttäjänimi ) ja meritiedoston MySQL-käyttäjän salasana.
  4. ccnet-palvelimessa, meritiedostopalvelimessa ja seahub-tietokannoissa paina vain [ Enter ] -näppäintä - oletus.

Kun Seafile Server on asennettu onnistuneesti, se tuottaa hyödyllistä tietoa, kuten palomuurin porttien on oltava auki, jotta ulkoinen yhteys sallitaan ja mitä komentosarjoja käsitellään palvelimen käynnistämiseksi.

Vaihe 3: Avaa palomuuri ja luo Seafile-init-komentosarja

7. Ennen kuin aloitat Seafile-palvelimen testauksen paikallisesta komentosarjasta, vaihda takaisin root -tiliksi ja avaa iptables -palomuuritiedoston kokoonpano /etc/sysconfig/ järjestelmän polku ja lisää seuraavat rivisäännöt ennen ensimmäistä Hylkää -riviä ja käynnistä sitten iptables uudestaan uusien sääntöjen soveltamiseksi.

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

Liitä seuraavat säännöt.

-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

Käynnistä iptables uudelleen, jotta sääntöjä voi käyttää seuraavalla komennolla.

# service iptables restart

HUOMAUTUS: Jos muutit Seafile-vakioportteja asennuksen yhteydessä, päivitä palomuurin iptables-säännöt vastaavasti.

8. Nyt on aika testata Seafile Server. Vaihda Seafile-käyttäjän ja seafile-server -hakemistoon ja käynnistä palvelin käyttämällä komentoja seafile.sh ja seahub.sh .

Kun käynnistät seahub.sh -komentosarjan ensimmäisen kerran, luo Seafile Server -järjestelmänvalvojan tili sähköpostiosoitteellasi ja valitse vahva salasana järjestelmänvalvojan tilille, varsinkin jos otat tätä kokoonpanoa käyttöön tuotantoympäristössä.

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

9. Kun palvelin on käynnistetty onnistuneesti, avaa selain ja siirry palvelimen IP-osoitteeseen tai verkkotunnukseen portissa 8000 HTTP-protokollan avulla ja kirjaudu sisään yllä olevassa vaiheessa luotulla järjestelmänvalvojan tililläsi.

http://system_IP:8000

OR 

http://domain_name:8000

10. Pysäytä ensimmäisten määritystestien jälkeen Seafile-palvelin ja luo init -komentosarja, joka auttaa sinua hallitsemaan koko prosessia helpommin, kuten kaikkia muita Linux-järjestelmän demoniprosesseja.

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

Lisää seuraava sisältö tähän init -komentosarjaan - Jos Seafile on asennettu muulle järjestelmän käyttäjälle, muista päivittää käyttäjä ja polut vastaavasti su - $USER -c -riveille.

#!/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. Kun init -tiedosto on luotu, varmista, että sillä on suoritusoikeudet, ja hallitse prosessia start , stop ja restart kytkimet. Nyt voit lisätä Seafile-palvelun järjestelmän käynnistyksen yhteydessä käyttämällä chkconfig -komentoa.

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

12. Seafile-palvelin käyttää oletusarvoisesti 8000 / TCP HTTP-porttia verkkotapahtumiin. Jos haluat käyttää Seafile-palvelinta selaimella tavallisella HTTP-portilla, käytä seuraavaa init -komentosarjaa, joka käynnistää palvelimen portissa 80 (huomaa, että palvelun käynnistäminen alle b> 1024 vaatii root-oikeudet).

# nano /etc/init.d/seafile

Lisää seuraava sisältö tähän init -komentosarjaan aloittaaksesi Seafile-vakion HTTP-portissa. Jos Seafile on asennettu muulle järjestelmän käyttäjälle, muista päivittää käyttäjä ja polut vastaavasti riveille 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. Jos aloitit aiemmin Seafile-portin 8000 portissa, varmista, että kaikki prosessit on lopetettu, käynnistä palvelin portista 80.

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

Avaa selain ja ohjaa se seuraavaan osoitteeseen.

http://system_ip 

OR

http://domain_name.tld

14. Voit myös tarkistaa, mitkä portit Seafile on käynnissä, käyttämällä netstat -komentoa.

# netstat -tlpn

Se siitä! Seafile voi mielellään korvata muut pilviyhteistyö- ja tiedostosynkronointialustat, kuten julkiset Dropbox , Owncloud , Pydio , OneDrive jne. organisaatiossasi, ja se on suunniteltu parempaan tiimityöhön ja täydelliseen tallennustilan hallintaan edistyneellä käyttäjätietoturvalla.

Tulevassa artikkelissani käsittelen Seafile-asiakkaan asentamista Linux- ja Windows-järjestelmiin ja näytän myös yhteyden muodostamisen Seafile Server -palvelimeen. Pysy sitten Tecmintillä ja älä unohda antaa arvokkaita kommenttejasi.