Seafile je open source systém pro hostování souborů a cloudové úložiště s pokročilými funkcemi, jako je synchronizace z více platforem (systém napříč platformami), ochrana soukromí pomocí vestavěného šifrování souborů a podpora dvoufaktorové autentizace (TFA), kontrola verzí, zamykání souborů, úpravy online a mnoho dalších. Seafile je napsán v programovacím jazyce C a Python a poskytuje podobné funkce jako Dropbox, mega.co.nz a další.
V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat a nakonfigurovat server Seafile s webovým serverem Nginx a databází MariaDB. Nainstalujeme server seafile pod webový server Nginx s povoleným HTTPS SSL Letsencrypt pomocí nejnovější MariaDB na systému Ubuntu 20.04.
Předpoklady
- Ubuntu 20.04
- Oprávnění uživatele root
Co uděláme?
- Nainstalujte závislosti Seafile Python
- Nainstalujte a nakonfigurujte MariaDB
- Stáhněte si Seafile Server pro Linux Server
- Nainstalujte Seafile Server s MariaDB
- Nakonfigurujte Seafile s názvem domény
- Spuštění Seafile jako systémové služby
- Vygenerujte SSL Letsencrypt a DHPARAM
- Nainstalujte a nakonfigurujte Nginx jako reverzní proxy
- Nastavení brány firewall
- Testování
Krok 1 – Instalace závislostí Seafile Python
Prvním krokem, který musíme udělat před instalací seafile serveru do systému, je instalace jeho závislostí. Seafile je aplikace založená na pythonu a ke spuštění na serveru vyžaduje python 3.x.
Před instalací jakýchkoli balíčků musíme aktualizovat úložiště Ubuntu.
aktualizace sudo apt
Nyní nainstalujte python 3.x se všemi závislostmi potřebnými pro instalaci seafile serveru pomocí příkazů apt níže.
sudo apt install python3 libpython3.8 python3-setuptools python3-pil python3-ldap python3-urllib3 ffmpeg python3-pip python3-mysqldb python3-memcache python3-memcache python3-memcache python3-ldapPoté nainstalujte další balíčky pythonu z úložiště PyPI pomocí příkazu pip níže.
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha python3-ldapV důsledku toho byly nainstalovány všechny závislosti balíčků pro Seafile.
Krok 2 – Instalace a konfigurace MariaDB
Seafile nabízí podporu pro SQLite a databázový server MariaDB. Pro tuto příručku použijeme pro naši instalaci databázový server MariaDB. Nasadíme server seafile pomocí nejnovější verze MariaDB.
Nainstalujte server MariaDB pomocí příkazu apt níže.
sudo apt install mariadb-server -yPo dokončení instalace spusťte službu MariaDB a povolte její spuštění při každém spuštění systému.
systemctl spustit mariadb
systemctl povolit mariadbServer MariaDB je nainstalován v systému Ubuntu, zkontrolujte jej pomocí následujícího příkazu.
systemctl status mariadbSlužba MariaDB je v provozu.
Dále musíme nakonfigurovat root heslo MariaDB pomocí příkazu 'mysql_secure_installation'.
mysql_secure_installationNyní budete dotázáni na konfiguraci MariaDB a zadejte své silné heslo root pro MariaDB.
Zadejte aktuální heslo pro root (zadejte pro žádné):Stiskněte Enter
Nastavit heslo root? [A/n] A
Odebrat anonymní uživatele? [A/n] A
Zakázat vzdálené přihlášení root? [A/N] A
Odebrat testovací databázi a získat k ní přístup? [A/n] A
Načíst znovu tabulky oprávnění? [A/n] ADále vytvoříme novou databázi pro server Seafile. Vytvoříme 3 databáze pro každou komponentu seafile a vytvoříme nového uživatele databáze. Vytvoříme nového uživatele s názvem 'seafile' a bude mít všechna oprávnění ke všem 3 databázím 'ccnet-db', 'seafile-db' a 'seahub-db'.
Přihlaste se do prostředí MySQL pomocí příkazu níže.
mysql -u root -pNyní vytvořte nové databáze 'ccnet-db', 'seafile-db', 'seahub-db' a vytvořte nového uživatele 'seafile'. Poté udělte všechna 3 databázová oprávnění uživateli 'seafile'.
Níže spusťte dotazy MySQL.
vytvořit databázi `ccnet-db` znaková sada ='utf8';
vytvořit databázi `seafile-db` znaková sada ='utf8';
vytvořit databázi `seahub-db` znaková sada =' utf8';
vytvořte uživatele 'seafile'@'localhost' identifikovaného pomocí '[email protected]';
UDĚLEJTE VŠECHNA PRIVILEGIA NA `ccnet-db`.* na ` seafile`@localhost;
UDĚLEJTE VŠECHNA PRIVILEGIA NA `seafile-db`.* `seafile`@localhost;
UDĚLEJTE VŠECHNA PRIVILEGIE NA `seahub-db`.* `seafile`@localhost;
Server MariaDB byl nainstalován, heslo uživatele root bylo nastaveno a databáze pro instalaci seafile byla vytvořena.
Krok 3 – Stáhnout Seafile Server pro Linux Server
V tomto tutoriálu poběží seafile server jako služba na systému systemd a bude běžet pod uživatelem bez oprávnění root.
Vytvořte nového uživatele s názvem 'ryujin'.
useradd -m -s /bin/bash ryujinNyní se přihlaste jako uživatel 'ryujin' a stáhněte si nejnovější verzi serveru seafile pomocí wget.
su - ryujin
wget -q https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_7.1.3_x86-64.tar.gzRozbalte soubor 'seafile-server.tar.gz' a přejmenujte hlavní adresář na 'seafile-server'.
tar -xf seafile-server_7.1.3_x86-64.tar.gz
mv seafile-server-*/ seafile-server/Zdrojový kód serveru seafile byl stažen do adresáře '/home/ryujin/seafile-server'.
Krok 4 – Instalace serveru Seafile s MariaDB
V tomto kroku nainstalujeme server seafile pomocí instalačního skriptu MariaDB poskytnutého společností Seafile.
Přihlaste se jako uživatel 'ryujin' a přejděte do adresáře 'seafile-server'.
su - ryujin
cd seafile-server/Nyní spusťte skript 'setup-seafile-mysql.sh'.
./setup-seafile-mysql.shInstalační skript provede kontrolu modulu python. Ujistěte se, že jsou nainstalovány všechny závislosti a poté stiskněte Enter.
Nyní budete v konfiguraci Seafile.
- název serveru:zadejte název serveru seafile, např. „hakase-cloud“.
- název domény serveru:zadejte název domény vašeho mořského serveru „cloud.hakase-labs.io“.
- Datový adresář seafile:ponechte výchozí konfiguraci a stiskněte enter.
- port souborového serveru seafile:ponechte jej na výchozím portu '8082'.
Nyní ke konfiguraci databáze. Budete požádáni o 2 možnosti:nechat skript vytvořit databázi za vás, nebo použít existující databázi.
Chcete-li použít existující nastavení databáze, vyberte možnost '2'.
- hostitel databáze:výchozí localhost
- port databáze:výchozí na normálním portu mysql '3306'
- uživatel databáze je „seafile“ s heslem „[email protected]“
- databáze ccnet:'ccnet-db'
- databáze seafile:'seafile-db'
- databáze seahub:'seahub-db'
Nyní znovu stiskněte enter pro potvrzení naší konfigurace mořského serveru.
A po dokončení instalace získáte výsledek, jak je znázorněno níže.
Instalace a konfigurace seafile serveru byla úspěšně dokončena. A souborový server seafile poběží pod portem '8082', služba seahub bude spuštěna pod portem '8000'.
Dále otestujeme spuštění serveru seafile a serveru seahub pomocí startovacího skriptu.
Jako uživatel 'ryujin' přejděte do adresáře '~/seafile-server-latest'.
su - ryujin
cd ~/seafile-server-latest/
Nyní spusťte server seafile spuštěním příkazu níže.
./seafile.sh start
Poté spusťte server seahub.
./seahub.sh start
Při prvním spuštění spouštěcího skriptu 'seahub.sh' budete požádáni o vytvoření administrátorského uživatele a hesla pro seafile server.
Zadejte svůj e-mail a heslo správce a stiskněte klávesu Enter.
A uživatel a heslo správce byly vytvořeny - nyní zkontrolujte porty služeb seafile a seahub '8082' a '8080' pomocí příkazu netstat.
ss -plnt4
A uvidíte, že server seafile a server seahub běží na systému Ubuntu 20.04.
Nyní zastavte server seafile a seahub.
./seafile.sh stop
./seahub.sh stop
Krok 5 – Konfigurace Seafile s názvem domény
V tomto tutoriálu spustíme Seafile s názvem naší domény 'seafile.hakase-labs.io'. K tomu potřebujeme upravit některé konfigurace Seafile.
Přihlaste se k uživateli 'ryujin' a přejděte do adresáře 'conf'.
su - ryujin
cd conf/
Upravte konfiguraci 'ccnet.conf' pomocí editoru vim.
vim ccnet.conf
u možnosti 'SERVICE_URL' změňte hodnotu s názvem domény a nezapomeňte změnit výchozí protokol HTTP na zabezpečený protokol HTTPS, jak je uvedeno níže.
SERVICE_URL =https://seafile.hakase-labs.io
Uložit a zavřít.
Dále upravte konfiguraci 'seafile.conf'.
vim seafile.conf
V sekci '[fileserver]' zadejte IP adresu 'hostitele' pro službu seafile. Služba seafile bude spuštěna na místní adrese, jak je uvedeno níže.
[fileserver]
hostitel =127.0.0.1
port =8082
Uložit a zavřít.
Dále upravte 'seahub_settings.py' pomocí editoru vim.
vim seahub_settings.py
Přidejte možnost 'FILE_SERVER_ROOT', jak je uvedeno níže, na konec řádku.
FILE_SERVER_ROOT ='https://seafile.hakase-labs.io/seafhttp'
Uložit a zavřít.
A konfigurace Seafile byla dokončena, bude běžet pod názvem domény 'seafile.hakase-labs.io'.
Krok 6 – Spuštění Seafile jako systémové služby
Po konfiguraci Seafile s názvem domény nastavíme seafile a seahub jako službu systemd.
Přejděte do adresáře '/etc/systemd/system' a vytvořte nový soubor služby pro seafile s názvem 'seafile.service'.
cd /etc/systemd/system/
vim seafile.service
Vložte do něj následující konfiguraci.
[Jednotka]
Description=Seafile
After=network.target mysql.service nginx.service
[Služba]
Typ=forking
ExecStart=/home/ryujin/seafile-server-latest/seafile.sh start
ExecStop=/home/ryujin/seafile-server-latest/seafile.sh stop
User=ryujin
Skupina =ryujin
[Instalovat]
WantedBy=multi-user.target
Uložit a zavřít.
Dále vytvořte soubor služby seahub s názvem 'seahub.service'.
vim seahub.service
Vložte do něj následující konfiguraci.
[Unit]
Description=Seafile hub
After=network.target seafile.service
[Service]
Typ=forking
ExecStart=/home/ryujin/seafile-server-latest/seahub.sh start
ExecStop=/home/ryujin/seafile-server-latest/seahub.sh stop
User=ryujin
Group=ryujin
[Install]
WantedBy=multi-user.target
Uložit a zavřít.
A soubory služeb seafile a seahub byly vytvořeny.
Dále znovu načtěte správce systemd a ujistěte se, že nedošlo k chybě.
systemctl daemon-reload
Nyní spusťte službu seafile a přidejte ji do spouštění systému.
systemctl spustit seafile
systemctl povolit seafile
Poté spusťte a povolte službu seahub.
systemctl spustit seahub
systemctl povolit seahub
Služba seafile a seahub jsou v provozu, zkontrolujte to pomocí následujícího příkazu.
stav systemctl seafile seahub
Níže je výsledek, který dostanete.
V důsledku toho byla konfigurace Seafile a Seahub jako systémové služby dokončena.
Krok 7 – Vygenerování SSL Letsencrypt a DHPARAM
V tomto kroku vygenerujeme certifikát SSL Letsencrypt a DHPARAM. Pro vygenerování SSL Letsencrypt použijeme nástroj certbot a pomocí příkazu openssl vygenerujeme certifikát dhparam.
Chcete-li vygenerovat SSL Letsencrypt, ujistěte se, že máte skutečný název domény a ukazujete na IP adresu vašeho serveru.
Nainstalujte nástroj certbot do systému Ubuntu pomocí příkazu apt níže.
sudo apt install certbot
Poté vygenerujte SSL Letsencrypt pro název domény seafile 'seafile.hakase-labs.io' pomocí příkazu certbot, jak je uvedeno níže.
certbot certonly --agree-tos --no-eff-email --email [email protected] -d seafile.hakase-labs.io
Jakmile bude celý proces dokončen, váš certifikát bude dostupný v adresáři '/etc/letsencrypt/live/seafile.hakase-labs.io'.
Dále vygenerujte certifikát DHPARAM pomocí příkazu openssl, jak je uvedeno níže.
openssl dhparam -out /etc/nginx/dhparam.pem 2048
Certifikát DHAPRAM bude vygenerován a dostupný na '/etc/nginx/dhparam.pem'.
V důsledku toho byl vygenerován SSL Letsencrypt pro název domény Seafile a certifikát DHPARAM.
Krok 8 – Instalace a konfigurace Nginx jako reverzního proxy
V tomto kroku nainstalujeme a nakonfigurujeme Nginx jako reverzní proxy pro službu Seafile. Webový server Nginx poběží pod zabezpečeným protokolem HTTPS s vygenerovaným certifikátem SSL Letsencrypt a DHPARAM.
Nainstalujte Nginx na server Ubuntu 20.04 pomocí příkazu apt níže.
sudo apt install nginx -y
Po dokončení instalace spusťte službu Nginx a přidejte ji do spouštění systému.
systemctl spustit nginx
systemctl povolit nginx
A služba Nginx je spuštěna a běží na systému Ubuntu.
Dále přejděte do adresáře '/etc/nginx/sites-available' a vytvořte novou konfiguraci virtuálního hostitele 'seafile' pomocí editoru vim.
cd /etc/nginx/sites-available/
vim seafile
Vložte do něj následující konfiguraci.
server {
listen 80;
název_serveru seafile.hakase-labs.io;
přepsat ^ https://$http_host$request_uri? permanent;
server_tokens off;
}
server {
listen 443 ssl http2;
název_serveru seafile.hakase-labs.io;
ssl_certificate_key /etc/letsencrypt/live/seafile.hakase-labs.io/priv5 /session stime;
ssl_session_cache shared:SSL:5m;
ssl_dhparam /etc/nginx/dhparam.pem;
#SSL Security
T sl 1. v1 pro TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHA20-POLY1305:ECDHE-3RSA05:ECDHE-3RSA005:ECDHE-3RSA00 AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA-256-AES128-SHA-256-ECA'8 br /> ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers on;
server_tokens off;
ssl_session_tickets off;
proxy_set_header X-Forwarded-For $remote_addr;
umístění / {
proxy_pass http://127.0.0. proxy_set_header hostitel $ host;
proxy_set_header xreal-ip $ remote_addr;
proxy_set_header x-forward-for $ proxy_add_x_forwardod_for;
proxy_set_header x-forward-host_name;
;
# používá se k zobrazení/úpravě kancelářského souboru prostřednictvím serveru Office Online Server
client_max_body_size 0;
. access_log /var/hub/ngincess log/sea
error_log /var/log/nginx/seahub.error.log;
}
umístění /seafdav {
proxy_pass 8 7.0 20. http:// 80. seafdav;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_he ader X-Forwarded-for $ proxy_add_x_forwarded_for;
proxy_set_header x-forward-host $ server_name;
proxy_set_header x-forward-proto $ schéma;
proxy_read_timeout 1200s;
client_max_body_size 0; <
proxy_read_timeout 1200s;
client_max_body_size 0;
br />
access_log /var/log/nginx/seafdav.access.log;
error_log /var/log/nginx/seafdav.error.log;
}
umístění /seafhttp {
přepsat ^/seafhttp(.*)$ $ 1 přestávka;
proxy_pass http://127.0.0.1:8082;
_ klientská hlava __ _ -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 /home/ryujin/seafile-server-latest/seahub;
}
}Uložit a zavřít.
Dále aktivujte konfiguraci virtuálního hostitele pro seafile a otestujte konfiguraci Nginx.
ln -s /etc/nginx/sites-available/seafile /etc/nginx/sites-enabled/
nginx -tUjistěte se, že nedošlo k žádné chybě, a poté restartujte službu Nginx.
systemctl restart nginxV důsledku toho byla instalace a konfigurace Nginx jako reverzní proxy pro Seafile úspěšně dokončena.
Krok 9 – Nastavení brány firewall
V tomto tutoriálu spustíme Seafile s povoleným firewallem UFW. A do konfigurace firewallu UFW musíme přidat služby SSH, HTTP a HTTPS.
Přidejte služby SSH, HTTP a HTTPS do brány firewall UFW pomocí následujícího příkazu.
pro svc v ssh http https
do
ufw povolit $svc
hotovoNyní aktivujte UFW firewall a zkontrolujte stav konfigurace.
ufw enable
číslovaný stav ufwA dostanete výsledek, jak je uvedeno níže.
Firewall UFW je povolen a byly přidány služby SSH, HTTP a HTTPS.
Nyní jsme připraveni použít Seafile.
Krok 10 – Testování
Otevřete webový prohlížeč a do adresního řádku zadejte název instalační domény Seafile.
https://seafile.hakase-labs.io/
Nyní budete přesměrováni na zabezpečené připojení HTTPS a získáte přihlašovací stránku Seafile, jak je uvedeno níže.
Zadejte uživatelské heslo seafile, které jste právě vytvořili, a klikněte na tlačítko 'Přihlásit se'.
Nyní získáte řídicí panel Seafile, jak je uvedeno níže.
Níže je výsledek po vytvoření nové složky a nahrání souboru na server Seafile.
V důsledku toho byla instalace a konfigurace Seafile s webovým serverem Nginx a databází MariaDB na Ubuntu 20.04 úspěšně dokončena.
Jak nainstalovat Magento 2 s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS Jak nainstalovat monitorovací software Icinga 2 na Ubuntu 20.04 LTSUbuntu