Tento tutoriál vám ukáže, jak nainstalovat NextCloud na Ubuntu 20.04 LTS s webovým serverem Nginx.
Co je NextCloud?
NextCloud je bezplatné řešení cloudového úložiště s vlastním hostitelem s otevřeným zdrojovým kódem. Funkčně je podobný Dropboxu. Proprietární řešení cloudového úložiště (Dropbox, Disk Google atd.) jsou pohodlná, ale za cenu:lze je použít ke shromažďování osobních údajů, protože vaše soubory jsou uloženy v jejich počítačích. Pokud se obáváte o soukromí, můžete přejít na NextCloud, který si můžete nainstalovat na svůj soukromý domácí server nebo na virtuální privátní server (VPS). Své soubory můžete nahrát na svůj server přes NextCloud a poté je synchronizovat se svým stolním počítačem, notebookem nebo chytrým telefonem. Tímto způsobem máte plnou kontrolu nad svými daty.
Funkce NextCloud
- Zdarma a open source
- End-to-end šifrování, což znamená, že soubory mohou být zašifrovány na klientských zařízeních před nahráním na server, takže i když někdo ukradne váš server, nemůže vaše soubory číst.
- Lze integrovat s online kancelářským balíkem (Collobora Online, OnlyOffice), takže můžete vytvářet a upravovat soubory doc, ppt, xls přímo z NextCloud.
- Obchod s aplikacemi obsahuje stovky aplikací pro rozšíření funkcí (jako je aplikace kalendáře, aplikace kontaktů, aplikace na psaní poznámek, aplikace pro videokonference atd.).
- Synchronizační klient je k dispozici v systémech Linux, macOS, Windows, iOS a Android.
Předpoklady
NextCloud je napsán v programovacím jazyce PHP. Abyste mohli postupovat podle tohoto návodu, musíte nejprve nainstalovat zásobník LEMP na Ubuntu 20.04 . Pokud jste tak ještě neučinili, podívejte se prosím na následující návod.
- Jak nainstalovat LEMP Stack (Nginx, MariaDB, PHP7.4-FPM) na Ubuntu 20.04
NextCloud si můžete nainstalovat na svůj domovský server nebo VPS (virtuální soukromý server). Potřebujete také název domény, takže později budete moci povolit HTTPS pro šifrování HTTP provozu. Zaregistroval jsem své doménové jméno od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma. Nextcloud lze nainstalovat bez názvu domény, ale opravdu to nedává smysl, pokud připojení HTTP nezašifrujete, abyste zabránili snoopingu. Doporučuji zakoupit doménové jméno, pokud si opravdu chcete pohrát se serverovým softwarem a využít jej na maximum.
Nyní nainstalujme NextCloud.
Krok 1:Stáhněte si NextCloud na Ubuntu 20.04
Přihlaste se na svůj server Ubuntu 20.04. Poté si stáhněte archiv ZIP NextCloud na svůj server. Poslední stabilní verze je v době psaní tohoto článku 21.0.1. Možná budete muset změnit číslo verze. Přejděte na https://nextcloud.com/install a klikněte na download for server
zobrazíte nejnovější verzi.
Můžete spustit následující příkaz a stáhnout jej na váš server.
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip
Ke stažení NextCloud můžete vždy použít výše uvedený formát adresy URL. Pokud vyjde nová verze, jednoduše nahraďte 21.0.1
s novým číslem verze.
Po stažení rozbalte archiv pomocí unzip
.
sudo apt install unzipsudo unzip nextcloud-21.0.1.zip -d /usr/share/nginx/
-d
volba určuje cílový adresář. Webové soubory NextCloud budou extrahovány do /usr/share/nginx/nextcloud/
. Potom musíme změnit vlastníka tohoto adresáře na www-data
aby webový server (Nginx) mohl zapisovat do tohoto adresáře.
sudo chown www-data:www-data /usr/share/nginx/nextcloud/ -R
Krok 2:Vytvoření databáze a uživatele pro Nextcloud na databázovém serveru MariaDB
Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu. Protože MariaDB nyní používá unix_socket
plugin pro ověření přihlášení uživatele, není nutné zadávat root heslo MariaDB. Potřebujeme pouze předponu mysql
příkaz pomocí sudo
.
sudo mysql
Poté vytvořte databázi pro Nextcloud. Tento kurz pojmenuje databázi nextcloud. Můžete použít jakékoli jméno.
vytvořit databázi nextcloud;
Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your-password
s vaším preferovaným heslem.
vytvořit uživatele nextclouduser@localhost identifikovaného pomocí 'vašeho-hesla';
Udělte tomuto uživateli všechna oprávnění na nextcloud
databáze.
udělte všechna oprávnění na nextcloud.* na nextclouduser@localhost identifikovaného pomocí 'vašeho-hesla';
Vyprázdněte oprávnění a ukončete.
vyprázdnit oprávnění;exit;
Krok 3:Vytvořte soubor Nginx Config pro Nextcloud
Vytvořte nextcloud.conf
soubor v /etc/nginx/conf.d/
adresář s textovým editorem příkazového řádku, jako je Nano.
sudo nano /etc/nginx/conf.d/nextcloud.conf
Zkopírujte a vložte následující text do souboru. Nahraďte nextcloud.example.com
s vaší preferovanou subdoménou. Nezapomeňte vytvořit záznam DNS A pro tuto subdoménu v editoru zóny DNS. Pokud nemáte skutečný název domény, doporučuji přejít na NameCheap a koupit si ho. Cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.
server { poslouchat 80; poslouchej [::]:80; název_serveru nextcloud.example.com; # Přidat záhlaví pro poskytování záhlaví souvisejících se zabezpečením add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; režim=blok"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Referrer-Policy no-referrer; #Zjistil jsem, že tato hlavička je potřeba na Ubuntu, ale ne na Arch Linuxu. add_header X-Frame-Options "SAMEORIGIN"; # Cesta ke kořenovému adresáři vaší instalace /usr/share/nginx/nextcloud/; access_log /var/log/nginx/nextcloud.access; error_log /var/log/nginx/nextcloud.error; umístění =/robots.txt { povolit vše; log_not_found off; access_log off; } # Následující 2 pravidla jsou potřeba pouze pro aplikaci user_webfinger. # Pokud tuto aplikaci plánujete používat, odkomentujte ji. #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json # last; location =/.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location =/.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } umístění ~ /.well-known/acme-challenge { allow all; } # nastavit maximální velikost uploadu client_max_body_size 512M; fastcgi_buffers 64 4K; # Zakažte gzip, abyste se vyhnuli odstranění hlavičky ETag gzip; # Odkomentujte, pokud je váš server sestaven s modulem ngx_pagespeed # Tento modul aktuálně není podporován. #pagespeed vypnuto; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; umístění / { přepsat ^ /index.php; } umístění ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } umístění ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { odepřít vše; } umístění ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34 ])\.php(?:$|/) { include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; try_files $fastcgi_script_name =404; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; #Vyhněte se odesílání bezpečnostních hlaviček dvakrát fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_intercept_errors on; fastcgi_request_buffering off; } umístění ~ ^/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } # Přidání hlavičky řízení mezipaměti pro soubory js a css # Ujistěte se, že je POD umístěním bloku PHP ~* \.(?:css|js)$ { try_files $uri /index.php$uri$is_args$args; add_header Cache-Control "public, max-age=7200"; # Přidat hlavičky pro poskytování hlaviček souvisejících se zabezpečením (je určeno k tomu, # aby byly duplikovány s těmi výše uvedenými) add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; režim=blok"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Referrer-Policy no-referrer; # Volitelné:Neprohlašovat přístup k aktivům access_log off; } umístění ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ { try_files $uri /index.php$uri$is_args$args; # Volitelné:Neodhlašovat přístup k dalším aktivům access_log off; }}
Uložte a zavřete soubor. (Chcete-li uložit soubor v textovém editoru Nano, stiskněte Ctrl+O
a poté stiskněte Enter
potvrdit. Pro ukončení stiskněte Ctrl+X
.)
Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.
sudo systemctl reload nginx
Krok 4:Instalace a povolení modulů PHP
Spuštěním následujících příkazů nainstalujte moduly PHP požadované nebo doporučené NextCloud.
sudo apt install imagemagick php-imagick php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp
Krok 5:Povolte HTTPS
Nyní máte přístup k průvodci webovou instalací Nextcloud ve vašem webovém prohlížeči zadáním názvu domény pro vaši instalaci Nextcloud.
nextcloud.example.com
Pokud se webová stránka nemůže načíst, pravděpodobně budete muset otevřít port 80 ve bráně firewall.
sudo iptables -I INPUT -p tcp --dport 80 -j PŘIJÍMAT
A také port 443.
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Před zadáním jakýchkoli citlivých informací bychom měli povolit zabezpečené připojení HTTPS na Nextcloud. Můžeme získat bezplatný certifikát TLS od společnosti Let’s Encrypt. Nainstalujte klienta Let’s Encrypt (certbot) z úložiště Ubuntu 20.04.
sudo apt install certbot python3-certbot-nginx
Python3-certbot-nginx
je plugin Nginx. Dále spusťte následující příkaz a získejte bezplatný certifikát TLS pomocí pluginu Nginx.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [e-mail chráněný] -d nextcloud.example.com
Kde:
- –nginx :Použijte ověřovací a instalační program Nginx
- –souhlasím :Souhlasíte s podmínkami služby Let’s Encrypt
- –přesměrování :Vynutit HTTPS přidáním přesměrování 301.
- –hsts :Povolit HTTP Strict Transport Security. To chrání před útokem na odstranění SSL/TLS.
- –staple-ocsp :Povolit sešívání OCSP.
- –e-mail :E-mail používaný pro registraci a kontakt pro obnovení.
- -d za příznakem následuje seznam názvů domén oddělených čárkou. Můžete přidat až 100 názvů domén.
Budete dotázáni, zda chcete dostávat e-maily od EFF (Electronic Frontier Foundation). Po výběru Y nebo N bude váš certifikát TLS automaticky získán a nakonfigurován, což je indikováno níže uvedenou zprávou.
Zjistil jsem, že Certbot nemusí být schopen přidat hlavičku HSTS do konfiguračního souboru Nginx pro Nextcloud. Pokud chcete povolit HSTS (HTTP Strict Transport Security), upravte soubor.
sudo nano /etc/nginx/conf.d/nextcloud.conf
Poté můžeme přidat následující řádek do bloku serveru SSL, abychom povolili hlavičku HSTS. (Pokud tam již je, pak je vaše konfigurace v pořádku.)
add_header Strict-Transport-Security "max-age=31536000" vždy;
Také můžete povolit protokol HTTP2 přidáním možnosti http2
, což urychlí načítání webové stránky.
poslouchejte 443 ssl http2; # spravováno Certbot
Jako níže.
Uložte a zavřete soubor. Poté odešlete textovou zprávu Konfigurace Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se změna projevila.
sudo systemctl reload nginx
Výše uvedená konfigurace získá v testu SSL skóre A+.
Krok 6:Dokončete instalaci ve webovém prohlížeči
Nyní máte přístup k průvodci webovou instalací Nextcloud pomocí připojení HTTPS.
https://nextcloud.example.com
Chcete-li dokončit instalaci, musíte si vytvořit účet správce, zadat cestu k datové složce Nextcloud, zadat podrobnosti o databázi, které jste vytvořili v kroku 2. Můžete použít výchozí localhost
jako adresu hostitele, nebo můžete zadat localhost:3306
, protože MariaDB naslouchá na portu 3306.
Složka dat je místo, kde jsou uloženy soubory uživatelů. Z důvodu zabezpečení je nejlepší umístit datový adresář mimo adresář webroot Nextcloud. Takže místo ukládání souborů uživatelů pod /usr/share/nginx/nextcloud/data/
, můžeme jej změnit na /usr/share/nginx/nextcloud-data . který lze vytvořit pomocí následujícího příkazu:
sudo mkdir /usr/share/nginx/nextcloud-data
Poté se ujistěte, že uživatel Nginx (www-data
) má oprávnění k zápisu do datového adresáře.
sudo chown www-data:www-data /usr/share/nginx/nextcloud-data -R
Klikněte na Finish Setup
, zobrazí se webové rozhraní Nextcloud. Gratuluji! Můžete jej začít používat jako své soukromé cloudové úložiště.
Jak nastavit e-mailové upozornění NextCloud
Pokud bude vaši instanci NextCloud používat více než jedna osoba, je důležité, aby váš server NextCloud mohl odesílat transakční e-maily, jako je e-mail pro resetování hesla. Nejprve byste měli nastavit e-mailovou adresu pro svůj vlastní účet. Přejděte do Settings
-> Personal Info
a nastavte e-mailovou adresu pro svůj účet.
Poté přejděte do Nastavení -> Základní nastavení . Najdete nastavení e-mailového serveru. Existují dva režimy odesílání:sendmail
a smtp
. Můžete zvolit sendmail
režimu, pokud má váš hostitel NextCloud spuštěný server SMTP.
Pokud chcete použít SMTP server běžící na jiném hostiteli, zvolte smtp
režimu a zadejte adresu serveru SMTP a přihlašovací údaje, jak je uvedeno níže. Zvolte STARTTLS pro šifrování.
Informace o tom, jak nastavit e-mailový server, naleznete v následujícím návodu. Poznámka že vřele doporučuji provozovat poštovní server iRedMail na čerstvém čistém OS. Instalace iRedMail na OS, který má jiné webové aplikace, může selhat a pravděpodobně přerušit stávající aplikace.
- Jak snadno nastavit plně vybavený poštovní server na Ubuntu 20.04 pomocí iRedMail
Jak resetovat heslo uživatele Nextcloud z příkazového řádku
Pokud jste ztratili heslo k účtu správce a nenastavili jste doručování e-mailů v Nextcloud, musíte heslo resetovat spuštěním následujícího příkazu na vašem serveru. Nahraďte nextcloud_username
s vaším skutečným uživatelským jménem.
sudo -u www-data php /usr/share/nginx/nextcloud/occ user:resetpassword nextcloud_username
Existují také další příkazy, které by se vám mohly hodit. Seznam dostupných příkazů pomocí:
sudo -u www-data php /usr/share/nginx/nextcloud/occ
nebo
sudo -u www-data php /usr/share/nginx/nextcloud/console.php
Jak přesunout datový adresář
V případě, že potřebujete přesunout datový adresář NextCloud, existují 4 kroky, jak toho dosáhnout. Nejprve musíte použít cp
příkaz pro zkopírování datového adresáře do nového adresáře. Například bod připojení mého externího pevného disku je /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731
. Vytvořím nový datový adresář na externím pevném disku.
sudo mkdir /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/
Poté zkopíruji původní datový adresář do nového datového adresáře. -R
příznak znamená, že operace kopírování je rekurzivní.
sudo cp /usr/share/nginx/nextcloud-data/* /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R
Musíte také zkopírovat .ocdata
soubor.
sudo cp /usr/share/nginx/nextcloud-data/.ocdata /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/
Dále je třeba nastavit www-data
(uživatel Nginx) jako vlastník.
sudo chown www-data:www-data /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R
Nakonec musíte upravit config.php
soubor.
sudo nano /usr/share/nginx/nextcloud/config/config.php
Najděte následující řádek a změňte hodnotu datadirectory
.
'datadirectory' => '/usr/share/nginx/nextcloud-data',
Uložte a zavřete soubor. Znovu načtěte webovou stránku NextCloud a máte hotovo.
Krok 7:Zvyšte limit paměti PHP
Výchozí limit paměti PHP je 128 MB. NextCloud doporučuje 512 MB pro lepší výkon. Chcete-li změnit limit paměti PHP, upravte soubor php.ini soubor.
sudo nano /etc/php/7.4/fpm/php.ini
Najděte následující řádek. (řádek 409)
memory_limit =128 milionů
Změňte hodnotu.
memory_limit =512 milionů
Uložte a zavřete soubor. Případně můžete spustit následující příkaz a změnit hodnotu bez ručního otevírání souboru.
sudo sed -i 's/memory_limit =128M/memory_limit =512M/g' /etc/php/7.4/fpm/php.ini
Poté znovu načtěte PHP-FPM aby se změny projevily.
sudo systemctl reload php7.4-fpm
Krok 8:Nastavte PHP tak, aby správně dotazovalo proměnné prostředí systému
Upravte www.conf soubor.
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Najděte následující řádek (řádek 396).
;clear_env =ne
Chcete-li tento řádek odkomentovat, odstraňte středník.
clear_env =ne
Uložte a zavřete soubor. Alternativně můžete spustit následující příkaz a odkomentovat tento řádek bez ručního otevírání souboru.
sudo sed -i 's/;clear_env =no/clear_env =no/g' /etc/php/7.4/fpm/pool.d/www.conf
Poté znovu načtěte PHP-FPM aby se změny projevily.
sudo systemctl reload php7.4-fpm
Krok 9:Zvyšte limit velikosti nahrávaného souboru
Výchozí maximální limit velikosti nahrávaného souboru stanovený Nginxem je 1 MB. Chcete-li povolit nahrávání velkých souborů na server NextCloud, upravte konfigurační soubor Nginx pro NextCloud.
sudo nano /etc/nginx/conf.d/nextcloud.conf
V tomto souboru jsme již nastavili maximální velikost souboru, jak ukazuje
client_max_body_size 512M;
Pokud chcete, můžete to změnit, například 1G.
client_max_body_size 1024M;
Uložte a zavřete soubor. Poté znovu načtěte Nginx, aby se změny projevily.
sudo systemctl reload nginx
PHP také nastavuje limit velikosti nahrávaného souboru. Výchozí maximální velikost souboru pro nahrávání je 2 MB. Chcete-li zvýšit limit velikosti nahrávání, upravte konfigurační soubor PHP.
sudo nano /etc/php/7.4/fpm/php.ini
Najděte následující řádek (řádek 846).
upload_max_filesize =2M
Změňte hodnotu takto:
upload_max_filesize =1024 M
Uložte a zavřete soubor. Případně můžete spustit následující příkaz a změnit hodnotu bez ručního otevírání souboru.
sudo sed -i 's/upload_max_filesize =2M/upload_max_filesize =1024M/g' /etc/php/7.4/fpm/php.ini
Poté restartujte PHP-FPM.
sudo systemctl restart php7.4-fpm
Krok 10:Nakonfigurujte mezipaměť Redis pro NextCloud
Pokud přejdete do nastavení NextCloud -> přehled se může zobrazit následující varování:
Nebyla nakonfigurována žádná mezipaměť. Chcete-li zlepšit svůj výkon, nakonfigurujte si memcache, pokud je k dispozici.
Povolíme ukládání do mezipaměti pro nextCloud pomocí Redis. Spusťte následující příkaz a nainstalujte server Redis z úložiště Ubuntu.
sudo apt install redis-server
Verzi můžete zkontrolovat pomocí:
redis-server -v
Ukázkový výstup:
Server Redis v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923
Nyní můžeme zkontrolovat, zda redis server běží.
redis stavu systemctl
Tip:Pokud se výše uvedený příkaz okamžitě neukončí, můžete stisknutím klávesy Q získat zpět kontrolu nad terminálem.
Z výše uvedeného snímku obrazovky vidíme, že běží a je povoleno automatické spouštění. Pokud z nějakého důvodu neběží, proveďte následující příkaz:
sudo systemctl spustit redis-server
A pokud není povoleno automatické spouštění při spouštění, můžete jej povolit pomocí následujícího příkazu:
sudo systemctl povolit redis-server
Aby bylo možné nakonfigurovat Redis jako mezipaměť pro nextCloud, musíme nainstalovat rozšíření PHP pro propojení s Redis.
sudo apt install php-redis
Zkontrolujte, zda je rozšíření povoleno.
php --ri redis
Vidíme, že je povoleno rozšíření Redis. Pokud není povoleno, spusťte následující příkaz:
sudo phpenmod redis
Dále upravte konfigurační soubor nextCloud.
sudo nano /usr/share/nginx/nextcloud/config/config.php
Přidejte následující řádky nad koncovku );
řádek.
'memcache.distributed' => '\OC\Memcache\Redis','memcache.local' => '\OC\Memcache\Redis','memcache.locking' => '\OC\Memcache\Redis' ,'redis' => array( 'host' => 'localhost', 'port' => 6379, ),
Uložte a zavřete soubor. Poté restartujte Nginx a PHP-FPM.
sudo systemctl restartujte nginx php7.4-fpm
Nyní přejděte do nastavení NextCloud -> přehled znovu a obnovte webovou stránku, varování o ukládání do mezipaměti by mělo zmizet.
Přidání chybějících indexů
Pokud v Nastavení NextCloud uvidíte následující zprávu -> Přehled stránka,
V databázi chybí některé indexy. Vzhledem k tomu, že přidávání indexů na velkých tabulkách může nějakou dobu trvat, nebyly přidány automaticky.
Poté musíte tyto indexy přidat ručně. Přejděte do adresáře webroot Nextcloud.
cd /usr/share/nginx/nextcloud/
Spusťte následující příkaz a přidejte indexy do databáze Nextcloud.
sudo -u www-data php occ db:add-missing-indices
Nyní, když obnovíte Nastavení NextCloud -> Přehled na stránce, varování o chybějících indexech by mělo být pryč.
Převod na Big Int
Pokud v Nastavení NextCloud uvidíte následující zprávu -> Přehled stránka,
Některým sloupcům v databázi chybí převod na big int. Vzhledem k tomu, že změna typů sloupců u velkých tabulek může nějakou dobu trvat, nebyly změněny automaticky.
Poté musíte ručně změnit typ sloupce. Přejděte do adresáře webroot Nextcloud.
cd /usr/share/nginx/nextcloud/
Změňte svůj Nextcloud do režimu údržby, abyste uživatelům zabránili v přihlášení a provádění změn.
sudo -u www-data php occ maintenance:mode --on
Poté spusťte následující příkaz pro změnu typu sloupce.
sudo -u www-data php occ db:convert-filecache-bigint
Po dokončení vypněte režim údržby.
sudo -u www-data php occ maintenance:mode --off
Nyní, když obnovíte Nastavení NextCloud -> Přehled na stránce, varování o big int by mělo být pryč.
Jak nainstalovat klienta NextCloud na plochu Ubuntu 20.04
Spuštěním následujících příkazů na ploše Ubuntu 20.04 nainstalujte klienta z výchozího úložiště.
sudo apt install nextcloud-client
Klient NextCloud na Ubuntu 20.04
Klientský software pro macOS, Windows, Android a iOS lze nalézt na stránce stahování Nextcloud.
Jak povolit OnlyOffice/Collabora Online
Ve výchozím nastavení je Nextcloud dodáván s podporou OnlyOffice, což je online kancelářský balík, který vám umožňuje upravovat soubory doc, ppt, xls přímo z NextCloud. K použití této funkce potřebujeme pouze nainstalovat aplikaci. Přejděte na Nextcloud Apps
-> Office & Text
. Najděte a povolte community document server
aplikace.
Nyní, když v Nextcloud kliknete na tlačítko Přidat (+), budete moci vytvářet dokumenty Word, tabulky a prezentace přímo ze serveru Nextcloud.
Zjistil jsem však, že tato aplikace není příliš spolehlivá. A komunitní edice povoluje maximálně 20 uživatelů. Pokud máte více než 20 uživatelů, musíte si zakoupit podnikovou edici. Existuje další open source online kancelářský balík založený na LibreOffice s názvem Collabora Online, který má stejnou funkcionalitu, ale bez omezení počtu uživatelů. Chcete-li jej integrovat s Nextcloud, můžete si přečíst následující článek.
- Integrujte Collabora Online s Nextcloud na Ubuntu pomocí Dockeru
Přidání místního záznamu DNS
Doporučuje se upravit /etc/hosts
soubor na vašem serveru Nextcloud a přidejte následující položku, takže Nextcloud sám nebude muset zjišťovat veřejný DNS, což může zlepšit celkovou stabilitu. Pokud váš server Nextcloud nedokáže vyřešit nextcloud.example.com
hostname, pak můžete narazit na časový limit brány 504 chyba.
127.0.0.1 localhost nextcloud.example.com
IP adresa v /etc/hosts
soubor může mít více názvů hostitelů, takže pokud máte na stejném boxu nainstalované další aplikace, můžete také přidat další názvy hostitelů nebo subdomény na stejný řádek takto:
127.0.0.1 localhost focal ubuntu nextcloud.example.com collabora.example.com
Použití Cronu ke spouštění úloh na pozadí
Ve výchozím nastavení používá Nextcloud AJAX k provedení jedné úlohy při každém načtení stránky. Ke spouštění úloh na pozadí můžete použít efektivnější systémový cron. Přejděte do Nastavení Nextcloud -> Základní nastavení a vyberte Cron .
Dále upravte www-data
uživatelský soubor crontab.
sudo -u www-data crontab -e
Přidejte do tohoto souboru následující řádek, aby se úloha cron spouštěla každých 5 minut.
*/5 * * * * php7.4 -f /usr/share/nginx/nextcloud/cron.php
Uložte a zavřete soubor.
(Volitelné) Zabraňte škodlivým pokusům o přihlášení
Pokud má váš počítač statickou veřejnou IP adresu, můžete vytvořit seznam povolených IP adres v konfiguračním souboru Nginx.
sudo nano /etc/nginx/conf.d/nextcloud.conf
Chcete-li omezit přístup k /login
, přidejte do bloku serveru SSL následující řádky URL, takže k této URL má přístup pouze vaše IP adresa. Nahraďte 78.56.34.12 svou vlastní IP adresou.
umístění ~* ^/login{ try_files $uri /index.php; zahrnout fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; #Vyhněte se odesílání bezpečnostních hlaviček dvakrát fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_intercept_errors on; fastcgi_request_buffering off; povolit 78.56.34.12; zakázat vše;}
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.
sudo systemctl reload nginx
Pokud nemáte ve své domácí síti statickou IP adresu, můžete si nastavit VPN server v datovém centru.
Tipy pro odstraňování problémů
Pokud narazíte na chyby, můžete zkontrolovat jeden z následujících souborů protokolu a zjistit, co je špatně.
- Protokol chyb Nginx:
/var/log/nginx/error.log
- Protokol chyb Nginx pro virtuálního hostitele Nextcloud:
/var/log/nginx/nextcloud.error
- Protokol aplikace Nextcloud:
/usr/share/nginx/nextcloud/data/nextcloud.log
Jednou jsem měl například „Internal Server Error
” v mé instanci Nextcloud a /var/log/nginx/nextcloud.error
soubor mi to řekl
FastCGI odesláno v stderr:"Zpráva PHP:Závažná chyba PHP:Nezachyceno OC\HintException:[0]:Memcache \OC\Memcache\Redis není k dispozici pro místní mezipaměť (Je nainstalován a povolen odpovídající modul PHP?)Ukázalo se, že protože jsem na svém serveru Ubuntu použil ppa:ondrej/php PPA, musím také nainstalovat
php7.4-redis
kroměphp-redis
balíček.Upgrade Nextcloud
Je důležité udržovat váš server Nextcloud aktuální s nejnovějšími opravami zabezpečení a chyb. Přečtěte si níže uvedený tutoriál a zjistěte, jak upgradovat Nextcloud.
- 2 způsoby upgradu Nextcloud [příkazový řádek a grafické uživatelské rozhraní]