przeniosłem nextcloud na nowy serwer

nextcloud disable_functions

Nie myślałem ,że mi tyle zejdzie z przenosinami nextcloud. Fakt że na starym serwerze była wersja 22 a obecnie siedzę na najnowszej 24. Problemem jednak nie były same dane lecz konfiguracja serwera a to wymusiło również kilka błędów w aplikacjach. Większość aplikacji na nowej instalacji cofnąłem do starszych wersji a następnie aktualizowałem. Najwięcej problemu sprawiła mi aplikacja ,która wykonuje backup sms z telefonu – Phone Sync. W tym konkretnym przypadku musiałem utworzyć kilka brakujących tabel dotyczących tej konkretnej apki:

use nextcloud
create table oc_ocsms_smsdatas(id int(10) auto_increment primary key,user_id varchar(64) not null, added timestamp not null default 0,lastmodified timestamp not null default 0, sms_id int(5) not null,sms_address varchar(64) not null,sms_msg mediumtext not null,sms_date BIGINT not null,sms_flags varchar(2) not null default '00',sms_mailbox int(1) not null,sms_type int(1) not null);
create table oc_ocsms_sendmessage_queue(id int(10) auto_increment primary key,user_id varchar(64) not null,sms_address varchar(64) not null,sms_msg mediumtext not null);
create table oc_ocsms_config(`user` varchar(255) not null,`key` varchar(255) not null,`value` varchar(255) not null);
create table oc_ocsms_user_datas(user_id varchar(64) not null,datakey varchar(64) not null,datavalue varchar(64) not null);
create table oc_ocsms_conversation_read_states(user_id varchar(64) not null,phone_number varchar(64) not null,int_date int(32) not null);

i dodatkowo uzupełnić tabele index:

create index user_datas_user_datakey on oc_ocsms_user_datas(user_id,datakey);
create index smsdata_user_mailbox on oc_ocsms_smsdatas(user_id,sms_mailbox);
create index smsdata_user_mailbox_date on oc_ocsms_smsdatas(user_id,sms_mailbox,sms_date);
create index smsdata_user_mailbox_address on oc_ocsms_smsdatas(user_id,sms_mailbox,sms_address);
create index smsdata_user_mailbox_address_date on oc_ocsms_smsdatas(user_id,sms_mailbox,sms_address,sms_date);
create index config_user_key on oc_ocsms_config(`user`,`key`);
create index smsdata_user_smsid on oc_ocsms_smsdatas(user_id,sms_id);
create index sms_conversation_rs_pkey on oc_ocsms_conversation_read_states(user_id,phone_number);

a to już było wyzwanie na istniejącej instalacji ponieważ wymagało to ręcznej ingerencji w każdą tabele. NO ale koniec końcowi aplikacja uratowana. Cache dla nextcloud poprzednio miałem zainstalowany bezpośrednio na serwerze ale nie chciałem się już grzebać i wykorzystałem docker a następnie zainstalowałem redis. Również stosując cache oparte o docker sugerowałem się bezpieczeństwem danych ponieważ cache jest zamknięte w kontenerze i dodatkowo kontener jest dostępny tylko lokalnie. Plik konfiguracyjny dla cache musiałem odrobinę zmienić na ten przedstawiony poniżej:

'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
),
'memcache.locking' => '\\OC\\Memcache\\Redis',

Miałem jeszcze mały problem z php-imagick ponieważ otrzymywałem komunikat o braku wsparcia dla SVG. Na szczęście jestem na ubuntu więc zainstalowałem dodatek poniżej i już śmiga:

apt-get install libmagickcore-6.q16-6-extra

Teraz pozostaje synchronizacja danych a nie mam ich nie wiadomo ile bo zaledwie 30GB plus to co ostatnio już zostawiłem bez synchronizacji mając świadomość że będę się przenosił z zabawkami. Oczywiście dalej również korzystam z nextcloud jako usługa w pewnej firmie ale to ma na celu jedynie zapewnienie że dane mam w kilku lokalizacjach tak na wszelki wypadek.