የቤት ደመና የመፍጠር ታሪክ። ክፍል 5. አዘምን 2019 – PHP 7.2፣ MariaDB 10.4 እና Nextcloud 17

ከሁለት አመት በፊት በዴቢያን 8 ላይ የተመሰረተ የድር አገልጋይ መፍጠር እና የ Nextcloud 11 አገልግሎትን በእሱ ላይ ማስኬድ በሚል ርዕስ ተከታታይ መጣጥፎችን አሳትሜያለሁ ከጥቂት ወራት በኋላ Nextcloud 13 ን በዴቢያን ላይ ስለመጫን "ልዩ" መረጃ የያዘ ተጨማሪ ታየ 9. በ2018 መገባደጃ ላይ፣ ዲቢያንን እና Nextcloudን አዘምነዋለሁ እና ምንም ያልተለመዱ ወይም አስደሳች ችግሮች አላጋጠሙኝም። እ.ኤ.አ. በ2019 መገባደጃ ላይ ያለው ዝማኔ አስቀድሞ የበለጠ አስደሳች እና ሊጻፍበት የሚገባ ነበር።

የቤት ደመና የመፍጠር ታሪክ። ክፍል 5. አዘምን 2019 – PHP 7.2፣ MariaDB 10.4 እና Nextcloud 17

ይህ መጣጥፍ በዋነኝነት የሚጠቅመው ባለፉት አራት መጣጥፎች መመሪያ መሰረት Nextcloud 13 በዴቢያን 9 ላይ “ተሰበሰቡ” (ለ 10 ለሚሆኑት ተመዝጋቢዎቼ በ Nextcloud ርዕስ ላይ ሰላም እላለሁ ፣ በተለይም ለማን ይህ በሊኑክስ አለም የመጀመሪያ ልምዳቸው ነበር)። አገልግሎትን ከባዶ ለመፍጠር ላሰቡ ፣ለአሁኑ የዴቢያን 17 እና Nextcloud XNUMX ስሪቶች የተስተካከሉ የዚህ ተከታታይ የመጀመሪያዎቹን አራት መጣጥፎች እንደ መነሻ እንዲወስዱ እመክርዎታለሁ ። ልምድ ላላቸው የሊኑክስ ተጠቃሚዎች ጽሑፉ የተወሰነ ሊወስድ ይችላል ። በ“ቀላል እና የማይጠቅም” እና “መጥፎ ያልሆነ፣ ሁሉም በአንድ ቦታ የማጭበርበር ወረቀት” መካከል ያለ ቦታ።

ማውጫ

ክፍል 1፡ ለዕለታዊ አጠቃቀም የዴቢያን አካባቢን ማዘጋጀት
ክፍል 2፡ አገልጋይ መፍጠር - በዴቢያን ላይ LAMP ማዋቀር
ክፍል 3. የግል ደመና መፍጠር - Nextcloud መጫን እና ማዋቀር
ክፍል 4. 2018 አዘምን - ዴቢያን 9 እና Nextcloud 13
ክፍል 5. አዘምን 2019 – PHP 7.2፣ MariaDB 10.4 እና Nextcloud 17

ፈጣን ምዕራፍ አሰሳ

መቅድም
የዴቢያን ዝማኔ
ፒኤችፒን ወደ ስሪት 7.2 በማዘመን ላይ
MariaDBን ወደ ስሪት 10.4 በማሻሻል ላይ
Nextcloudን ወደ ስሪት 17 በማዘመን ላይ
ከቃል በኋላ

መቅድም

መጀመሪያ ላይ Nginx ን በዲቢያን 10 ላይ መጫን እና ማዋቀር ፈልጌ ነበር ፣ በላዩ ላይ አሁን ያለው Nextcloud 17 ያለ ምንም ችግር ሊጫን ይችላል ፣ ግን ለዚህ ሁሉ ጊዜ አላገኘሁም ፣ ስለዚህ ይህ ጽሑፍ ለማዘመን መመሪያዎች ስብስብ ነው ። Nextcloud ከ13 ወደ የአሁኑ ስሪት 17 የድረ-ገጽ አገልጋዩን ቅድመ ዝግጅት በማድረግ።

