Difference between revisions of "Talk:Nextcloud"

From SME Server
Jump to navigationJump to search
(→‎Apache settings / custom template: not adapted to php-fpm)
Tag: Blanking
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== 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
 +
<syntaxhighlight lang="bash">
 +
cd /usr/share/nextcloud/
 +
rm -rf assets
 +
yum update smeserver-nextcloud --enablerepo=smecontribs
 +
signal-event nextcloud-update
 +
</syntaxhighlight>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”'''
 +
 +
<tt>goto usr/share/nextcloud</tt>
 +
 +
copy everything except <tt>/data</tt> and <tt>/config</tt> to temp folder
 +
 +
download intermediate version of '''nextcloud''' from <nowiki>https://nextcloud.com/changelog/</nowiki>
 +
 +
unzip and copy files to /usr/share/nextcloud, dont overwrite /data or /config
 +
 +
change ownership in /usr/share/nextcloud chown -R apache:www .
 +
 +
goto <nowiki>https://yoururl/nextcloud</nowiki> 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 :
 +
# go to preference
 +
# choose ldap
 +
# choose expert
 +
# 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
 +
# 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
 +
# delete the UUID association for users
 +
# 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<syntaxhighlight lang="bash">
 +
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
 +
 +
 +
</syntaxhighlight>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;):<syntaxhighlight lang="bash">
 +
mkdir ~/nextcloud
 +
mkdir ~/.davfs2
 +
echo "https://example.com/nextcloud/remote.php/webdav your_Nextcloud_username your_password" >> ~/.davfs2/secrets
 +
chmod 0600 ~/.davfs2/secrets
 +
</syntaxhighlight>then just mount ! <syntaxhighlight lang="bash">
 +
mount ~/nextcloud
 +
</syntaxhighlight>
 +
 +
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 <syntaxhighlight lang="bash">
 +
cache_size 3G
 +
</syntaxhighlight>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<syntaxhighlight lang="bash">
 +
mount /home/username/nextcloud
 +
 +
 +
 +
</syntaxhighlight>And Finally to umount in  gdm using "sudo vim /etc/gdm/PostSession/"<syntaxhighlight lang="bash">
 +
if [ ${USERNAME} = "myuser" ];then
 +
  umount -fl /home/myuser/nextcloud
 +
fi
 +
</syntaxhighlight>
 +
 +
Adapted from those sources:
 +
* http://www.tuxfixer.com/mount-webdav-remote-storage-in-fedora-linux-via-davfs2/
 +
* https://docs.nextcloud.com/server/13/user_manual/files/access_webdav.html
 +
 +
== 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

Latest revision as of 04:43, 2 October 2022

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