Pirms diviem gadiem es publicÄju rakstu sÄriju par tÄ«mekļa servera izveidi uz Debian 8 bÄzes un pakalpojuma Nextcloud 11 palaiÅ”anu tajÄ. Dažus mÄneÅ”us vÄlÄk parÄdÄ«jÄs papildinÄjums, kurÄ bija ietverta ādiferenciÄlaā informÄcija par Nextcloud 13 instalÄÅ”anu Debian. 9. 2018. gada beigÄs es tikko atjauninÄju Debian un Nextcloud un nesaskÄros ar neparastÄm vai interesantÄm problÄmÄm. AtjauninÄjums 2019. gada beigÄs jau bija interesantÄks un rakstÄ«Å”anas vÄrts.
Å is raksts galvenokÄrt bÅ«s noderÄ«gs tiem, kuri saskaÅÄ ar iepriekÅ”Äjo Äetru rakstu norÄdÄ«jumiem āsamontÄjaā Nextcloud 13 operÄtÄjsistÄmÄ Debian 9 (es sveicu apmÄram duci savu abonentu par Nextcloud tÄmu, Ä«paÅ”i tiem, kuriem Ŕī bija viÅu pirmÄ pieredze Linux pasaulÄ). Tiem, kas plÄno izveidot pakalpojumu no nulles, iesaku par pamatu Åemt pirmos Äetrus Ŕīs sÄrijas rakstus, kas pielÄgoti paÅ”reizÄjÄm Debian 10 un Nextcloud 17 versijÄm. PieredzÄjuÅ”iem Linux lietotÄjiem raksts var aizÅemt kÄdu vieta starp ātriviÄli un bezjÄdzÄ«giā un ānav slikti, viss vienÄ vietÄ krÄpÅ”anÄs lapaā.
Satura
Ätra navigÄcija sadaļÄs
priekÅ”vÄrds
SÄkotnÄji vÄlÄjos instalÄt un konfigurÄt Nginx uz Debian 10, kam virsÅ« bez problÄmÄm varÄja uzinstalÄt paÅ”reizÄjo Nextcloud 17. Bet nevarÄju tam visam atrast laiku, tÄpÄc Å”is raksts ir instrukciju kopums atjauninÄÅ”anai. Nextcloud no 13 uz paÅ”reizÄjo versiju 17 ar iepriekÅ”Äju tÄ«mekļa servera sagatavoÅ”anu.
PirmkÄrt, mums ir jÄpaskaidro, kÄpÄc tÄ«mekļa servera pusÄ bija nepiecieÅ”amas radikÄlas izmaiÅas. MÅ«su serveris ir balstÄ«ts uz paÅ”reizÄjo un atbalstÄ«to Debian 9. JÅ«s varat vienkÄrÅ”i atjauninÄt operÄtÄjsistÄmu, un visi tÄ«mekļa servera komponenti saÅems vismaz droŔības atjauninÄjumus. Viss bÅ«tu lieliski, ja mÄs turpinÄtu lietot Nextcloud 13 vai atjauninÄtu tikai lÄ«dz 14. versijai. TaÄu Nextcloud 13 vairs netiek atbalstÄ«ts, un 14. versijas atbalsts ir drÄ«zumÄ. SÄkot no 15. versijas, Nexctcloud piedÄvÄs konvertÄt datubÄzi uz big int, lai atbalstÄ«tu Äetru baitu kodÄjumu, un ar MariaDB 10.1 tas bÅ«s ļoti problemÄtiski. Programmai Nexctcloud 17 ir nepiecieÅ”ama PHP 7.1ā7.3, savukÄrt Debian 9 sÄkotnÄjÄs krÄtuvÄs satur tikai versiju 7.0. UzticamÄ«bas un paredzamÄ«bas ziÅÄ pareizÄk bÅ«tu jauninÄt uz Nextcloud priekÅ”pÄdÄjo versiju, taÄu pÄc pÄris gadiem es kļuvu tik pÄrliecinÄts par Ŕī pakalpojuma uzticamÄ«bu, ka gribÄju jauninÄt uz jaunÄko versiju un atjauninÄt tÄ«mekļa serveris ar rezervi nÄkotnei. TÄpÄc, lai atjauninÄtu uz Nexctcloud 17, ir optimÄli atjauninÄt MariaDB uz paÅ”reizÄjo stabilo versiju 10.4 un PHP uz 7.2. TieÅ”i 7.2, nevis paÅ”reizÄjais 7.4. Fakts ir tÄds, ka Nextcloud 13 prasa PHP 5.6, 7.0ā7.2, bet Nexctcloud 17 prasa PHP 7.1ā7.3. Lai samazinÄtu atjauninÄÅ”anas centienus, ir Ärti izmantot PHP 7.2. Apache serveris nav jÄatjaunina ā vienkÄrÅ”i instalÄjiet droŔības atjauninÄjumus, ko izplata Debian atbalsta komanda. Bet MariaDB un PHP atjauninÄjumiem jums bÅ«s jÄpievieno ÄrÄjie repozitoriji.
Kad es tikko iepazinos ar Nextcloud, es to atjauninÄju āar rokuā: izmantojot Ä«paÅ”u komandu no konsoles, vietne tika pÄrslÄgta uz uzturÄÅ”anas režīmu, arhÄ«vs ar jauno vietnes versiju tika manuÄli lejupielÄdÄts un izpakots, faili tika atjauninÄti un tika sÄkta atjauninÄÅ”anas procedÅ«ra. Å Äds atjauninÄjums parasti noveda pie gaidÄ«tajiem rezultÄtiem, lai gan man nebija slinkums izveidot vietnes, datu bÄzes un lietotÄja datu rezerves kopiju. TaÄu automÄtiskie atjauninÄjumi dažkÄrt radÄ«ja visdažÄdÄkos pÄrsteigumus. Bet tas bija sen, kopÅ” tÄ laika dzinÄja stabilitÄte ir ievÄrojami palielinÄjusies, un Å”oreiz es veicu atjauninÄjumus tikai caur tÄ«mekļa saskarni. Tiesa, es joprojÄm nevarÄju atrauties no komandrindas. IteratÄ«vÄs atjauninÄÅ”anas laikÄ katrai jaunajai versijai vadÄ«bas panelÄ« parÄdÄ«sies dažÄdi brÄ«dinÄjumi un paziÅojumi, kas bÅ«s ājÄnoÅemā, jÄgpilni izpildot komandas komandrindÄ. Jums tas nav jÄdara ā pakalpojums joprojÄm darbosies. Lai gan Ŕī pieeja ir fundamentÄli nepareiza, Nextcloud Å”ajÄ režīmÄ man strÄdÄja 3 mÄneÅ”us, pirms es mÄrÄ·tiecÄ«gi tiku galÄ ar raduÅ”ajÄm problÄmÄm.
Debain atjauninÄjums
ApturÄt tÄ«mekļa serveri:
# service apache2 stop
Un mÄs atjauninÄm:
# apt-get update
# apt-get dist-upgrade
PÄc atjauninÄÅ”anas varat pÄrbaudÄ«t OS versiju un veikt pÄrbaudes atsÄknÄÅ”anu, lai pÄrliecinÄtos, ka pÄc atjauninÄÅ”anas viss sÄkas kÄ parasti:
# cat /etc/debian_version
# reboot
PHP atjauninÄÅ”ana uz versiju 7.2
ApturÄt tÄ«mekļa serveri:
# service apache2 stop
Pievienojiet sertifikÄtu un PPA atslÄgas, PHP repozitoriju:
# 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
DzÄÅ”ot veco PHP 7.0 versiju, tiks dzÄsts arÄ« phpmyadmin, jo mÄs nodzÄsÄ«sim āpÄdasā no izdzÄstajÄm pakotnÄm, izmantojot autoremove. Tas neradÄ«s Ä«paÅ”as grÅ«tÄ«bas, jo phpmyadmin netika veikti Ä«paÅ”i iestatÄ«jumi, un tÄ atkÄrtota instalÄÅ”ana neradÄ«s nekÄdas problÄmas.
# apt-get purge php7*
# apt-get --purge autoremove
# apt-get update
# apt-get install php7.2 phpmyadmin
Moduļu instalÄÅ”ana, kas nepiecieÅ”ami 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
[
Saite uz avotu nav obligÄta, taÄu ļoti ieteicams to pieminÄt! ]
MÄs pÄrbaudÄm PHP versiju, startÄjam tÄ«mekļa serveri un pÄrbaudÄm Nextcloud funkcionalitÄti:
# php -v
# service apache2 start
MariaDB jauninÄÅ”ana uz versiju 10.4
Projekta mÄjaslapÄ ir
ApturÄt tÄ«mekļa serveri:
# service apache2 stop
Pievienojiet repozitoriju un atjauniniet pakotnes:
# 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
InstalÄjot MariaDB, pakotÅu pÄrvaldnieks pareizi noÅems iepriekÅ”Äjo versiju un instalÄs jauno, bet visas datu bÄzes tiks saglabÄtas. TomÄr, protams, ieteicams izveidot Nextcloud datu bÄzes rezerves kopiju.
InstalÄjiet MariaDB un sÄciet atjauninÄÅ”anas procedÅ«ru:
# apt-get install mariadb-server
# mysql_upgrade u root -p
PÄc paroles ievadÄ«Å”anas MariaDB tiks atjauninÄts, un jÅ«s varat to konfigurÄt, veicot tÄlÄk norÄdÄ«tÄs darbÄ«bas
# mysql_secure_installation
MÄs palaižam tÄ«mekļa serveri un pÄrbaudÄm Nextcloud funkcionalitÄti:
# service apache2 start
Nextcloud atjauninÄÅ”ana uz versiju 17
Lai sÄktu atjauninÄÅ”anu, jums ir jÄpiesakÄs pakalpojumÄ ar administratÄ«vo kontu, dodieties uz iestatÄ«jumiem un administratÄ«vajÄ sadaÄ¼Ä atveriet āVispÄrÄ«gie iestatÄ«jumiā. Nextcloud parÄda instalÄto versiju un atjauninÄjumam pieejamo versiju, kuru var palaist, noklikŔķinot uz pogas āAtvÄrt atjauninÄÅ”anas loguā. PÄc palaiÅ”anas Nextcloud izveido dublÄjumu, lejupielÄdÄ un pÄrbauda atjauninÄÅ”anas failu integritÄti, ieslÄdz apkopes režīmu un atjaunina failus. NÄkamais ir jautÄjums āSaglabÄt apkopes režīmu aktÄ«vuā? Å eit jums jÄbÅ«t uzmanÄ«giem. PozitÄ«va atbilde atstÄs vietni uzturÄÅ”anas režīmÄ - tiek pieÅemts, ka administrators zina, kas jÄdara tÄlÄk, un darÄ«s to manuÄli. PretÄjÄ gadÄ«jumÄ Nextcloud visu darÄ«s pats, tÄpÄc noklikŔķiniet uz pogas "NÄ", lai turpinÄtu.
AtjauninÄjumi tiek veikti iteratÄ«vi. PirmkÄrt, Nextcloud 13.x tiks atjauninÄts uz jaunÄko 14.x filiÄles versiju. PÄc tam jums bÅ«s vÄlreiz jÄdodas uz administrÄÅ”anas centru un jÄsÄk atjauninÄÅ”ana, tagad no 14.x lÄ«dz 15.x. Un tÄ tÄlÄk, lÄ«dz tiek sasniegta pÄdÄjÄ iespÄjamÄ paÅ”reizÄjÄ versija. PÄc katra atjauninÄjuma administratÄ«vÄs sadaļas lapÄ āVispÄrÄ«gie iestatÄ«jumiā tiks parÄdÄ«ts ieteikumu un raduÅ”os problÄmu saraksts, kÄ arÄ« ieteikumi to risinÄÅ”anai. TÄlÄk mÄs runÄsim par to, kas jÄdara pÄc katra atjauninÄjuma.
LÄ«dz atjauninÄÅ”anai
JaunÄkajÄs Nextcloud versijÄs ir ieteicams iespÄjot PHP OPcache, lai uzlabotu veiktspÄju. DÄ«vaini, ka es kaut kÄ palaidu garÄm Å”o punktu pirms pÄris gadiem, jo āāOPcache parÄdÄ«jÄs PHP 5. MapÄ /etc/php/7.2/apache2/php.ini ir jÄatÅem komentÄri un jÄrediÄ£Ä Å”Ädi parametri:
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
AtjauninÄt 13.x ā> 14.x
Tabulu indeksu atjaunoŔana:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
AtjauninÄt 14.x ā> 15.x
MÄs sagatavojam nextcloud datu bÄzi, lai iespÄjotu Äetru baitu kodÄjumu:
# mysql -u root -p
MariaDB [(none)]> ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> quit
IespÄjot atbalstu Äetru baitu kodÄÅ”anai programmÄ Nextcloud:
# sudo -u www-data php /var/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
Tabulu konvertÄÅ”ana:
# sudo -u www-data php /var/www/nextcloud/occ maintenance:repair
ZaudÄto tabulas indeksu atkopÅ”ana:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
KonvertÄt tabulas indeksus uz bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
AtjauninÄt 15.x ā> 16.x
ZaudÄto tabulas indeksu atkopÅ”ana:
# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices
KonvertÄt tabulas indeksus uz bigint:
# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint
AtjauninÄt 16.x ā> 17.x
Papildu darbība nav nepiecieŔama.
PÄcvÄrds
PÄc Å”iem norÄdÄ«jumiem tika atjauninÄta virtuÄlÄ maŔīna ar Nextcloud 13. VirtuÄlÄs maŔīnas izmantoÅ”ana ļauj neveidot Nextcloud failu un tÄs datu bÄzes dublÄjumkopijas, jo problÄmu gadÄ«jumÄ var vienkÄrÅ”i atgriezt iepriekÅ” saglabÄto virtuÄlÄs maŔīnas failu un sÄkt visu no sÄkuma. atkal. TomÄr tas neattiecas uz mapi ar lietotÄja datiem, kuras es arÄ« iesaku dublÄt kopÄ ar virtuÄlo maŔīnu, izmantojot Nextcloud. ManÄ gadÄ«jumÄ āmÄkonisā tiek izmantots kÄ attÄlÄ mape ar automÄtisku versiju veidoÅ”anu un ar sinhronizÄcijas virzienu ātikai turā, un Å”o datu pazaudÄÅ”ana man nebija kritiska - man vienkÄrÅ”i bÅ«tu jÄveic sinhronizÄcija vairÄkas stundas. . Neskatoties uz to, ka es neievÄroju mūža noteikumu āsaglabÄt katram gadÄ«jumamā, atjauninÄÅ”ana noritÄja bez problÄmÄm, un visi klienti bez problÄmÄm sÄka strÄdÄt ar Nextcloud 17. Esmu pÄrsteigts, Frenk Karlitshek ā jums un jÅ«su komandai veicas lieliski. darbs!
PÄc atjauninÄÅ”anas nolÄmu notÄ«rÄ«t lietotÄja datus, kas, spriežot pÄc statistikas, aizÅÄma aptuveni divus terabaitus. Man nebija tik daudz darbÄ«bas datu ā lielÄko daļu apjoma aizÅÄma versiju faili un izdzÄstie faili. ProblÄma, ar kuru es saskÄros, bija tÄda, ka vienam lietotÄjam bija tik daudz izdzÄstu datu (tas nav pat apjoma jautÄjums, bet gan daudzums - daudz mazu failu), ka Nextcloud nevarÄja tos parÄdÄ«t tÄ«mekļa saskarnÄ. IzpÄtÄ«jis administrÄÅ”anas rokasgrÄmatu, es atradu risinÄjumu, izmantojot komandrindu. VarbÅ«t kÄdam Å”is noderÄs.
Lai notÄ«rÄ«tu izdzÄstos lietotÄja failus:
# sudo -u www-data php /var/www/nextcloud/occ trashbin:cleanup user
Lai notÄ«rÄ«tu lietotÄja versiju failus:
# sudo -u www-data php /var/www/nextcloud/occ versions:cleanup user
Atgriezties
MÄjas mÄkoÅa radÄ«Å”anas vÄsture. 5. daļa. 2019. gada atjauninÄjums ā PHP 7.2, MariaDB 10.4 un Nextcloud 17
Teksta versija: 1.1.1.
PirmÄs publikÄcijas datums: 15.01.2020.
PÄdÄjÄ rediÄ£ÄÅ”anas datums: 15.01.2020.
AtjauninÄt žurnÄlu1.1.1 [15-01-2020] Drukas kļūdu laboÅ”ana.
1.1.0 [15-01-2020] FiksÄts nexcloud datu bÄzes sagatavoÅ”anas kods, lai iespÄjotu Äetru baitu kodÄjumu.
1.0.0 [15-01-2020] PirmÄ versija.
Avots: www.habr.com