Vyhledávání na webu

Instalace Seafile (Secure Cloud Storage) s databází MySQL v RHEL/CentOS/SL 7.x/6.x


Seafile je pokročilá open source aplikace pro kolaborativní cloudové úložiště napsaná v Pythonu s podporou sdílení a synchronizace souborů, týmovou spoluprací a ochranou soukromí pomocí šifrování na straně klienta. Je sestaven jako multiplatformní synchronizace souborů s klienty, který běží na všech hlavních platformách (Linux, Raspberry Pi, Windows, Mac, iPhone a Android) a lze jej snadno integrovat s místními službami, jako je LDAP a WebDAV, nebo jej lze nasadit pomocí pokročilých síťové služby a databáze jako MySQL, SQLite, PostgreSQL, Memcached, Nginx nebo Apache Web Server.

Tento tutoriál vás provede krok za krokem instalací Seafile Server na RHEL/CentOS/Scientific Linux 7.x/6.x nasazený s databází MySQL, s inicializací spuštění > skripty pro spuštění serveru na výchozím portu Seafile (8000/TCP) a výchozím transakčním portu HTTP (80/TCP), vytvořte nezbytná pravidla brány firewall pro otevření požadovaných portů.

Požadavky

  1. Minimální instalace CentOS 6.5 se statickou IP adresou.
  2. databáze MySQL/MariaDB
  3. Python 2.6.5+ nebo 2.7
  4. Python-setuptools
  5. Python-simplejson
  6. Python-imaging
  7. Python-mysqldb

Tento instalační postup byl testován na systému CentOS 6.4 64-bit, ale lze jej použít i na jiných distribucích Linuxu se specifikací, že spouštěcí skripty iniciování se liší od jedné distribuce k druhé .

Krok 1: Nainstalujte moduly Python

1. Nejprve proveďte aktualizaci systému a poté nainstalujte všechny požadované moduly Pythonu pomocí následujících příkazů.

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

2. Pokud používáte server Debian nebo Ubuntu, nainstalujte všechny moduly Pythonu pomocí následujících příkazů.

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

Krok 2: Nainstalujte Seafile Server

3. Po instalaci všech modulů Pythonu vytvořte nového systémového uživatele se silným heslem, které bude použito pro hostování konfigurace serveru Seafile a všech dat v jeho domovském adresáři, a poté přepněte na nově vytvořený uživatelský účet.

adduser seafile
passwd seafile
su - seafile

4. Poté se přihlaste k databázi MySQL a vytvořte tři databáze, jednu pro každou komponentu Seafile Server: ccnet server, seafile server a seahub s jedním uživatelem pro všechny databáze.

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. Nyní je čas stáhnout a nainstalovat Seafile Server. Přejděte na oficiální stránku stahování Seafile a pomocí příkazu wget si vezměte poslední vydání linuxového archivu .Tar pro architekturu vašeho serveru, poté jej rozbalte do svého domovského uživatele Seafile vytvořeného dříve a zadejte Seafile extrahovaný adresář.

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. Chcete-li nainstalovat Seafile Server pomocí databáze MySQL, spusťte inicializační skript setup-seafile-mysql.sh a odpovězte na všechny otázky pomocí následujících možností konfigurace poté, co skript ověří existenci všechny Python požadované moduly.

./setup-seafile-mysql.sh
  1. Jaký je název vašeho serveru?=zvolte popisný název (bez mezer).
  2. Jaká je IP nebo doména serveru?=zadejte IP adresu vašeho serveru nebo platný název domény.
  3. Jaký port chcete použít pro ccnet server?=stiskněte [Enter] – ponechte výchozí – 10001.
  4. Kam chcete umístit data o námořních souborech?=stiskněte [Enter] – výchozí umístění bude váš adresář $HOME/seafile-data.
  5. Jaký port chcete použít pro server seafile?=stiskněte [Enter] – ponechte výchozí – 12001.

  1. Který port chcete použít pro seafile httpsserver?=stiskněte [Enter] – ponechte výchozí – 8082.
  2. Zvolte prosím způsob inicializace databází seafile:=zvolte 1 a zadejte výchozí přihlašovací údaje MySQL: localhost, 3306 a heslo root.
  3. Zadejte jméno uživatele MySQL pro seafile:=seafile (pokud jste vytvořili jiné uživatelské jméno, zadejte toto uživatelské jméno) a uživatelské heslo seafile MySQL.
  4. Na databázích ccnet-server, seafile-server a seahub stačí stisknout klávesu [Enter] – výchozí.