በመጀመሪያ፣ በድር አገልጋይ በኩል ሥር ነቀል ለውጦች ለምን እንደተፈለጉ ማብራራት አለብን። የእኛ አገልጋይ አሁን ባለው እና በሚደገፈው ዴቢያን 9 ላይ የተመሰረተ ነው.ኦፕሬቲንግ ሲስተምን በቀላሉ ማዘመን ይችላሉ እና ሁሉም የዌብ ሰርቨር አካላት ቢያንስ የደህንነት ዝመናዎችን ያገኛሉ። Nextcloud 13 ን መጠቀማችንን ከቀጠልን ወይም ወደ ስሪት 14 ብቻ ከተዘመንን ሁሉም ነገር ጥሩ ነበር። ከስሪት 13 ጀምሮ Nexctcloud ባለአራት ባይት ኢንኮዲንግ ለመደገፍ የመረጃ ቋቱን ወደ ትልቅ ኢንት ለመቀየር ያቀርባል፣ እና በ MariaDB 14 ይህ በጣም ችግር ያለበት ነው። Nexctcloud 15 ፒኤችፒ 10.1-17 ይፈልጋል፣ ደቢያን 7.1 ደግሞ በአፍ መፍቻ ማከማቻዎቹ ውስጥ ስሪት 7.3 ብቻ ይዟል። ከታማኝነት እና ከመተንበይ አንፃር ወደ Nextcloud የመጨረሻው ስሪት ማሻሻል የበለጠ ትክክል ይሆናል ፣ ግን ከጥቂት ዓመታት በኋላ በዚህ አገልግሎት አስተማማኝነት በጣም እርግጠኛ ስለሆንኩ ወደ አዲሱ ስሪት ማሻሻል እና ማዘመን ፈለግሁ። ለወደፊቱ ተጠባባቂ ያለው የድር አገልጋይ። ስለዚህ፣ ወደ Nexctcloud 9 ለማዘመን፣ MariaDBን አሁን ወዳለው የተረጋጋ ስሪት 7.0፣ እና PHP ወደ 17 ማዘመን ጥሩ ነው። በትክክል 10.4, አሁን ያለው 7.2 አይደለም. እውነታው ግን Nextcloud 7.2 PHP 7.4፣ 13 - 5.6 ይፈልጋል፣ እና Nexctcloud 7.0 PHP 7.2 - 17 ይፈልጋል። የማዘመን ጥረቶችን ለመቀነስ PHP 7.1 ን ለመጠቀም ምቹ ነው። የእርስዎን Apache አገልጋይ ማዘመን አያስፈልግም - በዴቢያን የድጋፍ ቡድን የሚሰራጩትን የደህንነት ዝመናዎች ብቻ ይጫኑ። ግን ለ MariaDB እና PHP ዝመናዎች የውጭ ማከማቻዎችን ማገናኘት አለብዎት።

ከNextcloud ጋር እየተተዋወቅኩ ሳለ “በእጅ” አዘምነዋለሁ፡ ከኮንሶሉ ላይ ልዩ ትዕዛዝ በመጠቀም ጣቢያው ወደ ጥገና ሁነታ ተቀይሯል፣ የጣቢያው አዲስ ስሪት ያለው ማህደር በእጅ ወርዷል እና ተፈታ፣ ፋይሎቹ ተዘምነዋል እና የማሻሻያ ሂደቱ ተጀምሯል. እንዲህ ዓይነቱ ዝማኔ ብዙውን ጊዜ የሚጠበቀው ውጤት አስገኝቷል, ምንም እንኳን የጣቢያው, የውሂብ ጎታ እና የተጠቃሚ ውሂብ መጠባበቂያ ቅጂ ለመስራት ሰነፍ ባልሆንም. ነገር ግን አውቶማቲክ ማሻሻያ አንዳንድ ጊዜ ሁሉንም አስገራሚ ነገሮች አስከትሏል። ግን ያ ከረጅም ጊዜ በፊት ነበር ፣ ከዚያን ጊዜ ጀምሮ የሞተሩ መረጋጋት በከፍተኛ ሁኔታ ጨምሯል ፣ እና በዚህ ጊዜ ዝመናዎችን በድር በይነገጽ ብቻ ሰራሁ። እውነት ነው, አሁንም ከትእዛዝ መስመሩ መራቅ አልቻልኩም. በእያንዳንዱ አዲስ ስሪት ላይ ተደጋጋሚ ማሻሻያ በሚደረግበት ጊዜ በመቆጣጠሪያ ፓኔል ውስጥ የተለያዩ ማስጠንቀቂያዎች እና ማሳወቂያዎች ይታያሉ, ይህም በትእዛዝ መስመር ላይ ትዕዛዞችን ትርጉም ባለው መልኩ በማስፈጸም "መወገድ" ያስፈልገዋል. ይህን ማድረግ የለብዎትም - አገልግሎቱ አሁንም ይሰራል. ምንም እንኳን ይህ አካሄድ በመሠረቱ ስህተት ቢሆንም Nextcloud የተነሱትን ጉዳዮች ሆን ብዬ ከማስተናገዴ በፊት በዚህ ሁነታ ለ 3 ወራት ሰርቶልኛል።

