Obsah
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'
- /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 - 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
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
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í ↗.
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
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
