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
- Minimální instalace CentOS 6.5 se statickou IP adresou.
- databáze MySQL/MariaDB
- Python 2.6.5+ nebo 2.7
- Python-setuptools
- Python-simplejson
- Python-imaging
- 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
- Jaký je název vašeho serveru?=zvolte popisný název (bez mezer).
- Jaká je IP nebo doména serveru?=zadejte IP adresu vašeho serveru nebo platný název domény.
- Jaký port chcete použít pro ccnet server?=stiskněte [Enter] – ponechte výchozí – 10001.
- 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.
- Jaký port chcete použít pro server seafile?=stiskněte [Enter] – ponechte výchozí – 12001.
- Který port chcete použít pro seafile httpsserver?=stiskněte [Enter] – ponechte výchozí – 8082.
- 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.
- 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.
- 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.