GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit server Seafile s Nginx na Ubuntu 18.04

Seafile je bezplatná a open source cloudová platforma pro sdílení souborů, kterou lze použít k ukládání souborů a synchronizaci dat mezi více zařízeními. Seafile je samoobslužný a vysoce výkonný úložný systém, který vám umožňuje hostovat na vašich vlastních soukromých serverech. Seafile je zdarma k použití a je velmi podobný ostatním poskytovatelům úložiště, včetně OwnCloud, NextCloud, Google Drive a DropBox.

Se Seafile můžete přistupovat a synchronizovat své soubory, kontakty a data napříč PC a mobilními zařízeními.

Seafile přichází s bohatou sadou funkcí, včetně podpory šifrování klientů, podpory pro správu verzí, ověřování LDAP, dvoufaktorové ověřování, integrace antiviru, integrace webových aplikací Office, sdílení veřejných odkazů, spolehlivé synchronizace souborů, podpora klienta Drive a mnoho dalších .

V tomto tutoriálu vysvětlíme, jak nainstalovat a nakonfigurovat server Seafile s Nginx jako reverzní proxy na Ubuntu 18.04.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
  • Platný název domény odkazující na vaši IP adresu VPS. V tomto tutoriálu budeme používat seafile.example.com.

Poznámka :Pro správu DNS záznamů se můžete podívat na Atlantic DNS Guide.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace požadovaných závislostí

Nejprve budete muset nainstalovat všechny závislosti potřebné pro instalaci serveru Seafile. Všechny je můžete nainstalovat spuštěním následujícího příkazu:

apt-get install python2.7 libpython2.7 python-setuptools python-pil python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache python-requests unzip - wgety unzip 

Jakmile jsou všechny závislosti nainstalovány, můžete přejít k dalšímu kroku.

Krok 3 – Nainstalujte Nginx a MariaDB

Dále budete muset na svůj server nainstalovat webový server Nginx a databázový server MariaDB. Můžete je nainstalovat spuštěním následujícího příkazu:

apt-get install nginx mariadb-server mariadb-client -y

Po dokončení instalace spusťte službu Nginx a MariaDB a povolte její spuštění po restartu systému:

systemctl spustit nginxsystemctl spustit mariadbsystemctl povolit nginxsystemctl povolit mariadb

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Krok 4 – Vytvořte databázi pro Seafile

Seafile se skládá ze tří hlavních komponent:Seahub, Seafile server a CCnet server. Každá komponenta vyžaduje samostatnou databázi pro ukládání dat. Pro každou z těchto komponent budete muset vytvořit samostatnou databázi.

Chcete-li tak učinit, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Na výzvu zadejte heslo uživatele root a poté vytvořte požadované databáze pomocí následujících příkazů:

CREATE DATABASE znaková sada seafiledb ='utf8';CREATE DATABASE znaková sada ccnetdb ='utf8';CREATE DATABASE znaková sada seahubdb ='utf8';

Dále vytvořte uživatele databáze pomocí následujícího příkazu:

VYTVOŘTE UŽIVATELE 'seafileuser'@'localhost' IDENTIFIKOVANÉHO PODLE 'hesla';

Dále udělte všechna oprávnění uživateli databáze Seafile pomocí následujícího příkazu:

GRANT ALL ON seafiledb.* TO 'seafileuser'@'localhost' IDENTIFIKOVANÉ PODLE 'hesla' S MOŽNOSTÍ GRANT; GRANT ALL ON ccnetdb.* 'seafileuser'@'localhost' IDENTIFIKOVANÉ PODLE MOŽNOSTI 'heslo' S MOŽNOSTÍ GRANT VŠE NA seahubdb.* PRO 'seafileuser'@'localhost' IDENTIFIKOVANÉ PODLE 'hesla' S MOŽNOSTÍ GRANT;

Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:

FLUSH PRIVILEGES;EXIT;

V tomto okamžiku jste vytvořili všechny databáze potřebné k uložení dat Seafile.

Krok 5 – Instalace serveru Seafile

Dále si stáhněte nejnovější verzi Seafile z jejich oficiálních stránek pomocí příkazu wget:

wget https://download.seadrive.org/seafile-server_7.0.5_x86-64.tar.gz

Po stažení rozbalte stažený soubor pomocí následujícího příkazu:

