Difference between revisions of "Nextcloud"

From BITPlan Wiki
Jump to navigation Jump to search
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= Finding duplicate uids =
 +
<source lang='sql'>
 +
select count(*),regexp_substr(carddata,"FN:[a-zA-Z. ]+") as name,uid from oc_cards group by uid having(count(*)>1) order by 1;
 +
</source>
 
= Upgrading from owncloud 9.0.0 to latest Nextcloud =
 
= Upgrading from owncloud 9.0.0 to latest Nextcloud =
It 2017-12 and we had been using owncloud 9.0.0 for some time on our old server.  
+
Its 2017-12 and we had been using owncloud 9.0.0 for some time on our old server.  
 
Now we wanted to migrate to Nextcloud.
 
Now we wanted to migrate to Nextcloud.
  
Line 15: Line 19:
 
# modify the config.php to fit the new server
 
# modify the config.php to fit the new server
  
At this point things to frustrating
+
At this point things got frustrating
 
We ran into the owncloud issues:
 
We ran into the owncloud issues:
 
<pre>
 
<pre>
Line 36: Line 40:
  
 
So we deciced to migrate/upgrade to Nextcloud
 
So we deciced to migrate/upgrade to Nextcloud
 +
 
== Step 2 - migration to nextcloud ==
 
== Step 2 - migration to nextcloud ==
 
We followed the instructions at:
 
We followed the instructions at:
Line 114: Line 119:
 
);
 
);
 
</source>
 