Poté, co se Seafile Server úspěšně nainstaluje, vygeneruje některé užitečné informace, například jaké porty je třeba otevřít na vaší bráně firewall, aby bylo možné externí připojení, a jaké skripty zpracovat, aby se server spustil.

Krok 3: Otevřete bránu firewall a vytvořte inicializační skript Seafile

7. Před spuštěním serveru Seafile z místního skriptu za účelem testu se přepněte zpět na účet root a otevřete soubor konfigurace brány firewall iptables umístěný na /etc/sysconfig/ systémovou cestu a přidejte následující řádková pravidla před první řádek REJECT, poté restartujte iptables, abyste použili nová pravidla.

su - root
nano /etc/sysconfig/iptables

Připojte následující pravidla.

-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

Chcete-li použít pravidla, restartujte iptables pomocí následujícího příkazu.

service iptables restart

POZNÁMKA: Pokud jste během procesu instalace změnili standardní porty Seafile, aktualizujte odpovídajícím způsobem pravidla iptables brány firewall.

8. Nyní je čas otestovat Seafile Server. Přepněte se do adresáře Seafile user a seafile-server a spusťte server pomocí skriptů seafile.sh a seahub.sh.

Při prvním spuštění skriptu seahub.sh vytvořte administrátorský účet pro Seafile Server pomocí své e-mailové adresy a zvolte silné heslo pro administrátorský účet, zvláště pokud tuto konfiguraci nasazujete v produkčním prostředí.

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

9. Po úspěšném spuštění serveru otevřete prohlížeč a přejděte na adresu IP serveru nebo název domény na portu 8000 pomocí protokolu HTTP a poté se přihlaste pomocí vytvořeného účtu správce ve výše uvedeném kroku.

http://system_IP:8000

OR 

http://domain_name:8000

10. Po prvních konfiguračních testech zastavte server Seafile a vytvořte inicializační skript, který vám pomůže snadněji spravovat celý proces, stejně jako jakýkoli jiný proces démona systému Linux.

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

Přidejte do tohoto skriptu init následující obsah – Pokud je Seafile nainstalován na jiném systémovém uživateli, nezapomeňte podle toho aktualizovat uživatele a cesty na řádcích 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. Po vytvoření inicializačního souboru se ujistěte, že má oprávnění ke spuštění, a spravujte proces pomocí start, stop a restartovat. Nyní můžete přidat službu Seafile při spouštění systému pomocí příkazu chkconfig.

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

12. Ve výchozím nastavení server Seafile používá pro webové transakce port HTTP 8000/TCP. Pokud chcete přistupovat k serveru Seafile z prohlížeče na standardním portu HTTP, použijte následující skript init, který spustí server na portu 80 (pamatujte, že spuštění služby na portech níže < b>1024 vyžaduje oprávnění uživatele root).

nano /etc/init.d/seafile

Přidejte následující obsah do tohoto init skriptu, abyste spustili Seafile na standardním HTTP portu. Pokud je Seafile nainstalován na jiném uživateli systému, ujistěte se, že aktualizujete uživatele a cesty odpovídajícím způsobem na řádcích su – $USER -c a $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. Pokud jste dříve spouštěli Seafile na portu 8000, ujistěte se, že jsou všechny procesy ukončeny, spusťte server na portu 80.

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

Otevřete prohlížeč a nasměrujte jej na následující adresu.

http://system_ip 

OR

http://domain_name.tld

14. Můžete také ověřit, na kterých portech Seafile běží pomocí příkazu netstat.

netstat -tlpn

A je to! Seafile může šťastně nahradit jiné cloudové platformy pro spolupráci a synchronizaci souborů, jako jsou veřejné Dropbox, Owncloud, Pydio, OneDrive atd. ve vaší organizaci, je navržen pro lepší týmovou práci a plnou kontrolu nad vaším úložištěm s pokročilým zabezpečením v uživatelském prostoru.

V mém nadcházejícím článku se budu zabývat tím, jak nainstalovat klienta Seafile na systémy Linux a Windows, a také vám ukážu, jak se připojit k serveru Seafile. Do té doby zůstaňte naladěni na Tecmint a nezapomeňte dát své cenné komentáře.