Debain ዝማኔ

የድር አገልጋይ አቁም፡-

# service apache2 stop


እና አዘምነናል፡-

# apt-get update
# apt-get dist-upgrade


ከዝማኔው በኋላ ሁሉም ነገር ከዝማኔው በኋላ በመደበኛነት መጀመሩን ለማረጋገጥ የስርዓተ ክወናውን ስሪት መፈተሽ እና የሙከራ ዳግም ማስጀመር ማድረግ ይችላሉ፡

# cat /etc/debian_version
# reboot


ፒኤችፒን ወደ ስሪት 7.2 በማዘመን ላይ

የድር አገልጋይ አቁም፡-

# service apache2 stop


የምስክር ወረቀት እና ፒፒኤ ቁልፎችን፣ ፒኤችፒ ማከማቻ ያክሉ፡

# 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


የድሮውን የ PHP 7.0 ስሪት ስንሰርዝ፣ phpmyadmin እንዲሁ ይሰረዛል፣ ምክንያቱም አውቶማቲክን በመጠቀም ከተሰረዙ ጥቅሎች ውስጥ “ዱካዎችን” እናጸዳለን። ለ phpmyadmin ምንም ልዩ ቅንጅቶች ስላልተሠሩ እና እንደገና መጫን ምንም ችግር ስለሌለው ይህ ምንም ልዩ ችግር አይፈጥርም።

# apt-get purge php7*
# apt-get --purge autoremove
# apt-get update
# apt-get install php7.2 phpmyadmin


ለ 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


[ ይህ ጽሑፍ በተለይ ለጣቢያው የተፃፈ hab.com ደራሲ አሌክሳንደርኤስ.
ወደ ምንጩ የሚወስድ አገናኝ አማራጭ ነው፣ ግን እሱን መጥቀስ በጣም ይመከራል! ]

የPHP ሥሪቱን እንፈትሻለን፣ የድር አገልጋዩን እንጀምራለን እና የNextcloudን ተግባር እንፈትሻለን።

# php -v
# service apache2 start


MariaDBን ወደ ስሪት 10.4 በማሻሻል ላይ

በፕሮጀክቱ ድህረ ገጽ ላይ አለ አስደሳች ገጽ, የእርስዎን ስርዓተ ክወና, የሚለቀቀውን እና የውሂብ ጎታ ስሪቱን የሚያመለክቱበት ቦታ. አንዴ ከተመረጠ፣ ማከማቻውን ለመጨመር ኮድ ይወጣል።

የድር አገልጋይ አቁም፡-

# service apache2 stop


ማከማቻ ያክሉ እና ጥቅሎችን ያዘምኑ፡

# 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


MariaDB ን ሲጭኑ የጥቅል አስተዳዳሪው የቀደመውን ስሪት በትክክል ያስወግዳል እና አዲሱን ይጭናል ፣ ሁሉም የውሂብ ጎታዎች ይጠበቃሉ። ሆኖም የNextcloud ዳታቤዝ መጠባበቂያ ቅጂ ለመስራት በእርግጥ ይመከራል።

MariaDB ን ጫን እና የማዘመን ሂደቱን ጀምር፡

# apt-get install mariadb-server
# mysql_upgrade u root -p


የይለፍ ቃሉን ካስገቡ በኋላ, MariaDB ይዘምናል እና በመከተል ማዋቀር ይችላሉ ከክፍል ሁለት መመሪያ:

# mysql_secure_installation


የድር አገልጋዩን አስጀምረናል እና የ Nextcloudን ተግባራዊነት እንፈትሻለን፡-

# service apache2 start


Nextcloudን ወደ ስሪት 17 በማዘመን ላይ

