====== NextCloud ====== ===== Instalace NC 17 na Debian 10 ===== https://linuxhint.com/install_nextcloud_debian_10/ Pěkně popsaná instalace s NGINX a Redis serverem\\ https://english.c-rieger.de/nextcloud-installation-guide-debian-10/#c01 ===== 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''' 'https://nextcloud.myserver.net', 'overwriteprotocol' => 'https', # 'installed' => true, ); ===== NC Upgrade ===== ==== Jednotlivé verze NC ==== https://download.nextcloud.com/server/releases/ ==== 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'' * stáhnout aktuální verzi NC - ''wget https://download.nextcloud.com/server/releases/nextcloud-19.0.4.tar.bz2'' * 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 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 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) 1 2 ServerAdmin webmaster@localhost 3 DocumentRoot /var/www/nextcloud 4 Alias /nextcloud "/var/www/nextcloud/" 5 6 7 Options +FollowSymlinks 8 AllowOverride All 9 10 11 Dav off 12 13 14 Require all granted 15 16 SetEnv HOME /var/www/nextcloud 17 SetEnv HTTP_HOME /var/www/nextcloud 18 19 20 ErrorLog ${APACHE_LOG_DIR}/nextcloud_error_log 21 CustomLog ${APACHE_LOG_DIR}/nextcloud_access_log common 22 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 1 '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 sudo -u www-data php occ groupfolders:group