GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte NextCloud na Ubuntu 20.04 s Nginx (LEMP Stack)

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í]

Ubuntu
  1. Jak nainstalovat LEMP na Ubuntu 16.04

  2. Jak nainstalovat WordPress pomocí zásobníku LEMP na Ubuntu 18.04

  3. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Nginx

  1. Jak nainstalovat Nextcloud s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  3. Jak nainstalovat WordPress s LEMP Stack na CentOS 8

  1. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na Ubuntu 18.04

  2. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na Ubuntu 20.04 LTS

  3. Nainstalujte WordPress s LEMP Stack na Ubuntu 20.04