</source>
== Step 4 upgrading from version 9 to 10 ==
+
== Step 4 upgrading from version 9 to 12 ==
Since the major upgrades need downloading we decided to write a [https://gist.github.com/WolfgangFahl/372af33777e17abc869f2b111dc2d8ae helper script].
+
Since the major upgrades need downloading one major version after another from
 +
https://download.nextcloud.com/server/releases
 +
we decided to write a [https://gist.github.com/WolfgangFahl/372af33777e17abc869f2b111dc2d8ae helper script].
 +
 
 +
You might want to download the helper script and adapt it to your settings.
 +
 
 
The script will attempt to find out your major version with an occ command.  
 
The script will attempt to find out your major version with an occ command.  
 
Each time you run the script it will do the steps from https://intux.de/2016/08/upgrade-nextcloud-9-0-50-10-0-0/ automatically.
 
Each time you run the script it will do the steps from https://intux.de/2016/08/upgrade-nextcloud-9-0-50-10-0-0/ automatically.
 +
 
Before each step you might want to  
 
Before each step you might want to  
# backup your database
+
# backup your database - this important since there is no automatic downgrade - if you'd like to get the old state back you need to rename the backup version e.g. /usr/share/nextcloud.9 and get your database content back to the old state
 
After each step you might want to
 
After each step you might want to
 
# run the upgrade by visiting your nextcloud url and watch that things work ok.
 
# run the upgrade by visiting your nextcloud url and watch that things work ok.
  
 
We had to run the script three times
 
We had to run the script three times
# to upgrade from 9 to 10
+
# start from 9 => 9.0.58
# to upgrade from 10 to 11
+
# to upgrade from 9 to 10 => 10.0.6
# to upgrade from 11 to 12
+
# to upgrade from 10 to 11 => 11.0.6
 +
# to upgrade from 11 to 12 => 12.0.4
 +
== Step 5 reinstalling apps ==
 +
* https://apps.nextcloud.com/apps/calendar
 +
* https://apps.nextcloud.com/apps/contacts
 +
<source lang='bash'>
 +
/usr/local/src/nextcloud/# wget https://github.com/nextcloud/contacts/releases/download/v2.0.1/contacts.tar.gz
 +
/usr/local/src/nextcloud/# wget https://github.com/nextcloud/calendar/releases/download/v1.5.7/calendar.tar.gz
 +
/usr/share/nextcloud/apps# tar xvfz /usr/local/src/nextcloud/calendar.tar.gz
 +
/usr/share/nextcloud/apps# tar xvfz /usr/local/src/nextcloud/contacts.tar.gz
 +
/usr/share/nextcloud/apps# chown -R www-data.www-data contacts
 +
/usr/share/nextcloud/apps# chown -R www-data.www-data calendar
 +
</source>
 +
reactivate via nextcloud web interface
 +
<pre>
 +
/index.php/settings/apps?category=installed#
 +
</pre>
 +
== Further upgrades ==
 +
As of 2019-05 the script still works to
 +
# 12->13
 +
# 13->14
 +
# 14->15
 +
were the next steps we tested according to https://docs.nextcloud.com/server/16/admin_manual/release_schedule.html

Latest revision as of 15:24, 8 April 2020

Finding duplicate uids

select count(*),regexp_substr(carddata,"FN:[a-zA-Z. ]+") as name,uid from oc_cards group by uid having(count(*)>1) order by 1;

Upgrading from owncloud 9.0.0 to latest Nextcloud

Its 2017-12 and we had been using owncloud 9.0.0 for some time on our old server. Now we wanted to migrate to Nextcloud.

Step 1

Copying everything from old server to new server

/usr/share$ tar cvfz owncloud.tgz owncloud/
  1. copy the tgz file to the new server and unpack at /usr/share
  2. to a mysqlump of the owncloud mysql database on the old server
  3. create a new owncloud mysql database on the new server
  4. use the dump to restore the data on the new server
  5. copy the apache configuration from the old server to the new server and activate it
  6. modify the config.php to fit the new server

At this point things got frustrating We ran into the owncloud issues:

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.
Technical details
    Remote Address:
    Request ID: ...
root@server:/usr/share/owncloud/data# tail -1 owncloud.log 
{"reqId":"...","remoteAddr":"","app":"index","message":"Exception: {\"Exception\":\"Exception\",\"Message\":\"The requested uri() cannot be processed by the script '\\\/owncloud\\\/index.php')\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/share\\\/owncloud\\\/lib\\\/private\\\/appframework\\\/http\\\/request.php(636): OC\\\\AppFramework\\\\Http\\\\Request->getRawPathInfo()\\n#1 \\\/usr\\\/share\\\/owncloud\\\/lib\\\/base.php(828): OC\\\\AppFramework\\\\Http\\\\Request->getPathInfo()\\n#2 \\\/usr\\\/share\\\/owncloud\\\/index.php(39): OC::handleRequest()\\n#3 {main}\",\"File\":\"\\\/usr\\\/share\\\/owncloud\\\/lib\\\/private\\\/appframework\\\/http\\\/request.php\",\"Line\":610}","level":3,"time":"2017-12-28T09:06:17+00:00"}

That was a known issue that seems not to be fixed - the bug report was simply closed:

So we deciced to migrate/upgrade to Nextcloud

Step 2 - migration to nextcloud

We followed the instructions at:

Which worked like a charm.

Current version is 9.0.0.
Migration to Nextcloud 9.0.58 available. 

sudo -u www-data php occ upgrade
Nextcloud is already latest version

We had to replace the contacts and calendar apps from

Step 3 move to /usr/share/nextcloud

move the owncloud directory

mv /usr/share/owncloud /usr/share/nextcloud

update apache configuration

#
# nextcloud Server configuration
#  2017-12-28 nextcloud upgrade to version 10
#  
<VirtualHost *:80> 
  ServerName nextcloud.yourdomain.com 
  DocumentRoot /usr/share/nextcloud

  <Directory /usr/share/nextcloud/>
    Options +FollowSymLinks
    AllowOverride All
    <IfVersion < 2.3>
        order allow,deny
        allow from all
    </IfVersion>
    <IfVersion >= 2.3>
        Require all granted
    </IfVersion>
  </Directory>
  ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
  CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

nextcloud config.php

<?php
$CONFIG = array (
  'updatechecker' => false,
  'instanceid' => 'see config.php',
  'passwordsalt' => 'see config.php',
  'secret' => 'see config.php',
  'trusted_domains' => 
  array (
    0 => 'nextcloud.bitplan.com',
  ),
  'datadirectory' => '/usr/share/nextcloud/data',
  'overwrite.cli.url' => 'http://nextcloud.bitplan.com',
  'dbtype' => 'mysql',
  'version' => '9.0.58.1',
  'logtimezone' => 'UTC',
  'installed' => true,
  'maintenance' => false,
  'dbname' => 'owncloud',
  'dbhost' => '127.0.0.1',
  'dbuser' => 'owncloud',
  'dbpassword' => 'see config.php',
  'theme' => '',
  'loglevel' => 2,
  'htaccess.RewriteBase' => '/',
  'appstore.experimental.enabled' => true,
);

Step 4 upgrading from version 9 to 12

Since the major upgrades need downloading one major version after another from https://download.nextcloud.com/server/releases we decided to write a helper script.

You might want to download the helper script and adapt it to your settings.

The script will attempt to find out your major version with an occ command. Each time you run the script it will do the steps from https://intux.de/2016/08/upgrade-nextcloud-9-0-50-10-0-0/ automatically.

Before each step you might want to

  1. backup your database - this important since there is no automatic downgrade - if you'd like to get the old state back you need to rename the backup version e.g. /usr/share/nextcloud.9 and get your database content back to the old state

After each step you might want to

  1. run the upgrade by visiting your nextcloud url and watch that things work ok.

We had to run the script three times

  1. start from 9 => 9.0.58
  2. to upgrade from 9 to 10 => 10.0.6
  3. to upgrade from 10 to 11 => 11.0.6
  4. to upgrade from 11 to 12 => 12.0.4

Step 5 reinstalling apps

/usr/local/src/nextcloud/# wget https://github.com/nextcloud/contacts/releases/download/v2.0.1/contacts.tar.gz
/usr/local/src/nextcloud/# wget https://github.com/nextcloud/calendar/releases/download/v1.5.7/calendar.tar.gz
/usr/share/nextcloud/apps# tar xvfz /usr/local/src/nextcloud/calendar.tar.gz 
/usr/share/nextcloud/apps# tar xvfz /usr/local/src/nextcloud/contacts.tar.gz 
/usr/share/nextcloud/apps# chown -R www-data.www-data contacts
/usr/share/nextcloud/apps# chown -R www-data.www-data calendar

reactivate via nextcloud web interface

/index.php/settings/apps?category=installed#

Further upgrades

As of 2019-05 the script still works to

  1. 12->13
  2. 13->14
  3. 14->15

were the next steps we tested according to https://docs.nextcloud.com/server/16/admin_manual/release_schedule.html