tar -xvzf seafile-server_7.0.5_x86-64.tar.gz

Dále zkopírujte extrahovaný adresář do kořenového webového adresáře Nginx:

cp -r seafile-server-7.0.5 /var/www/html/seafile

Dále spusťte instalační skript Seafile pomocí následujícího příkazu:

cd /var/www/html/seafile./setup-seafile-mysql.sh

Během instalace budete vyzváni k zodpovězení několika otázek, jak je uvedeno níže:

Kontrola pythonu na tomto počítači... Kontrola modulu pythonu:python-mysqldb ... Hotovo.--------------------------- -------------------------------------- Tento skript vás provede nastavením serveru seafile pomocí MySQL .Ujistěte se, že jste si přečetli příručku k serveru seafile na adrese        https://github.com/haiwen/seafile/wikiPro pokračování stiskněte ENTER------------------------- -----------------------------------------Jaký je název serveru? Zobrazí se na klientovi.3 – 15 písmen nebo číslic[ název serveru ] seafileJaká je ip nebo doména serveru? Například:www.mojefirma.com, 192.168.1.101[ IP nebo doména tohoto serveru ] seafile.příklad .comKam chcete umístit svá data seafile?Použijte prosím svazek s dostatkem volného místa[ výchozí "/var/www/html/seafile-data" ]Který port chcete použít pro souborový server seafile?[ výchozí "8082 "]------------------------------------------------ -------Zvolte prosím způsob inicializace databází seafile:---------------------------------- ---------------------[1] Vytvořit nové databáze ccnet/seafile/seahub[2] Použít existující databáze ccnet/seafile/seahub[1 nebo 2] 2Co je hostitel mysql serveru?[ výchozí "localhost" ]Jaký je port mysql serveru?[ výchozí "3306" ]Kterého uživatele mysql použít pro seafile?[ uživatel mysql pro seafile ] seafileuserJaké je heslo pro uživatele mysql "seafileuser" ?[ heslo pro seafileuser ]ověřování hesla uživatele seafileuser ...  hotovoZadejte e xisting název databáze pro ccnet:[ ccnet databáze ] ccnetdbověřující uživatel "seafileuser" přístup k databázi ccnetdb ...  hotovoZadejte existující název databáze pro seafile:[ seafile database ] seafiledbverifying user "seafileuser" přístup k databázi seafiledb ...  hotovo Zadejte existující databázi název pro seahub:[ databáze seahub ] seahubdbverifikace přístupu uživatele "seafileuser" k databázi seahubdb ... hotovo----------------------------- ----Toto je vaše konfigurace--------------------------------    název serveru:            seafile    IP/doména serveru:Data SeaFile.example.com SeaFile Dir:/var/www/html/seaFile-data fileserver Port:8082 Databáze:Použijte existující databáze CCNET:CCNETDB SeaFile Database:SeaFiledB SeaHub Database:SeaHubdb Uživatel:SeaFileuser ------- -------------------------- Chcete-li pokračovat, stiskněte ENTER, nebo Ctrl-C pro přerušení-------------- --------------------

Po úspěšném dokončení instalace byste měli získat následující výstup:

----------------------------------------------- ------------------ Konfigurace vašeho seafile serveru byla úspěšně dokončena.----------------------- ------------------------------------------spusťte server seafile:     ./seafile. sh { start | zastavit | restartujte }spusťte seahub  server:     ./seahub.sh  { start  | zastavit | restartovat  }--------------------------------------------- --------------------Pokud jste za firewallem, nezapomeňte povolit vstup/výstup těchto tcp portů:------------ -------------------------------------------------- ---port souborového serveru seafile:   8082port seahub:               8000Pokud se vyskytnou problémy, informace naleznete na adrese        https://github.com/haiwen/seafile/wiki.

Dále udělte oprávnění Seafile pomocí následujícího příkazu:

chown -R www-data:www-data /var/www/html/

Dále budete muset přidat nastavení FILE_SERVER_ROOT do souboru seahub_settings.py:

nano /var/www/html/conf/seahub_settings.py

Přidejte nastavení FILE_SERVER_ROOT, jak je uvedeno níže:

SECRET_KEY ="x)0=j*l6b+4amq2n^&)c=q5p==exn13%s&6x!*48u4p0p97k)4"FILE_SERVER_ROOT ='http://seafile.example.com/seafhttp'DATABASES ={ 'default':{        'ENGINE':'django.db.backends.mysql',:        'NAME':'seahubdb',        'USER':'seafileuser',    .    : 'HESLO 7'   : 'Heslo 7'   .0.1',        'PORT':'3306'    }}

Po dokončení uložte a zavřete soubor.

Krok 6 – Vytvořte administrátora pro Seafile

Dále budete muset vytvořit administrátora a nastavit heslo pro Seafile. Chcete-li tak učinit, změňte adresář na seafile a spusťte službu seafile pomocí následujícího příkazu:

cd /var/www/html/seafilesu -p -l www-data -s /bin/bash -c "./seafile.sh start"

Dále spusťte službu seahub a vytvořte účet správce pomocí následujícího příkazu:

su -p -l www-data -s /bin/bash -c "./seahub.sh start"

Budete požádáni o zadání své e-mailové adresy a hesla správce, jak je uvedeno níže:

LC_ALL není nastaveno v ENV, nastaveno na en_US.UTF-8Spouštění seahub na portu 8000 ...-------------------------- --------------Je to poprvé, co spustíte server seafile. Nyní vytvoříme účet správce---------------------------------------------------------------------------- pro účet správce?[ e-mail správce ] [email protected]é je heslo pro účet správce?[ heslo správce ]Zadejte heslo znovu:[ heslo správce znovu ]-------------- --------------------------Úspěšně vytvořený správce mořského souboru-------------------- --------------------Seahub je spuštěn Hotovo.

Jakmile budete hotovi, zastavte služby seafile a seahub:

su -p -l www-data -s /bin/bash -c "./seafile.sh stop"su -p -l www-data -s /bin/bash -c "./seahub.sh stop" "
."

Krok 7 – Vytvořte soubor Systemd pro Seafile a Seahub

Dále budete muset vytvořit soubor systémové jednotky pro Seafile a Seahub pro správu služby.

Nejprve vytvořte soubor služby seafile pomocí následujícího příkazu:

nano /etc/systemd/system/seafile.service

Přidejte následující řádky:

[Unit]Description=SeafileAfter=mysql.serviceAfter=network.target[Service]User=www-dataGroup=www-dataType=forkingExecStart=/var/www/html/seafile-server-latest/seafile.sh startExecStop=/var/www/html/seafile-server-latest/seafile.sh stop[Install]WantedBy=multi-user.target

Uložte a zavřete soubor. Poté vytvořte soubor služby systemd pro Seahub pomocí následujícího příkazu:

nano /etc/systemd/system/seahub.service

Přidejte následující řádky:

[Unit]Description=SeafileAfter=mysql.serviceAfter=network.target[Service]User=www-dataGroup=www-dataType=forkingExecStart=/var/www/html/seafile-server-latest/seahub.sh startExecStop=/var/www/html/seafile-server-latest/seahub.sh stop[Install]WantedBy=multi-user.target

Uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále restartujte službu Seafile a Seahub a povolte jim spuštění po restartu systému pomocí následujícího příkazu:

systemctl spustit seafilesystemctl povolit seafilesystemctl spustit seahubsystemctl povolit seahub

Chcete-li ověřit službu Seafile, spusťte následující příkaz:

systemctl status seafile

Výstup:

● seafile.service – Seafile   Načteno:načteno (/etc/systemd/system/seafile.service; zakázáno; přednastaveno dodavatelem:povoleno)   Aktivní:aktivní (běží) od čt 2019-11-28 08:48:31 UTC; Před 8s Proces:15487 ExecStart=/var/www/html/seafile-server-latest/seafile.sh start (code=exited, status=0/SUCCESS)    Úkoly:16 (limit:1150)   CGroup:/system.slice/ seafile.service           ├─15522 /var/www/html/seafile/seafile/bin/seafile-controller -c /var/www/html/ccnet -d /var/www/html/seafile-data -F /var/www /html/c           ├─15524 ccnet-server -F /var/www/html/conf -c /var/www/html/ccnet -f /var/www/html/logs/ccnet.log -d -P /var /www/html/pids/ccnet.pid           └─15527 seaf-server -F /var/www/html/conf -c /var/www/html/ccnet -d /var/www/html/seafile-data -l /var/www/html/logs/seafile.log -PNov 28 08:48:28 ubuntu1804 systemd[1]:Spouštění Seafile...

Chcete-li ověřit službu Seahub, spusťte následující příkaz:

systemctl status seahub

Výstup:

● seahub.service – Seafile   Načteno:načteno (/etc/systemd/system/seahub.service; zakázáno; přednastaveno dodavatelem:povoleno)   Aktivní:aktivní (běží) od čt 2019-11-28 08:50:49 UTC; před 18s Proces:15547 ExecStart=/var/www/html/seafile-server-latest/seahub.sh start (code=exited, status=0/SUCCESS) Hlavní PID:15573 (python2.7)    Úkoly:6 (limit:1150)   CGroup:/system.slice/seahub.service           ├─15573 python2.7 /var/www/html/seafile/seahub/thirdpart/gunicorn seahub.wsgi:application -c /f/wwwgun/html. conf --prel           ├─15579 python2.7 /var/www/html/seafile/seahub/thirdpart/gunicorn seahub.wsgi:application -c /var/www/html/conf/gunicorn.conf --prel   0   15. 5.     .7 /var/www/html/seafile/seahub/thirdpart/gunicorn seahub.wsgi:application -c /var/www/html/conf/gunicorn.conf --prel            ├─15581 python2.7 /var/www/html /seafile/seahub/thirdpart/gunicorn seahub.wsgi:application -c /var/www/html/conf/gunicorn.conf --prel            ├─15582 python2.7 /var/www/html/seafile/part/seahub/third seahub.wsgi:application -c /var/www/html/conf/gunicorn.conf --prel            └─15583 python2.7 /var/www/html/seafile/seahub/thirdpart/gunicor n seahub.wsgi:application -c /var/www/html/conf/gunicorn.conf --prelNov 28 08:50:43 ubuntu1804 systemd[1]:Spouštění Seafile...

Krok 8 – Konfigurace reverzního proxy pomocí Nginx

Dále budete muset nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro Seafile k předávání požadavků klientů z portů 8000 a 8082 na port Nginx 80.

Chcete-li tak učinit, vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:

nano /etc/nginx/sites-available/seafile

Přidejte následující řádky:

server {    listen 80; poslouchej [::]:80; root /var/www/html/seafile; název_serveru  seafile.example.com; client_max_body_size 100M; autoindex vypnuto; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; umístění / {            proxy_pass         http://127.0.0.1:8000; proxy_set_header   Host $host; proxy_set_header   X-Real-IP $remote_addr; proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header   X-Forwarded-Host $server_name; proxy_read_timeout  1200s; }     umístění /seafhttp {            přepsat ^/seafhttp(.*)$ $1 přestávka; proxy_pass http://127.0.0.1:8082; proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout  36000s; proxy_read_timeout  36000s; proxy_send_timeout  36000s; send_timeout  36000s; }    location /media {            root /var/www/html/seafile-server-latest/seahub; }}

Po dokončení uložte a zavřete soubor. Poté povolte virtuálního hostitele Nginx pomocí následujícího příkazu:

ln -s /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/

Nakonec restartujte službu Nginx pomocí následujícího příkazu:

systemctl restart nginx

Krok 9 – Přístup k webovému rozhraní Seafile

Nyní otevřete webový prohlížeč a přejděte na adresu URL http://seafile.example.com. Měli byste vidět přihlašovací stránku Seafile:

Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Měli byste vidět výchozí řídicí panel Seafile:

Závěr

Ve výše uvedeném tutoriálu jsme se naučili, jak nainstalovat server Seafile s Nginx jako reverzní proxy na Ubuntu 18.04 VPS. Doufám, že nyní máte dostatek znalostí pro hostování vlastního serveru pro sdílení souborů pomocí Seafile. Začněte se Seafile ještě dnes na VPS od Atlantic.Net!


Linux
  1. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  2. Jak nastavit Nginx jako reverzní proxy na Ubuntu 20.04

  3. Jak nastavit více SSL na jedné IP s Nginx

  1. Jak nastavit bloky serveru Nginx na Ubuntu 18.04

  2. Jak nastavit server OpenVPN na Ubuntu 18.04

  3. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Nginx

  1. Jak nainstalovat Nginx na Ubuntu 20.04

  2. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  3. Jak nainstalovat Seafile s Nginx na Ubuntu 20.04 LTS