Dy vitet e kaluara, publikova një cikël artikujsh mbi krijimin e një serveri web mbi Debian 8 dhe nisjen e shërbimit Nextcloud 11. Pas disa muajsh, u publikua një shtesë që përmbante informacion "diferencial" mbi instalimin e Nextcloud 13 në Debian 9. Në fund të vitit 2018, thjesht e përmirësova Debian dhe Nextcloud dhe nuk u përballa me ndonjë problem të pazakontë ose të veçantë. Përmirësimi në fund të vitit 2019 ishte më interesant dhe ia vlen të shkruhet për këtë.

Ky artikull do të jetë veçanërisht i dobishëm për ata që, sipas udhëzimeve të katër artikujve të kaluar, kanë "ndërtuar" vetë Nextcloud 13 në Debian 9 (dërgoj përshëndetje një grupi të vogël ndjekësish për temën e Nextcloud, veçanërisht atyre për të cilët kjo ishte hera e parë në botën e Linux-it). Për ata që planifikojnë të krijojnë shërbimin nga fillimi, rekomandoj që të bazohen në katër artikujt e parë të këtij cikli, duke i përshtatur për versionet aktuale të Debian 10 dhe Nextcloud 17. Për përdoruesit e avancuar të Linux-it, artikulli mund të jetë diku mes "banal dhe të padobishëm" dhe "jo keq, një fletë ndihmesë e gjithçkaje në një vend".
Përmbajtja
Navigimi i shpejtë në kapitull
Parathënie
Në fillim, doja që të instaloj dhe konfiguroni Nginx në Debian 10, mbi të cilin pa probleme do të instaloheshin versionet e reja të Nextcloud 17. Por për të gjitha këto nuk kam arritur të gjej kohë, ndaj ky artikull paraqet një set udhëzimesh për përmirësimin e Nextcloud nga 13 në versionin aktual 17 me përgatitjen e paraprakishme të serverit web.
SĂ« pari, duhet tĂ« shpjegoj arsyet pĂ«r ndryshimet radikale nĂ« anĂ«n e serverit web. Serveri ynĂ« Ă«shtĂ« i bazuar nĂ« njĂ« Debian 9 tĂ« mbĂ«shtetur dhe aktual. Mund tĂ« pĂ«rmirĂ«sojmĂ« thjesht sistemin operativ dhe tĂ« gjitha komponentĂ«t e serverit web do tĂ« marrin sĂ« paku pĂ«rmirĂ«sime tĂ« sigurisĂ«. E gjithĂ« kjo do tĂ« ishte e shkĂ«lqyer po tĂ« vazhdonim tĂ« pĂ«rdornim Nextcloud 13 ose tĂ« pĂ«rmirĂ«soheshim vetĂ«m nĂ« versionin 14. Por Nextcloud 13 tashmĂ« nuk mbĂ«shtetet, ndĂ«rsa mbĂ«shtetje pĂ«r versionin 14 Ă«shtĂ« "nĂ« pĂ«rfundim". Duke filluar nga versioni 15, Nextcloud do tĂ« sugjerojĂ« tĂ« transformojĂ« bazĂ«n e tĂ« dhĂ«nave nĂ« big int pĂ«r tĂ« mbĂ«shtetur kodimin katĂ«r-byte dhe me MariaDB 10.1 do tĂ« jetĂ« mjaft problematike. Nextcloud 17 kĂ«rkon PHP 7.1-7.3, ndĂ«rsa Debian 9 nĂ« depot e tij natyrore pĂ«rmban vetĂ«m versionin 7.0. NĂ« mĂ«nyrĂ« mĂ« tĂ« saktĂ«, sa i pĂ«rket besueshmĂ«risĂ« dhe parashikueshmĂ«risĂ«, do tĂ« ishte mĂ« e mira tĂ« pĂ«rmirĂ«soheshim nĂ« versionin e pĂ«rparĂ«m tĂ« Nextcloud, por pĂ«r disa vjet, isha aq i sigurt nĂ« besueshmĂ«rinĂ« e kĂ«tij shĂ«rbimi, sa doja tĂ« pĂ«rmirĂ«sohesha nĂ« versionin mĂ« tĂ« fundit dhe tĂ« pĂ«rmirĂ«soja serverin web me njĂ« plan pĂ«r tĂ« ardhmen. Prandaj, pĂ«r pĂ«rmirĂ«simin e Nextcloud 17, Ă«shtĂ« optimal tĂ« pĂ«rmirĂ«sohet MariaDB nĂ« versionin stabil aktual 10.4, dhe PHP nĂ« 7.2. PikĂ«risht 7.2, dhe jo versioni aktual 7.4. Arsyet e kĂ«tij janĂ« se Nextcloud 13 kĂ«rkon PHP 5.6, 7.0-7.2, ndĂ«rsa pĂ«r Nextcloud 17 kĂ«rkon PHP 7.1-7.3. PĂ«rdorimi i PHP 7.2 Ă«shtĂ« i pĂ«rshtatshĂ«m pĂ«r tĂ« minimizuar veprimet pĂ«r pĂ«rmirĂ«sim. Nuk do tĂ« nevojitet pĂ«rmirĂ«simi i serverit Apache â mjafton tĂ« instalohet pĂ«rmirĂ«simi i sigurisĂ« qĂ« ekipi i mbĂ«shtetjes sĂ« Debian e shpĂ«rndan. Por pĂ«r pĂ«rmirĂ«simet e MariaDB dhe PHP, do tĂ« nevojitet tĂ« aktivizohen depot e jashtme.
Kur fillova tĂ« njoh Nextcloud, e pĂ«rmirĂ«soja "me dorĂ«": nga konsoli, me njĂ« komandĂ« speciale, faqja kalonte nĂ« mĂ«nyrĂ«n e shĂ«rbimit, shkarkohej manualisht dhe paketohej arkivi me versionin e ri tĂ« faqes, skedarĂ«t pĂ«rmirĂ«soheshin dhe fillohej procedura e pĂ«rmirĂ«simit. NjĂ« pĂ«rmirĂ«sim i tillĂ« zakonisht rezultonte me rezultatet e pritura, megjithĂ«se nuk e kisha lenĂ« pa bĂ«rĂ« njĂ« kopje rezervĂ« tĂ« faqes, bazĂ«s dhe tĂ« dhĂ«nave tĂ« pĂ«rdoruesve. NdĂ«rkohĂ«, pĂ«rmirĂ«simi automatik shpesh sillte surpriza tĂ« ndryshme. Por kjo ishte njĂ« kohĂ« e gjatĂ« mĂ« parĂ«, stabiliteti i motorit ka rritur ndjeshĂ«m qĂ« nga atĂ«herĂ« dhe kĂ«tĂ« herĂ« e bĂ«ra pĂ«rmirĂ«simet ekskluzivisht pĂ«rmes ndĂ«rfaqes web. MegjithatĂ«, nuk arrita tĂ« ik qoftĂ« edhe nga komanda. GjatĂ« pĂ«rmirĂ«simit iterativ nĂ« çdo version tĂ« ri nĂ« panelin e menaxhimit do tĂ« shfaqen paralajmĂ«rime dhe njoftime tĂ« ndryshme qĂ« do tĂ« duhet "tĂ« hiqen" duke kryer me kuptim komandat nĂ« komandĂ«n. Mund ta keni kĂ«tĂ« dhe nuk e bĂ«ni â shĂ«rbimi do tĂ« funksionojĂ« çfarĂ«do qoftĂ«. MegjithatĂ«, ky qasje Ă«shtĂ« krejtĂ«sisht e gabuar, por Nextcloud imi ka punuar nĂ« kĂ«tĂ« mĂ«nyrĂ« pĂ«r 3 muaj pĂ«rpara se tĂ« merrem me pyetjet qĂ« kishin dalĂ«.
Përmirësimi i Debian
Ndaluam serverin web:
# service apache2 stop
Dhe po përmirësohemi:
# apt-get update
# apt-get dist-upgrade
Pas së rritjes, mund të kontrolloni versionin e OS dhe të bëni një ri-ngritje të kontrollit për t'u siguruar se pas përditësimit gjithçka fillon siç duhet:
# cat /etc/debian_version
# reboot
Përmirësimi i PHP në versionin 7.2
Ndaluam serverin web:
# service apache2 stop
Shtojmë certifikatën dhe çelësat e PPA, depozita PHP:
# 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
Deri në heqjen e versionit të vjetër PHP 7.0, phpmyadmin gjithashtu do të hiqet, pasi "gjetjet" nga paketat e hequra do të pastrohen duke përdorur autoremove. Kjo nuk do të shkaktojë asnjë vështirësi të veçantë, pasi nuk u bënë konfigurime speciale për phpmyadmin dhe ta riinstalosh atë sërish nuk do të jetë problem.
# apt-get purge php7*
# apt-get --purge autoremove
# apt-get update
# apt-get install php7.2 phpmyadmin
Instalimi i moduleve të nevojshme për Nextcloud 17:
# 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
[ është shkruar posaçërisht për faqen autori .
Linku për burimin nuk është i detyrueshëm, por përmendja e tij është jashtëzakonisht e dëshirueshme! ]
Kontrollojmë versionin PHP, nisim serverin e uebit dhe kontrollojmë funksionimin e Nextcloud:
# php -v
# service apache2 start
Përmirësimi i MariaDB në versionin 10.4
Në faqen e projektit ka , ku duhet të tregoni sistemin tuaj operativ, versionin e tij dhe të zgjidhni versionin e bazës së të dhënave. Pasi të bëni zgjedhjen, do të gjenerohet kodi për të shtuar depot.
Ndaluam serverin web:
# service apache2 stop
Shtojmë depozitat dhe rifreskojmë paketat:
# 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
Kur instaloni MariaDB, menaxheri i paketave do të heqë versionin e mëparshëm dhe do të instalojë versionin e ri, të gjitha bazat e të dhënave do të ruajnë. Megjithatë, është e rekomandueshme të bëni një kopje rezervë të bazës së Nextcloud.
Instalojmë MariaDB dhe fillojmë procedurën e përditësimit:
# apt-get install mariadb-server
# mysql_upgrade u root -p
Pasi të futni fjalëkalimin, MariaDB do të përditësohet dhe do të mund ta konfigurojmë duke ndjekur :
# mysql_secure_installation
Nisim serverin e uebit dhe kontrollojmë funksionimin e Nextcloud:
# service apache2 start
Përmirësimi i Nextcloud në versionin 17
Për të filluar përditësimin, duhet të autorizoheni në shërbim me një llogari administrative, të shkoni në cilësimet dhe të hapni "Cilësimet e Përgjithshme" në seksionin administrativ. Nextcloud tregon versionin e instaluar dhe versionin e disponueshëm për përditësim, i cili mund të fillohet duke klikuar butonin "Hap dritaren e përditësimit". Pasi të iniciatohet, Nextcloud bën një kopje rezervë, shkarkon dhe kontrollon integritetin e skedarëve të përditësimit, aktivizon modalitetin e mirëmbajtjes dhe përditëson skedarët. Më pas, do të jetë një pyetje "Të mbetet aktiv modaliteti i mirëmbajtjes"? Këtu duhet të jeni të vëmendshëm. Një përgjigje pozitive do ta mbajë faqen në modalitetin e mirëmbajtjes - supozohet se administratori e di çfarë të bëjë më pas dhe do ta bëjë manualisht. Në të kundërt, Nextcloud do të bëjë gjithçka vetë, kështu që për të vazhduar, shtypim butonin "Jo".
Përditësimet kryhen në mënyrë iteruese. E para, Nextcloud 13.x do të përditësohet në versionin më të fundit të degës 14.x. Pas kësaj, duhet të hyni sërish në qendrën e administratës dhe të filloni përditësimin, tani nga 14.x në 15.x. Dhe kështu me radhë deri sa të arrihet versioni më i fundit i mundshëm. Pas çdo përditësimi, në faqen "Cilësimet e Përgjithshme" në seksionin administrativ do të shfaqet një listë e sugjerimeve dhe problemeve të shfaqura, si dhe rekomandimet për zgjidhjen e tyre. Më poshtë do të flasim për atë që duhet të bëni pas çdo përditësimi.
Para përditësimit
NĂ« versionet e fundit tĂ« Nextcloud, rekomandohet tĂ« aktivizohet PHP OPcache pĂ«r tĂ« pĂ«rmirĂ«suar performancĂ«n. ĂshtĂ« e çuditshme qĂ« kĂ«tĂ« moment e kam humbur para dy vjetĂ«sh, pasi OPcache doli qĂ« nĂ« PHP 5. NĂ« /etc/php/7.2/apache2/php.ini duhet tĂ« çkomentoni dhe modifikoni parametrat vijues:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Përditësimi 13.x -> 14.x
Rimëkëmbim i indekseve të tabelave:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Përditësimi 14.x -> 15.x
Përgatitja e bazës së të dhënave nextcloud për aktivizimin e kodifikimit katërbytësh:
# mysql -u root -p
MariaDB [(none)]> ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> quit
Aktivizimi i mbështetjes për kodifikimin katërbytësh në Nextcloud:
# sudo -u www-data php /var/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
Transformimi i tabelave:
# sudo -u www-data php /var/www/nextcloud/occ maintenance:repair
Rimëkëmbja e indekseve të humbura në tabela:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Transformimi i indekseve të tabelave në bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
Përditësimi 15.x -> 16.x
Rimëkëmbja e indekseve të humbura në tabela:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Transformimi i indekseve të tabelave në bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
Përditësimi 16.x -> 17.x
Nuk kërkohen veprime të tjera.
Pasthënie
Në përputhje me këtë udhëzim, u përditësua makina virtuale me Nextcloud 13. Përdorimi i makinës virtuale lejon që të mos bëni kopje rezervë të skedarëve të Nextcloud dhe të dhënave të tij, pasi në rast problemesh mund ta ktheni thjesht një skedar të ruajtur paraprakisht të makinës virtuale dhe të filloni gjithçka nga e para. Megjithatë, kjo nuk ia vlen për dosjen e të dhënave të përdoruesve, të cilën unë rekomandoj gjithashtu ta bëni kopje rezervë së bashku me makinën virtuale me Nextcloud. Në rastin tim, "rethi" përdoret si një dosje e largët me versionim automatik, duke pasur parasysh udhëzimin e sinkronizimit "vetëm atje", dhe humbja e këtyre të dhënave nuk ishte e rëndësishme - do të duhej vetëm disa orë për t'u sërish në sinkronizim. Pavarësisht nga neglizhenca ime ndaj rregullit të jetës "ruaje për secilin rast", përditësimi kaloi pa probleme dhe të gjithë klientët gjithashtu e filluan pa probleme me Nextcloud 17. Jam impresionuar, Frank Karlitsek - ju dhe ekipi juaj po bëni një punë të shkëlqyer!
Pas përditësimit, vendosa të pastroj të dhënat e përdoruesit, të cilat, sipas statistikave, zinin rreth dy terabajt. Nuk kisha aq shumë të dhëna të përkohshme - shumica e volumit zinte skedarët e versioneve dhe skedarët e fshirë. Problemi me të cilin u përballa ishte se për një përdorues të të dhënave të fshira kishte kaq shumë (nuk ishte çështja e volumit, por pikërisht e numrit - shumë skedarë të vegjël), saqë Nextcloud nuk mund t'i shfaqte ato në ndërfaqen e web-it. Pas studimit të manualit të administratës, gjetja e një zgjidhjeje përmes komandës ishte e mundur. Ndoshta dikujt do t'i nevojitet kjo.
Për të pastruar skedarët e fshirë të përdoruesit user:
# sudo -u www-data php /var/www/nextcloud/occ trashbin:cleanup user
Për të pastruar skedarët e versioneve të përdoruesit user:
# sudo -u www-data php /var/www/nextcloud/occ versions:cleanup userKthehu .
Historia e krijimit tĂ« rethit tĂ« shtĂ«pisĂ«. Pjesa 5. Aktualizimi 2019 â PHP 7.2, MariaDB 10.4 dhe Nextcloud 17
Versioni i tekstit: 1.1.1.
Data e publikimit të parë: 15.01.2020.
Data e përditësimit të fundit: 15.01.2020.
Dita e logut1.1.1 [15-01-2020]
Korrigjimi i gabimeve.
1.1.0 [15-01-2020]
Korrigjuar kodi i përgatitjes së databazës nexcloud për përfshirjen e kodimit katërbajtësh.
1.0.0 [15-01-2020]
Versioni i parë.
Burimi: habr.com