ማሻሻያውን ለመጀመር በአስተዳደር መለያ ውስጥ ወደ አገልግሎቱ መግባት አለብዎት, ወደ ቅንብሮች ይሂዱ እና በአስተዳደር ክፍል ውስጥ "አጠቃላይ ቅንብሮችን" ይክፈቱ. Nextcloud የተጫነውን ስሪት እና ለዝማኔ ያለውን ስሪት ያሳያል, ይህም "የማዘመኛ መስኮቱን ክፈት" ቁልፍን ጠቅ በማድረግ መጀመር ይቻላል. አንዴ ከተጀመረ Nextcloud ምትኬን ይሰራል፣ የማውረድ እና የማዘመን ፋይሎችን ትክክለኛነት ያረጋግጣል፣ የጥገና ሁነታን ያበራል እና ፋይሎቹን ያዘምናል። ቀጥሎ የሚመጣው ጥያቄ "የጥገና ሁነታን በንቃት ይቀጥሉ"? እዚህ መጠንቀቅ አለብዎት. አወንታዊ ምላሽ ጣቢያውን በጥገና ሁኔታ ውስጥ ይተዋል - አስተዳዳሪው ቀጥሎ ምን ማድረግ እንዳለበት እንደሚያውቅ እና በእጅ እንደሚሰራ ይታሰባል። ያለበለዚያ Nextcloud ሁሉንም ነገር በራሱ ያደርጋል ፣ ስለሆነም ለመቀጠል “አይ” የሚለውን ቁልፍ ጠቅ ያድርጉ ።

ዝማኔዎች በተደጋጋሚ ይከናወናሉ. በመጀመሪያ Nextcloud 13.x ወደ የቅርብ ጊዜው የ14.x ቅርንጫፍ ይዘመናል። ከዚህ በኋላ, እንደገና ወደ የአስተዳዳሪ ማእከል መሄድ እና ዝመናውን መጀመር ያስፈልግዎታል, አሁን ከ 14.x እስከ 15.x. እና የመጨረሻው የሚቻል የአሁኑ ስሪት እስኪደርስ ድረስ. ከእያንዳንዱ ዝመና በኋላ በአስተዳደር ክፍል ውስጥ ባለው "አጠቃላይ ቅንጅቶች" ገጽ ላይ የአስተያየት ጥቆማዎች እና ችግሮች ዝርዝር እንዲሁም እነሱን ለመፍታት ምክሮች ይታያሉ. ከታች ከእያንዳንዱ ዝመና በኋላ ምን መደረግ እንዳለበት እንነጋገራለን.

ከማዘመን በፊት

በ Nextcloud የቅርብ ጊዜ ስሪቶች ላይ አፈፃፀሙን ለማሻሻል PHP OPcache ን ማንቃት ይመከራል። OPcache በ PHP 5 ውስጥ ስለታየ ከጥቂት አመታት በፊት በሆነ መንገድ ይህንን ነጥብ አምልጦኝ መሆኔ ይገርማል። በ /etc/php/7.2/apache2/php.ini ውስጥ አስተያየት መስጠት እና የሚከተሉትን መለኪያዎች ማስተካከል ያስፈልግዎታል።

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


አዘምን 13.x -> 14.x

የሠንጠረዥ ኢንዴክሶችን ወደነበሩበት መመለስ;

# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices


አዘምን 14.x -> 15.x

ባለአራት ባይት ኢንኮዲንግ ለማንቃት የሚቀጥለውን ደመና ዳታቤዝ እናዘጋጃለን፡

# mysql -u root -p
MariaDB [(none)]> ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> quit


በ Nextcloud ውስጥ ለአራት ባይት ኢንኮዲንግ ድጋፍን አንቃ፡-

# sudo -u www-data php /var/www/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"


ጠረጴዛዎችን በመቀየር ላይ

# sudo -u www-data php /var/www/nextcloud/occ maintenance:repair


የጠፉ የሰንጠረዥ ኢንዴክሶችን መልሶ ማግኘት፡-

# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices


የሠንጠረዥ ኢንዴክሶችን ወደ ትልቅነት ይለውጡ፡-

# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint


አዘምን 15.x -> 16.x

የጠፉ የሰንጠረዥ ኢንዴክሶችን መልሶ ማግኘት፡-

# sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices


የሠንጠረዥ ኢንዴክሶችን ወደ ትልቅነት ይለውጡ፡-

# sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint


