Dy vite më parë publikova një cikël artikujsh mbi krijimin e një serveri web mbi Debian 8 dhe lançimin e shërbimit Nextcloud 11. Pas disa muajsh doli një shtesë që përmbante informacione "diferenciale" për instalimin e Nextcloud 13 në Debian 9. Në fund të vitit 2018 thjesht e përmirësova Debian-in dhe Nextcloud-in dhe nuk uballafaqa me ndonjë problem të pazakontë ose interesant. Përmirësimi në fund të vitit 2019 ishte më interesant dhe ia vlente të shkruhej për të.

Ky artikull do t'i shërbejë kryesisht atyre që, sipas udhëzimeve të katër artikujve të kaluar, "të ndërtuan" Nextcloud 13 mbi Debian 9 (i çoj përshëndetje dhjetë nënshkruesve të mi për temën Nextcloud, sidomos atyre për të cilët ishte kjo përvoja e parë në botën e Linux-it). Për ata që planifikojnë të krijojnë shërbimin nga fillimi, i rekomandoj të marrin si bazë katër artikujt e parë të këtij cikli, me përmirësime për versionet aktuale të Debian 10 dhe Nextcloud 17. Për përdoruesit e përvojës në Linux, arti kulli mund të ketë ndonjë vend midis "trivial dhe të pavlerë" dhe "nuk është keq, një shënim për të gjitha në një vend".
Përmbajtja
Navigimi i shpejtë në kapitull
Parathënie
Fillimisht dëshiroja të instaloj dhe konfiguroj Nginx mbi Debian 10, mbi të cilin do të instalohej pa problem Nextcloud 17 më të fundit. Por për këtë nuk arrita të gjej kohë, prandaj ky artikull përmban një set udhëzimesh për përmirësimin e Nextcloud nga 13 në versionin aktual 17 me një përgatitje paraprake të serverit web.
SĂ« pari, duhet shpjeguar pse ishin tĂ« nevojshme ndryshime radikale nĂ« anĂ«n e ŃĐ”ŃĐČĐ”Ńit web. Serveri ynĂ« Ă«shtĂ« i bazuar nĂ« Debian 9, i cili Ă«shtĂ« aktual dhe i mbĂ«shtetur. Mund ta pĂ«rditĂ«sojmĂ« thjesht sistemin operativ dhe tĂ« gjithĂ« komponentĂ«t e ŃĐ”ŃĐČĐ”Ńit web do tĂ« marrin sĂ« paku pĂ«rditĂ«sime pĂ«r sigurinĂ«. Gjithçka do tĂ« ishte e shkĂ«lqyer nĂ«se do tĂ« vazhdonim tĂ« pĂ«rdornim Nextcloud 13 ose do tĂ« pĂ«rditĂ«sonim vetĂ«m nĂ« versionin 14. Por, Nextcloud 13 nuk mbĂ«shtetet mĂ«, dhe mbĂ«shtetja e versionit 14 Ă«shtĂ« "nĂ« pĂ«rfundim". Duke filluar nga versioni 15, Nexctcloud do tĂ« ofrojĂ« transformimin e bazĂ«s sĂ« tĂ« dhĂ«nave nĂ« big int pĂ«r mbĂ«shtetje tĂ« kodimit katĂ«r bytes dhe me MariaDB 10.1 do tĂ« jetĂ« mjaft problematike. Nexctcloud 17 kĂ«rkon PHP 7.1-7.3, ndĂ«rkohĂ« qĂ« Debian 9 nĂ« depozitat e tij standarde ka vetĂ«m versionin 7.0. MĂ« e drejtĂ«, nĂ« planin e qĂ«ndrueshmĂ«risĂ« dhe parashikueshmĂ«risĂ«, do tĂ« ishte tĂ« pĂ«rditĂ«soheshim nĂ« versionin parafundit tĂ« Nextcloud, por pĂ«r disa vjet kam qenĂ« aq i sigurt nĂ« qĂ«ndrueshmĂ«rinĂ« e kĂ«tij shĂ«rbimi saqĂ« dĂ«shiroja tĂ« pĂ«rditĂ«sohesha nĂ« versionin mĂ« tĂ« fundit dhe tĂ« pĂ«rditĂ«soja ŃĐ”ŃĐČĐ”Ńin web me qĂ«llim pĂ«r tĂ« ardhmen. Prandaj, pĂ«r tĂ« pĂ«rditĂ«suar nĂ« Nexctcloud 17, Ă«shtĂ« optimal tĂ« pĂ«rditĂ«sojmĂ« MariaDB nĂ« versionin aktual stabil 10.4, dhe PHP nĂ« 7.2. PikĂ«risht 7.2, dhe jo 7.4 aktuale. Arsyeja Ă«shtĂ« se Nextcloud 13 kĂ«rkon PHP 5.6, 7.0 - 7.2, dhe pĂ«r Nexctcloud 17 kĂ«rkohet PHP 7.1 - 7.3. PĂ«rdorimi i PHP 7.2 Ă«shtĂ« i pĂ«rshtatshĂ«m pĂ«r qĂ«llimin e minimizimit tĂ« veprimeve tĂ« pĂ«rditĂ«simit. Nuk do tĂ« nevojitet tĂ« pĂ«rditĂ«sohet serveri Apache - mjafton tĂ« instalohen pĂ«rditĂ«simet pĂ«r sigurinĂ« qĂ« ofron ekipi mbĂ«shtetĂ«s i Debian. Por pĂ«r pĂ«rditĂ«simet e MariaDB dhe PHP do tĂ« duhet tĂ« lidhemi me depozitat e jashtme.
Kur unĂ« sapo po njihem me Nextcloud, e pĂ«rditĂ«soja atĂ« "me duar": nga konsola, me njĂ« komandĂ« speciale, faqja kalonte nĂ« modalitetin e shĂ«rbimit, arkivat e reja shkarkoheshin dhe shpaketoheshin manualisht, skedarĂ«t pĂ«rditĂ«soheshin dhe fillohej procedura e pĂ«rditĂ«simit. Kjo pĂ«rditĂ«sim zakonisht sjellte rezultate tĂ« pritura, megjithĂ«se nuk e leja pas dore tĂ« bĂ«ja kopje rezervĂ« tĂ« faqes, bazĂ«s dhe tĂ« dhĂ«nave tĂ« pĂ«rdoruesve. MegjithatĂ«, pĂ«rditĂ«simi automatik ndonjĂ«herĂ« sillte surpriza. Por kjo ishte kohĂ« mĂ« parĂ«, stabiliteti i motorit ka treguar rritje tĂ« madhe qĂ« atĂ«herĂ« dhe kĂ«tĂ« herĂ« e bĂ«ra pĂ«rditĂ«simin ekskluzivisht pĂ«rmes ndĂ«rfaqes web. MegjithatĂ«, nuk arrita tĂ« shmanga plotĂ«sisht komandĂ«n nĂ« linjĂ«. Me pĂ«rditĂ«simin iterativ, nĂ« çdo version tĂ« ri nĂ« panelin e kontrollit do tĂ« shfaqeshin paralajmĂ«rime dhe njoftime tĂ« ndryshme, tĂ« cilat duhej "tĂ« hiqeshin", duke ekzekutuar me kuptim komandat nĂ« linjĂ«n e komandĂ«s. Mund ta lĂ«sh pa bĂ«rĂ« kĂ«tĂ« â shĂ«rbimi do tĂ« funksionojĂ« gjithsesi. MegjithatĂ«, ky qasje Ă«shtĂ« krejt e gabuar, pasi Nextcloud-i im ka funksionuar nĂ« kĂ«tĂ« modalitet pĂ«r 3 muaj pĂ«rpara se tĂ« merrem me pyetjet qĂ« kishin lindur.
Përditësimi i Debain
Ndaluam serverin web:
# service apache2 stop
Dhe përditësohemi:
# apt-get update
# apt-get dist-upgrade
Pas përditësimit, mund të kontrolloni versionin e OS dhe të bëni një rindezje për të siguruar që pas përditësimit gjithçka starton normalisht:
# 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 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
Kur të hiqet versioni i vjetër PHP 7.0, gjithashtu do të hiqet phpmyadmin, pasi "gjurmët" e pakove të hequra do t'i heqim duke përdorur autoremove. Kjo nuk do të shkaktojë veçanërisht vështirësi, pasi nuk janë bërë asnjë konfigurim special për phpmyadmin dhe rikthimi i tij nuk do të paraqesë asnjë 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 nga autori .
Linku në burim nuk është i detyrueshëm, por përmendja e tij është shumë e dëshirueshme! ]
Kontrollojmë versionin e PHP, nisim serverin web 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ë specifikoni 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 një kod për të shtuar depozitën.
Ndaluam serverin web:
# service apache2 stop
Shtojmë depozitën dhe përditësojmë 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
Gjatë instalimit të MariaDB, menaxheri i paketave do të fshijë versionin e mëparshëm pa ndikuar në ruajtjen e bazave të dhënave. Megjithatë, rekomandohet të bëni një kopje rezervë të bazës së të dhënave të Nextcloud.
Instalojmë MariaDB dhe fillojmë procedurën e përmirësimit:
# apt-get install mariadb-server
# mysql_upgrade u root -p
Pas futjes së fjalëkalimit, MariaDB do të përmirësohet dhe do të mund ta konfigurojmë duke ndjekur :
# mysql_secure_installation
Nisni serverin web dhe kontrolloni funksionimin e Nextcloud:
# service apache2 start
Përmirësimi i Nextcloud në versionin 17
PĂ«r tĂ« nisur pĂ«rmirĂ«simin, duhet tĂ« identifikoheni nĂ« shĂ«rbim me njĂ« llogari administrative, tĂ« shkoni nĂ« cilĂ«sime dhe tĂ« hapni "CilĂ«simet e pĂ«rgjithshme" nĂ« seksionin administrativ. Nextcloud tregon versionin e instaluar dhe versionin e disponueshĂ«m pĂ«r pĂ«rmirĂ«sim, i cili mund tĂ« startehet duke klikuar butonin "Hap dritaren e pĂ«rmirĂ«simit". Pas iniciatĂ«s, Nextcloud bĂ«n njĂ« kopje rezervĂ«, shkarkon dhe verifikon integritetin e skedarĂ«ve tĂ« pĂ«rmirĂ«simit, aktivizon modalitetin e mbajtjes dhe pĂ«rmirĂ«son skedarĂ«t. MĂ« pas do tĂ« shfaqet pyetja "TĂ« mbetet aktiv modaliteti i mbajtjes"? KĂ«tu duhet tĂ« jeni tĂ« kujdesshĂ«m. NjĂ« pĂ«rgjigje pozitive do ta mbajĂ« faqen nĂ« modalitetin e mbajtjes â supozohet se administratori e di se çfarĂ« duhet 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, kliko butonin "Jo".
Përmirësimet kryhen në mënyrë iteruese. Së pari, Nextcloud 13.x do të përmirësohet në versionin e fundit të degës 14.x. Pas kësaj, duhet të hyni përsëri në qendrën administrative dhe të filloni përmirësimin, tani nga 14.x në 15.x. Dhe kështu me radhë derisa të arrihet versioni më i fundit i disponueshëm. Pas çdo përmirësimi, në faqen "Cilësimet e përgjithshme" në seksionin administrativ do të shfaqet një listë me propozime dhe probleme të shfaqura, si dhe rekomandime për zgjidhjen e tyre. Më poshtë do të flitet për atë se çfarë duhet të bëni pas çdo përmirësimi.
Para përmirësimit
NĂ« versionet e fundit tĂ« Nextcloud, rekomandohet tĂ« aktivizoni PHP OPcache pĂ«r tĂ« pĂ«rmirĂ«suar performancĂ«n. ĂshtĂ« çuditshme se kĂ«tĂ« moment e kam lĂ«nĂ« pas dore disa vite mĂ« parĂ«, pasi OPcache u shfaq qĂ« nĂ« PHP 5. NĂ« /etc/php/7.2/apache2/php.ini duhet tĂ« shkruani dhe tĂ« redaktoni parametrat e mĂ«poshtĂ«m:
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
Përmirësimi 13.x -> 14.x
Rindërtojmë indekset e tabelave:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Përmirësimi 14.x -> 15.x
Po përgatitjen e bazës së të dhënave nextcloud për aktivizimin e kodifikimit katërbyte:
# mysql -u root -p
MariaDB [(none)]> ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> quit
Aktivizojmë mbështetje për kodifikimin katërbyte në Nextcloud:
# sudo -u www-data php /var/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
Transformojmë tabelat:
# sudo -u www-data php /var/www/nextcloud/occ maintenance:repair
Rikthejmë indekset e humbura të tabelave:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Transformojmë indeksat e tabelave në bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
Përditësimi 15.x -> 16.x
Rikthejmë indekset e humbura të tabelave:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
Transformojmë indeksat e 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
Sipas kĂ«tij udhĂ«zimi, Ă«shtĂ« pĂ«rditĂ«suar makina virtuale me Nextcloud 13. PĂ«rdorimi i njĂ« makine virtuale lejon tĂ« mos bĂ«hen kopje rezervĂ« tĂ« skedarĂ«ve tĂ« Nextcloud dhe tĂ« bazĂ«s sĂ« tij tĂ« tĂ« dhĂ«nave, pasi nĂ« rast probleme mund tĂ« kthehemi thjesht nĂ« njĂ« skedar tĂ« ruajtur paraprakisht tĂ« makinĂ«s virtuale dhe tĂ« fillojmĂ« gjithçka nga e para. MegjithatĂ«, kjo nuk i referohet dosjes me tĂ« dhĂ«nat e pĂ«rdoruesve, tĂ« cilĂ«n unĂ« rekomandoj gjithashtu ta bĂ«jkopje rezervĂ« sĂ« bashku me makinĂ«n virtuale me Nextcloud. NĂ« rastin tim, "nĂ« cloud" pĂ«rdoret si njĂ« dosje e largĂ«t me versionim automatik, megjithatĂ« me njĂ« drejtim sinkronizimi "vetĂ«m atje", dhe humbja e kĂ«tyre tĂ« dhĂ«nave nuk ishte kritike â do tĂ« duhej thjesht disa orĂ« pĂ«r ta bĂ«rĂ« pĂ«rsĂ«ri sinkronizimin. PavarĂ«sisht nga neglizhenca ime ndaj rregullit tĂ« pĂ«rcaktuar nga jeta "ruaj veten pĂ«r çdo rast", pĂ«rditĂ«simi kaloi pa probleme dhe tĂ« gjithĂ« klientĂ«t gjithashtu funksionuan pa probleme me Nextcloud 17. UnĂ« jam i impresionuar, Frank Karlitchek â Ti dhe ekipi yt po bĂ«ni njĂ« punĂ« tĂ« shkĂ«lqyer!
Pas pĂ«rditĂ«simit, vendosa tĂ« pastroj tĂ« dhĂ«nat e pĂ«rdoruesve, tĂ« cilat, sipas statistikave, zinin nĂ«n dy terabajt. Nuk kisha kaq shumĂ« tĂ« dhĂ«na tĂ« pĂ«rkohshme â shumica e volumit ishin skedarĂ« versioni dhe skedarĂ« tĂ« fshirĂ«. Problemi me tĂ« cilin u pĂ«rballa ishte se pĂ«r njĂ« pĂ«rdorues, tĂ« dhĂ«nat e fshira ishin aq shumĂ« (nuk ishte çështje volumi, por mĂ« shumĂ« numri â shumĂ« skedarĂ« tĂ« vegjĂ«l), sa Nextcloud nuk mund tĂ« shfaqte ato nĂ« ndĂ«rfaqen web. Pas shqyrtimit tĂ« udhĂ«zimeve pĂ«r administrimin, gjeta njĂ« zgjidhje pĂ«rmes linjĂ«s sĂ« komandĂ«s. Ndoshta kjo do t'u pĂ«rdorej ndonjĂ«herĂ« dikujt.
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 pastrimin e skedarëve të versioneve të përdoruesit user:
# sudo -u www-data php /var/www/nextcloud/occ versions:cleanup userKthehu .
Historia e krijimit tĂ« cloud-it shtĂ«piak. Pjesa 5. Aktualizimi 2019 â PHP 7.2, MariaDB 10.4 dhe Nextcloud 17
Versioni i tekstit: 1.1.1.
Data e parë e publikimit: 15.01.2020.
Data e fundit e rishikimit: 15.01.2020.
Të dhënat e përditësimeve1.1.1 [15-01-2020]
Korrigjim të gabimeve të shtypit.
1.1.0 [15-01-2020]
Korrigjuar kodi i përgatitjes së bazës së të dhënave nexcloud për aktivizimin e kodifikimit katërbyte.
1.0.0 [15-01-2020]
Versioni i parë.
Burimi: habr.com
