Talk:Nextcloud

From SME Server
Jump to navigation Jump to search

SME9 related issues moved from page for reference

Known issues

failure to do online upgrade from 13.0.2

The following extra files have been found:    assets
cd /usr/share/nextcloud/
rm -rf assets
yum update smeserver-nextcloud --enablerepo=smecontribs
signal-event nextcloud-update

then proceed to online web upgrade

issue upgrading from 13.0.2 to 15.0.0 RPM

Nextcloud is only build to upgrade from one major release to the next. If you try to install the nextcloud-15 rpm while you already have installed the nextcloud-13, you might have encounter the following issue.

“Updates between multiple major versions are unsupported”

goto usr/share/nextcloud

copy everything except /data and /config to temp folder

download intermediate version of nextcloud from https://nextcloud.com/changelog/

unzip and copy files to /usr/share/nextcloud, dont overwrite /data or /config

change ownership in /usr/share/nextcloud chown -R apache:www .

goto https://yoururl/nextcloud and run the updater

logon to nextcloud and make sure it is all working as expected

repeat above for each major update until you are one update from the latest major update. At that point you can follow the usual process. source (https://bugs.contribs.org/show_bug.cgi?id=10670#c3)

Upgrading from 17.0.1.x to 17.07.x

You can use the built in updater. The only issue experienced was right at the end of the process with a http 500 error. I just did 'retry' and it completed.

You may need to update your database which I did as follows - note it may take a very long time with a lot of files:

OCC maintenance:mode --on
OCC db:convert-filecache-bigint
OCC maintenance:mode --off

Move user space from uuid to username

User stored using ldap from SME with initial install will create a space with their ldap uuid. This is not very user friendly and further more it will lead to ios app issues. Recent version will use the username for new users, but for those already created you will need to do the following you will need to do as admin :

  1. go to preference
  2. choose ldap
  3. choose expert
  4. fill the 3 fields as presented above, or using the cli do
 OCC ldap:set-config s01 ldapExpertUUIDGroupAttr cn
 OCC ldap:set-config s01 ldapExpertUUIDUserAttr uid
 OCC ldap:set-config s01 ldapExpertUsernameAttr uid
  1. in cli, you will then need to do :
  OCC user:list and save the content
  cd /home/e-smith/files/nextcloud/data ; mv OLDUUID username
  OCC files:scan username
  1. delete the UUID association for users
  2. you should then be able to login as the user with its previous files

Only drawback, trash history might be gone, a trick inside the db using a script could workaround that and avoid the OCC files:scan username

Workarounds on Linux clients

Mount with davfs on Fedora Clients

While you might love the easy setup of the gnome client for nextcloud, you might encounter some frustration of having your favourite applications not showing nextcloud as mounted and needing to find it to sometime not being able to access it.

Here is a workaround

First as root

dnf install davfs2 -y
usermod -aG davfs2 $YOURUSER
echo "use_locks 0" >> /etc/davfs2/davfs2.conf
echo "https://example.com/nextcloud/remote.php/webdav /home/$YOURUSER/nextcloud davfs user,rw,auto 0 0
" >> /etc/fstab

then you should log out /log in with your user in order to have the group membership. You can also just do "su -l USERNAME" then as your user (replace your_password by your password, or a token;):

mkdir ~/nextcloud
mkdir ~/.davfs2
echo "https://example.com/nextcloud/remote.php/webdav your_Nextcloud_username your_password" >> ~/.davfs2/secrets 
chmod 0600 ~/.davfs2/secrets

then just mount !

mount ~/nextcloud

From there you can tweak the cache configuration to make it easier for you if you are far from the server, default cache size is 50MiByte, you could increase it to let's say 3 GiByte in ~/.davfs2/davfs2.conf for your user

cache_size 3G

you should see the folder mount at every logon from now on! if you do not want that, change "auto" in the fstab by "noauto". Then add the following in ~/bash_profile or ~/bash_rc. You could user also mount -a and to try to put something in /etc/gdm/PostLogin/" instead

mount /home/username/nextcloud

And Finally to umount in gdm using "sudo vim /etc/gdm/PostSession/"

if [ ${USERNAME} = "myuser" ];then
  umount -fl /home/myuser/nextcloud
fi

Adapted from those sources:

SME10 manual CLI upgrade

this should do the full update:

sudo -u www php74 -d memory_limit=512M --define apc.enable_cli=1 /usr/share/nextcloud/updater/updater.phar
occ upgrade
occ maintenance:mode --off

NB do not use --no-interaction it will fails as it will laucn a child to run occ upgrade without the --define apc.enable_cli=1

in case you get the error

Step 5 is currently in process. Please call this command later.


go delete the updater-** folder in

rm  /home/e-smith/files/nextcloud/data/updater-* -rf

if you run in on the web and it failed on the final stage you can do :

occ upgrade
occ db:add-missing-columns
occ db:add-missing-indices
occ db:add-missing-primary-keys
occ maintenance:repair
occ maintenance:mode --off