Du sal berê min rêze gotar li ser mijara çêkirina serverek webê li ser bingeha wê weşand. Debian 8 û destpêkirina xizmeta Nextcloud 11 li ser wê. Çend meh şûnda, pêvekek xuya bû ku agahdariya "cûda" li ser sazkirina Nextcloud 13 li ser dihewîne. Debian 9. Di dawiya sala 2018an de min nûve kir Debian û Nextcloud û rastî ti pirsgirêkên neasayî an balkêş nehat. Nûvekirina di dawiya sala 2019an de balkêştir bû û hêjayî nivîsandinê bû.

Ev gotar dê di serî de ji bo kesên ku, li gorî rêwerzên di çar gotarên berê de, Nextcloud 13 ji xwe re "civandin" dê bikêr be. Debian 9 (Ez silavan ji deh aboneyên xwe re li ser mijara Nextcloud dişînim, nemaze ji bo wan kesên ku ev ezmûna wan a yekem li cîhanê bû) Linux). Ji bo kesên ku plan dikin ku xizmetê ji sifirê ava bikin, ez pêşniyar dikim ku çar gotarên pêşîn ên vê rêzenivîsê wekî bingeh bikar bînin, digel sererastkirinên ji bo guhertoyên heyî. Debian 10 û Nextcloud 17. Ji bo bikarhênerên pêşketî Linux Gotar dibe ku di navbera "bêwate û bêkêr" û "ne xirab e, pelek xapandinê ya hemî-di-yek" de be.
Table of Contents
Navîgasyon beşa bilez
Pêşniyar
Di destpêkê de min dixwest ku Debian 10, Nginx saz bikin û mîheng bikin, ku dê bi hêsanî piştgiriya guhertoya herî dawî ya Nextcloud 17 bikira. Lêbelê, min ji bo van hemûyan wext tunebû, ji ber vê yekê ev gotar komek rêwerzan e ji bo nûvekirina Nextcloud ji 13 bo guhertoya herî dawî 17, bi amadekariya destpêkê ya servera webê.
Pêşî, divê em rave bikin ka çima guhertinên radîkal li aliyê servera webê hewce bûn. Servera me li ser bingeha pergala heyî û piştgirîkirî ye. Debian 9. Hûn dikarin bi hêsanî pergala xebitandinê nûve bikin, û hemî pêkhateyên servera webê dê herî kêm nûvekirinên ewlehiyê bistînin. Her tişt dê baş be ger em berdewam bikin bi karanîna Nextcloud 13 an tenê bi guhertoya 14-an nûve bikin. Lêbelê, Nextcloud 13 êdî nayê piştgirî kirin, û piştgiriya ji bo guhertoya 14 kêm dibe. Ji guhertoya 15-an pê ve, Nextcloud dê pêşniyar bike ku databasa veguherîne big int da ku piştgirîya kodkirina çar-bayt bike, û bi MariaDB 10.1 re, ev ê pir pirsgirêk be. Nextcloud 17 PHP 7.1-7.3 hewce dike, di heman demê de Debian 9 tenê guhertoya 7.0 di depoyên xwe yên xwemalî de dihewîne. Çareseriya rast, ji hêla pêbawerî û pêşbînîkirinê ve, dê nûvekirina guhertoya berî ya dawî ya Nextcloud be, lê di çend salên borî de, ez ewqas bi pêbaweriya karûbarê bawer bûm ku min xwest ku nûvekirina guhertoya herî dawî bikim û servera webê ji bo pêşerojê nûve bikim. Ji ber vê yekê, ji bo nûvekirina Nextcloud 17, çêtirîn e ku MariaDB nûvekirina guhertoya heyî ya aram 10.4, û PHP nûvekirina 7.2. Bi taybetî, 7.2, ne 7.4 ya heyî. Rastî ev e ku Nextcloud 13 hewceyê PHP 5.6, 7.0 hewceyê 7.2, û Nextcloud 17 hewceyê PHP 7.1-7.3 dike. Bikaranîna PHP 7.2 ji bo kêmkirina hewldana nûvekirinê hêsan e. Hûn ê ne hewce ne ku servera Apache nûve bikin - bes e ku hûn nûvekirinên ewlehiyê yên ku ji hêla tîmê piştgiriyê ve têne belav kirin saz bikin. DebianLêbelê, ji bo nûvekirinên MariaDB û PHP, hûn neçar in ku depoyên derveyî ve girêdin.
Dema ku min nû bi Nextcloud re nas kir, min ew "bi destan" nûve kir: bi karanîna fermanek taybetî ya ji konsolê re, malper hate veguheztin moda lênihêrînê, arşîva bi guhertoya nû ya malperê bi destan hate dakêşandin û pakkirin, pelan. hatin nûkirin û pêvajoya nûvekirinê dest pê kir. Nûvekirinek wusa bi gelemperî rê li ber encamên bendewar vekir, her çend ez di çêkirina kopiyek hilanînê ya malper, databas û daneyên bikarhêner de ne lal bûm. Lê nûvekirinên otomatîk carinan dibe sedema her cûre surprîz. Lê ew demek dirêj berê bû, aramiya motorê ji wê hingê ve pir zêde bûye, û vê carê min nûvekirin bi taybetî bi navgîniya webê çêkir. Rast e, min hîn jî nikarîbû ji rêza fermanê dûr bibim. Di dema nûvekirinek dubare ya her guhertoya nû de, dê di panela kontrolê de hişyarî û agahdariyên cihêreng xuya bibin, ku dê hewce bike ku bi watedarkirina fermanên li ser xeta fermanê were "rakirin". Hûn ne hewce ne ku vê yekê bikin - karûbar dê hîn jî bixebite. Her çend ev nêzîkatî bi bingehîn xelet e, Nextcloud 3 mehan di vê modê de ji min re xebitî berî ku ez bi mebest bi pirsgirêkên ku derketin re mijûl bibim.
Nûvekirina Debain
Pêşkêşkara malperê rawestîne:
# service apache2 stop
Û em nûve dikin:
# apt-get update
# apt-get dist-upgrade
Piştî nûvekirinê, hûn dikarin guhertoya OS-ê kontrol bikin û ceribandinek nûvekirinê bikin da ku pê ewle bibin ku her tişt piştî nûvekirinê bi gelemperî dest pê dike:
# cat /etc/debian_version
# reboot
Nûvekirina PHP ji bo guhertoya 7.2
Pêşkêşkara malperê rawestîne:
# service apache2 stop
Sertîfîka û mifteyên PPA, depoya PHP-ê zêde bikin:
# apt install ca-certificates apt-transport-https
# wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
# echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
Dema ku guhertoya kevn a PHP 7.0 jêbirin, phpmyadmin jî dê were jêbirin, ji ber ku em ê "şopên" ji pakêtên jêbirin bi karanîna xweber jêbirinê paqij bikin. Ev ê bibe sedema ti dijwariyek taybetî, ji ber ku ji bo phpmyadmin mîhengên taybetî nehatine çêkirin û sazkirina wê ji nû ve dê ti pirsgirêk nebe.
# apt-get purge php7*
# apt-get --purge autoremove
# apt-get update
# apt-get install php7.2 phpmyadmin
Sazkirina modulên ku ji bo Nextcloud 17 hewce ne:
# apt-get install php7.2-mysql php7.2-curl php7.2-xml php7.2-gd php7.2-json php7.2-mbstring php7.2-zip php7.2-intl
# apt-get install php-memcached php-apcu php-redis php-imagick
[ bi taybetî ji bo malperê hatî nivîsandin nivîskar .
Girêdana çavkaniyê vebijarkî ye, lê behskirina wê pir tê pêşniyar kirin! ]
Em guhertoya PHP-ê kontrol dikin, servera malperê dest pê dikin û fonksiyona Nextcloud kontrol dikin:
# php -v
# service apache2 start
Nûvekirina MariaDB ji guhertoya 10.4
Li ser malpera projeyê heye , ku hûn hewce ne ku OS-ya xwe, serbestberdana wê destnîşan bikin û guhertoya databasê hilbijêrin. Dema ku were hilbijartin, koda ji bo zêdekirina depoyê dê were çêkirin.
Pêşkêşkara malperê rawestîne:
# service apache2 stop
Depoyek zêde bikin û pakêtan nûve bikin:
# apt-get install software-properties-common dirmngr
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
# add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.mirror.iweb.com/repo/10.4/debian stretch main'
# apt-get update
Dema ku MariaDB saz dike, rêveberê pakêtê dê guhertoya berê ya rast derxe û ya nû saz bike, dema ku hemî databas dê bêne parastin. Lêbelê, bê guman tê pêşniyar kirin ku hûn kopiyek hilanînê ya databasa Nextcloud çêbikin.
MariaDB saz bikin û pêvajoya nûvekirinê dest pê bikin:
# apt-get install mariadb-server
# mysql_upgrade u root -p
Piştî têketina şîfreyê, MariaDB dê nûve bike û hûn dikarin bi şopandina wê mîheng bikin :
# mysql_secure_installation
Em servera malperê dest pê dikin û fonksiyona Nextcloud kontrol dikin:
# service apache2 start
Nûvekirina Nextcloud bo guhertoya 17
Ji bo destpêkirina nûvekirinê, hûn hewce ne ku têkevin karûbarê di binê hesabek îdarî de, biçin mîhengan û di beşa îdarî de "Mîhengên Giştî" vekin. Nextcloud guhertoya sazkirî û guhertoya ku ji bo nûvekirinê heye nîşan dide, ku dikare bi tikandina bişkoka "Pencereya nûvekirinê veke" were destpêkirin. Piştî destpêkirinê, Nextcloud hilanînê çêdike, yekbûna pelên nûvekirinê dadixe û piştrast dike, moda lênêrînê vedike, û pelan nûve dike. Dûv re pirsa "Moda lênihêrînê çalak bihêle" tê? Divê hûn li vir baldar bin. Bersivek erênî dê malperê di moda lênihêrînê de bihêle - tê texmîn kirin ku rêveber dizane paşê çi bike û dê bi destan bike. Wekî din, Nextcloud dê her tiştî bixwe bike, ji ber vê yekê bişkoja "Na" bikirtînin da ku bidomînin.
Nûvekirin dubare têne kirin. Pêşîn, Nextcloud 13.x dê guhertoya herî dawî ya şaxê 14.x were nûve kirin. Piştî vê yekê, hûn ê hewce bikin ku hûn dîsa biçin navenda rêveberiyê û nûvekirinê dest pê bikin, naha ji 14.x ber 15.x. Û bi vî awayî heta ku guhertoya dawî ya gengaz a heyî bigihîje. Piştî her nûvekirinê, li ser rûpela "Mîhengên Giştî" di beşa îdarî de, navnîşek pêşniyar û pirsgirêkên ku derketine, û her weha pêşniyarên ji bo çareserkirina wan, dê werin xuyang kirin. Li jêr em ê li ser tiştê ku divê piştî her nûvekirinê were kirin biaxivin.
Berî nûvekirinê
Li ser guhertoyên herî dawî yên Nextcloud, tê pêşniyar kirin ku PHP OPcache çalak bike da ku performansê baştir bike. Ecêb e ku min çend sal berê bi rengekî ev xal ji bîr kir, ji ber ku OPcache di PHP 5 de xuya bû. Di /etc/php/7.2/apache2/php.ini de hûn hewce ne ku hûn pîvanên jêrîn şîrove bikin û biguherînin:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
pcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Nûvekirin 13.x -> 14.x
Vegerandina navnîşên tabloyê:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Nûvekirin 14.x -> 15.x
Em databasa nextcloud amade dikin ku şîfrekirina çar-byte çalak bike:
# mysql -u root -p
MariaDB [(none)]> ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> quit
Piştgiriya ji bo şîfrekirina çar-byte li Nextcloud çalak bike:
# sudo -u www-data php /var/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
Veguherandina tabloyan:
# sudo -u www-data php /var/www/nextcloud/occ maintenance:repair
Vegerandina navnîşên tabloya winda:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Indeksên tabloyê veguherînin bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
Nûvekirin 15.x -> 16.x
Vegerandina navnîşên tabloya winda:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Indeksên tabloyê veguherînin bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
Nûvekirin 16.x -> 17.x
Çalakiyek zêde ne hewce ye.
Paşê
Li dû van rêwerzan, makîneyek virtual ya bi Nextcloud 13 ve hate nûve kirin Bikaranîna makîneyek virtual dihêle hûn kopiyên paşverû yên pelên Nextcloud û databasa wê çênekin, ji ber ku di bûyera pirsgirêkan de hûn dikarin tenê pelê makîneya virtual ya ku berê hatî hilanîn vegerînin û ji nû ve dest pê bikin. dîsa. Lêbelê, ev ji peldanka bi daneyên bikarhêner re derbas nabe, ku ez jî pêşniyar dikim ku li gel makîneya virtual ya bi Nextcloud-ê re paşde vegere. Di doza min de, "ewr" wekî peldankek dûr bi guhertoya otomatîkî, û bi rêgeza hevdemkirinê "tenê li wir" tê bikar anîn, û windakirina vê daneyê ji bo min ne krîtîk bû - ez ê tenê çend demjimêran dîsa hevdengkirinê bikim. . Tevî guhnedana min ji qaîdeya "bi tenê di rewşê de" ya dirêj de, nûvekirin bêyî pirsgirêk derbas bû û hemî xerîdar bê pirsgirêk dest bi xebatê kirin bi Nextcloud 17 re, ez heyran im, Frank Karlitshek - hûn û tîmê we karek mezin dikin kar!
Piştî nûvekirinê, min biryar da ku daneyên bikarhênerê paqij bikim, ku, li gorî statîstîkan dadbar, bi qasî du terabytes dagir kir. Min ew qas daneya xebitandinê tune bû - piraniya cildê ji pelên guhertoyê û pelên jêbirin dagirtî bû. Pirsgirêka ku ez pê re rû bi rû bûm ev bû ku ji bo bikarhênerek ew qas daneya jêbirin hebû (ew jî ne meseleyek hejmûnê ye, lê hêjmarê - gelek pelên piçûk) ku Nextcloud nekare wê di navgîniya malperê de nîşan bide. Piştî xwendina manuala rêveberiyê, min çareseriyek bi rêza fermanê dît. Dibe ku ev ji bo kesek kêrhatî be.
Ji bo paqijkirina pelên bikarhênerê jêbirin:
# sudo -u www-data php /var/www/nextcloud/occ trashbin:cleanup user
Ji bo paqijkirina pelên guhertoya bikarhêner:
# sudo -u www-data php /var/www/nextcloud/occ versions:cleanup userVegerr .
Dîroka afirandina ewrê malê. Beş 5. Nûvekirin 2019 - PHP 7.2, MariaDB 10.4 û Nextcloud 17
Guhertoya nivîsê: 1.1.1.
Dîroka weşandina yekem: 15.01.2020/XNUMX/XNUMX.
Dîroka guhertina dawî: 15.01.2020/XNUMX/XNUMX.
Têketinê nûve bikin1.1.1 [15-01-2020]
Rastkirina şaşnivîsan.
1.1.0 [15-01-2020]
Koda amadekirina daneya nexcloud rast kir da ku kodkirina çar-bayt çalak bike.
1.0.0 [15-01-2020]
Pervaya Versiya.
Source: www.habr.com
