Uživatelské nástroje

Nástroje pro tento web


private:poznamky:linux:nextcloud

NextCloud

Instalace NC 17 na Debian 10

OCC příkazy

https://docs.nextcloud.com/server/18/admin_manual/configuration_server/occ_command.html#versions

Založení uživatele včetně skupin

sudo -u www-data php occ user:add --group="ELP_ZBYNEK" --group="ELP_ALL" Zbynek

Rescan souborů - aktualizace databáze

sudo -u www-data php occ files:scan --all   

Smazání souborů v koši
https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#trashbin-label

sudo -u www-data php occ trashbin:cleanup --all-users

Smazání verzí - souborů
Např. uživatel nastavil do cloudu soubory poštovního klienta - verze velice rychle přibívaly a plnily disk.

sudo -u www-data php occ versions:cleanup Matej

Problém s klientem verze 2.6.X

Starší verze NC
https://download.nextcloud.com/desktop/releases/Windows/

Klient chce ověřit pomocí přihlášení přes webový prohlížeč a povolení konkrétního klienta. Bohužel nešlo povolit klienta z webového prohlížeče, tlačítko povolit se chovalo jako neaktivní.

Pomohla úprava konfiguračního souboru config.php, viz. popis na https://github.com/nextcloud/desktop/issues/1470 Přidal jsem řádek 'overwriteprotocol' ⇒ 'https'