አዘምን 16.x -> 17.x

ምንም ተጨማሪ እርምጃ አያስፈልግም.

ከቃል በኋላ

እነዚህን መመሪያዎች በመከተል Nextcloud 13 ያለው ቨርቹዋል ማሽን ተዘምኗል።ቨርችዋል ማሽንን በመጠቀም የNextcloud ፋይሎችን እና የመረጃ ቋቱን መጠባበቂያ ቅጂ እንዳትሰራ ይፈቅድልሃል ምክንያቱም ችግሮች ሲያጋጥሙ በቀላሉ ከዚህ ቀደም የተቀመጠ ቨርችዋል ማሽን ፋይል መመለስ እና እንደገና መጀመር ትችላለህ። እንደገና። ነገር ግን ይህ በተጠቃሚ ውሂብ አቃፊ ላይ አይተገበርም, እኔ ደግሞ ከ Nextcloud ቨርቹዋል ማሽን ጋር ምትኬ እንዲቀመጥ እመክራለሁ. በእኔ ሁኔታ ፣ “ደመና” እንደ የርቀት አቃፊ እንደ አውቶማቲክ ስሪት ጥቅም ላይ ይውላል ፣ እና “እዚያ ብቻ” ካለው የማመሳሰል አቅጣጫ ጋር ፣ እና ይህንን መረጃ ማጣት ለእኔ አስፈላጊ አልነበረም - ለብዙ ሰዓታት ማመሳሰልን እንደገና ማድረግ አለብኝ። . ምንም እንኳን ለህይወት ረጅም "እንደ ሁኔታው ​​​​አስቀምጥ" የሚለውን ህግ ችላ ብየ ዝማኔው ያለምንም ችግር ሄደ እና ሁሉም ደንበኞች ከ Nextcloud 17 ጋር ያለ ምንም ችግር መስራት ጀመሩ. ተደንቄያለሁ, ፍራንክ ካርሊሼክ - እርስዎ እና ቡድንዎ በጣም ጥሩ እየሰሩ ነው. ሥራ!

ከዝማኔው በኋላ የተጠቃሚውን መረጃ ለማጽዳት ወሰንኩኝ, በስታቲስቲክስ መሰረት, ወደ ሁለት ቴራባይት ተያዘ. ያን ያህል የሚሰራ ውሂብ አልነበረኝም - አብዛኛው የድምጽ መጠን በስሪት ፋይሎች እና በተሰረዙ ፋይሎች ተይዟል። ያጋጠመኝ ችግር ለአንድ ተጠቃሚ በጣም ብዙ የተሰረዘ ውሂብ (የድምፅ ጉዳይ እንኳን አይደለም ፣ ግን ብዛት - ብዙ ትናንሽ ፋይሎች) Nextcloud በድር በይነገጽ ላይ ሊያሳየው አልቻለም። የአስተዳደር መመሪያውን ካጠናሁ በኋላ, በትእዛዝ መስመር በኩል አንድ መፍትሄ አገኘሁ. ምናልባት ይህ ለአንድ ሰው ጠቃሚ ይሆናል.

የተሰረዙ የተጠቃሚ ፋይሎችን ለማጽዳት፡-

# sudo -u www-data php /var/www/nextcloud/occ trashbin:cleanup user


የተጠቃሚ ሥሪት ፋይሎችን ለማጽዳት፡-

# sudo -u www-data php /var/www/nextcloud/occ versions:cleanup user

ተመለስ ወደ መጀመሪያው, ወደ ይዘቱ ሰንጠረዥ.

የቤት ደመና የመፍጠር ታሪክ። ክፍል 5. አዘምን 2019 – PHP 7.2፣ MariaDB 10.4 እና Nextcloud 17
የጽሑፍ ስሪት: 1.1.1.
መጀመሪያ የታተመበት ቀን፡- 15.01.2020/XNUMX/XNUMX
የመጨረሻው አርትዖት ቀን፡ 15.01.2020/XNUMX/XNUMX

መዝገብ ያዘምኑ1.1.1 [15-01-2020] የትየባ ማረም.

1.1.0 [15-01-2020] ባለአራት ባይት ኢንኮዲንግ ለማንቃት ቋሚ የኒክስክሎድ ዳታቤዝ ዝግጅት ኮድ።

1.0.0 [15-01-2020] የመጀመሪያ ስሪት.

ምንጭ: hab.com