/var/www/nextcloud/config/config.php
<?php
$CONFIG = array (
  'overwrite.cli.url' => 'https://nextcloud.myserver.net',
  'overwriteprotocol' => 'https',
  #        'installed' => true, );

NC Upgrade

Jednotlivé verze NC

Popis upgrade

https://docs.nextcloud.com/server/15/admin_manual/maintenance/manual_upgrade.html

  • stop Apache - /etc/init.d/apache2 stop
  • přejmenovat složku nextcloud - mv nextcloud nextcloud.18.0.10
  • rozbalit ve složce kde je aktuálně umístěn NC - tar -xjf nextcloud-19.0.4.tar.bz2
  • překopírovat konfiguraci NC do nové složky - cp -a nextcloud.18.0.10/config/config.php nextcloud/config/
  • přesunout složku se soubory do nového umístění - mv nextcloud.18.0.10/data/ nextcloud/
  • nastavir práva chown -R www-data:www-data nextcloud && find nextcloud/ -type d -exec chmod 750 {} \; && find nextcloud/ -type f -exec chmod 640 {} \;
  • upgrade - cd nextcloud && sudo -u www-data php occ upgrade
chown -R www-data:www-data nextcloud
find nextcloud/ -type d -exec chmod 750 {} \;
find nextcloud/ -type f -exec chmod 640 {} \;

sudo -u www-data php occ upgrade

Příkaz na jednom řádku

chown -R www-data:www-data nextcloud && find nextcloud/ -type d -exec chmod 750 {} \; && find nextcloud/ -type f -exec chmod 640 {} \; && cd nextcloud && sudo -u www-data php occ upgrade

Při pokusu o upgrade z v14 na v15 bylo potřeba nejdříve provést upgrade php z v7.0 na v7.2. Provedl jsem upgrade celého OS Ubuntu z verze 16.04 na 18.04.

Po upgrade nefungoval, bylo potřeba doinstalovat php v 7.2 a zařadit php moduly(php.conf a php.load) do /etc/apache2/mods-enabled/ a restartovat Apache.

Při upgrade PHP z verze 7.0 na 7.2 nenaběhl NC 15.0.14 . Místo toho se objevila hláška Internal server error
Pomohlo zakomentovat řádek 'memcache.local' ⇒ '\\OC\\Memcache\\APCu'
https://help.nextcloud.com/t/internal-server-error-going-from-php-7-0-to-php-7-2/35016

Chyba se podařila odstranit změnou parametru bind - viz.níže.

Upgrade PHP

https://tecadmin.net/install-php-debian-9-stretch/
https://tecadmin.net/install-php-7-on-ubuntu/

https://help.nextcloud.com/t/debian-9-php-version-too-old-for-nextcloud-16/53973

How to Switch between Multiple PHP Version on Debian 9
https://tecadmin.net/switch-between-multiple-php-version-on-debian/

PHP 7.2

apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-gd php7.2-mysql php7.2-gd php7.2-imagick php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-mbstring zip unzip php7.2-common php7.2-opcache php7.2-json php7.2-intl php7.2-xml php7.2-zip libapache2-mod-php7.2

PHP 7.3

apt
apt install php7.3 php7.3-fpm php7.3-cli php7.3-curl php7.3-gd php7.3-mysql php7.3-gd php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-mbstring zip unzip php7.3-common php7.3-opcache php7.3-json php7.3-intl php7.3-xml php7.3-zip libapache2-mod-php7.3

PHP 7.4

apt
apt install php7.4 php7.4-fpm php7.4-cli php7.4-curl php7.4-gd php7.4-mysql php7.4-gd php-imagick php7.4-tidy php7.4-xmlrpc php7.4-mbstring zip unzip php7.4-common php7.4-opcache php7.4-json php7.4-intl php7.4-xml php7.4-zip libapache2-mod-php7.4 php7.4-bcmath php7.4-gmp

Po upgrade PHP je potřeba přenastavit v souboru /etc/php/7.X/apache2/php.ini parametr memory_limit = 512M z 128M na 512M

https://iteco.fi/ubuntu-upgrade-from-16-04-to-18-04-messed-up-nextcloud-installation/

Problem s Cardav a Caldav

https://help.nextcloud.com/t/solved-well-known-caldav-check-in-15-0-4-nextcloud-sever-is-behind-an-haproxy-where-ssl-offloading-is-being-performed/47483

Příklad konfiguračního Apache souboru. Do konfigurace stačí přidat informaci o přesměrování(poslední dva řádky)

/etc/apache2/sites-enabled/nextcloud.conf
 1 <VirtualHost *:80>
  2 ServerAdmin webmaster@localhost
  3 DocumentRoot /var/www/nextcloud
  4 Alias /nextcloud "/var/www/nextcloud/"
  5
  6 <Directory "/var/www/nextcloud/">
  7 Options +FollowSymlinks
  8 AllowOverride All
  9
 10 <IfModule mod_dav.c>
 11 Dav off
 12 </IfModule>
 13
 14 Require all granted
 15
 16 SetEnv HOME /var/www/nextcloud
 17 SetEnv HTTP_HOME /var/www/nextcloud
 18 </Directory>
 19
 20 ErrorLog ${APACHE_LOG_DIR}/nextcloud_error_log
 21 CustomLog ${APACHE_LOG_DIR}/nextcloud_access_log common
 22 </VirtualHost>
 23
 24 Redirect 301 /.well-known/carddav https://lkscloud.profiit.cz/remote.php/dav
 25 Redirect 301 /.well-known/caldav https://lkscloud.profiit.cz/remote.php/dav

Strict-Transport-Security

HTTP hlavička „Strict-Transport-Security“ není nastavena na přinejmenším „15552000“ sekund. Pro lepší zabezpečení je doporučeno zapnout HSTS, jak je popsáno v tipech pro zabezpečení ↗.

https://www.haproxy.com/de/blog/haproxy-and-http-strict-transport-security-hsts-header-in-http-redirects/

Nastavení mezipaměti

Po instalaci se objevuje hláška:
Nebyla nastavena mezipaměť v paměti. Pokud je dostupná, nastavte ji pro zlepšení výkonu. Další informace lze nalézt v naší dokumentaci.

apt install redis-server php-redis

Nastavit parametr bind v souboru /etc/redis/redis.conf

bind 127.0.0.1 ::1
/var/www/nextcloud/config/config.php
 1 <?php
  2 $CONFIG = array (
  3   'instanceid' => 'xxxxxxxxxxxxxxxxx',
  4   'passwordsalt' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  5   'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  6   'trusted_domains' =>
  7   array (
  8     0 => 'localhost' ,
  9     1 => 'XXX.XXX.XXX.XX' ,
 10     2 => 'lkscloud.profiit.cz' ,
 11   ),
 12   'datadirectory' => '/var/www/nextcloud/data',
 13   'dbtype' => 'mysql',
 14   'version' => '17.0.0.9',
 15   'overwrite.cli.url' => 'https://lkscloud.profiit.cz',
 16   'overwriteprotocol' => 'https',
 17   'dbname' => 'nextcloud',
 18   'dbhost' => 'localhost',
 19   'dbport' => '',
 20   'dbtableprefix' => 'oc_',
 21   'mysql.utf8mb4' => true,
 22   'dbuser' => 'xxxxxxxxxxxxx',
 23   'dbpassword' => 'XXXXXXXXXXXXXXXXX',
 24   'installed' => true,
 25   'skeletondirectory' => '',
 26   'memcache.local' => '\\OC\\Memcache\\Redis',
 27   'redis' =>
 28     array (
 29       'host' => 'localhost',
 30       'port' => 6379,
 31    ),
 32   'memcache.locking' => '\\OC\\Memcache\\Redis',
 33   'mail_smtpmode' => 'smtp',
 34   'mail_sendmailmode' => 'smtp',
 35   'mail_from_address' => 'cloud',
 36   'mail_domain' => 'profiit.cz',
 37   'mail_smtpauthtype' => 'LOGIN',
 38   'mail_smtpauth' => 1,
 39   'mail_smtphost' => '10.13.238.53',
 40   'mail_smtpport' => '25',
 41   'mail_smtpname' => 'cloud@profiit.cz',
 42   'mail_smtppassword' => 'xxxxxxxxxxxxxxx',
 43 );

Po upgrade PHP z verze 7.2 na 7.3 je problém s mezipamětí Redis
Objevuje se následující chybová hláška:

Internal Server Error The server encountered an internal error and was unable to complete your request. Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. More details can be found in the server log.

Dočasně pomůže zákaz mezipaměti v souboru /var/www/nextcloud/config/config.php

Omezení zápisu do ROOT složky

Pro jednotlivé uživatele.

Pro každého uživatele je potřeba nastavit oprávnění 555 na složku files.
Standardní oprávnění na složku files je 755

Např.:

cd /var/www/nextcloud/data/volfova
chmod 555 files/

NextCloud - Docker

Nextcloud All-in-One - AIO
Nextcloud, Collabora, Talk …

Přístup přes https buď přímo, nebo přes reverzní proxy.
Otestovány obě možnosti. Problém byl s Collabora, systém nedetekoval správně Collabora server.
Pro beyproblémové fungování, bylo potřeba na lokálním DNS serveru vytvořit zónu pro doménový název použitý pro přístup z internetu. Lokální A záznam ukazuje buď na IP dockeru(v případě, že je https zakončené přímo v docker kontejneru), nebo na adresu reverzního proxy(https je zakončené na reverzním proxy).

https://github.com/nextcloud/all-in-one

https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy https://github.com/nextcloud/all-in-one#backup-solution https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-use-this https://github.com/nextcloud/all-in-one#how-to-properly-reset-the-instance

http://10.199.1.106:8080/login

Příkazy

# seznam Docker kontejneru
docker ps -a


CONTAINER ID   IMAGE                              COMMAND                  CREATED      STATUS                       PORTS                                                                   NAMES
442df4686110   nextcloud/aio-apache:latest        "/start.sh /usr/bin/…"   6 days ago   Up About an hour (healthy)   80/tcp, 0.0.0.0:11000->11000/tcp                                        nextcloud-aio-apache
1645e1c533a0   nextcloud/aio-notify-push:latest   "/start.sh"              6 days ago   Up About an hour (healthy)                                                                           nextcloud-aio-notify-push
6732c09b3b14   nextcloud/aio-nextcloud:latest     "/start.sh /usr/bin/…"   6 days ago   Up About an hour (healthy)   9000/tcp                                                                nextcloud-aio-nextcloud
f638779d0b7b   nextcloud/aio-redis:latest         "/start.sh"              6 days ago   Up About an hour (healthy)   6379/tcp                                                                nextcloud-aio-redis
336613f70244   nextcloud/aio-postgresql:latest    "/start.sh"              6 days ago   Up About an hour (healthy)   5432/tcp                                                                nextcloud-aio-database
956ac056a6cb   nextcloud/aio-collabora:latest     "/start-collabora-on…"   6 days ago   Up About an hour (healthy)   9980/tcp                                                                nextcloud-aio-collabora
20b9b211db85   nextcloud/aio-borgbackup:latest    "/start.sh"              6 days ago   Exited (0) 6 days ago                                                                                nextcloud-aio-borgbackup
088718a8cba9   nextcloud/all-in-one:latest        "/start.sh"              7 days ago   Up About an hour (healthy)   80/tcp, 8443/tcp, 9000/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   nextcloud-aio-mastercontainer




# Bash v Docker kontejneru
docker exec -it nextcloud-aio-nextcloud bash

# vytvoreni skupiny
cd /var/www/html
sudo -u www-data php occ group:add groups
# pridani uzivatele do skupiny
sudo -u www-data php occ group:adduser groups karel

#vytvoreni skupinove slozky
sudo -u www-data php occ groupfolders:create grpfolder

sudo -u www-data php occ groupfolders:group <ID> <Nazev_skupiny> <Opravneni>

sudo -u www-data php occ groupfolders:group <ID> <Nazev_skupiny> <Opravne
private/poznamky/linux/nextcloud.txt · Poslední úprava: autor: snemec

DokuWiki Appliance - Powered by TurnKey Linux