گھر جي بادل جي پيدائش جي تاريخ. حصو 5. تازه ڪاري 2019 - PHP 7.2، ماريا ڊي بي 10.4 ۽ Nextcloud 17

ٻه سال اڳ، مون مضمونن جو هڪ سلسلو شايع ڪيو ويب سرور ٺاهڻ جي موضوع تي Debian 8 ۽ ان تي Nextcloud 11 سروس هلائڻ. ڪجهه مهينن بعد، هڪ اضافو ظاهر ٿيو جنهن ۾ Debian تي Nextcloud 13 کي انسٽال ڪرڻ بابت ”متفرق“ معلومات شامل هئي. 9. 2018 جي ​​آخر ۾، مون صرف Debian ۽ Nextcloud کي اپڊيٽ ڪيو ۽ ڪنهن به غير معمولي يا دلچسپ مسئلي کي منهن نه ڏنو. 2019 جي آخر ۾ اپڊيٽ اڳ ۾ ئي وڌيڪ دلچسپ ۽ لکڻ جي قابل هئي.

گھر جي بادل جي پيدائش جي تاريخ. حصو 5. تازه ڪاري 2019 - PHP 7.2، ماريا ڊي بي 10.4 ۽ Nextcloud 17

هي آرٽيڪل بنيادي طور تي انهن لاءِ ڪارآمد هوندو جيڪي ، گذريل چئن مضمونن جي هدايتن جي مطابق ، ”گڏيل“ Nextcloud 13 تي Debian 9 (آئون هيلو چوان ٿو منهنجي لڳ ڀڳ هڪ درجن جي سبسڪرائبرز کي Nextcloud جي موضوع تي ، خاص طور تي انهن لاءِ جن لاءِ. اهو لينڪس جي دنيا ۾ سندن پهريون تجربو هو). انهن لاءِ جيڪي شروع کان هڪ خدمت ٺاهڻ جي منصوبابندي ڪري رهيا آهن، مان توهان کي صلاح ڏيان ٿو ته هن سيريز جي پهرين چار مضمونن کي بنياد بڻائين، ڊيبين 10 ۽ Nextcloud 17 جي موجوده ورزن لاءِ ترتيب ڏنل. تجربيڪار لينڪس استعمال ڪندڙن لاءِ، آرٽيڪل ڪجهه وٺي سگھي ٿو. "معمولي ۽ بيڪار" ۽ "خراب نه، سڀ هڪ جاءِ تي چيٽ شيٽ" جي وچ ۾ جڳهه.

مضمونن جو جدول

حصو 1: روزاني استعمال لاءِ ديبين ماحول قائم ڪرڻ
حصو 2: سرور ٺاهڻ - ڊيبين تي LAMP ترتيب ڏيڻ
حصو 3. ذاتي ڪلائوڊ ٺاهڻ - انسٽال ڪرڻ ۽ ترتيب ڏيڻ Nextcloud
حصو 4. تازه ڪاري 2018 - Debian 9 ۽ Nextcloud 13
حصو 5. تازه ڪاري 2019 - PHP 7.2، ماريا ڊي بي 10.4 ۽ Nextcloud 17

جلدي باب نيويگيشن

اڳوڻي
ڊيبين اپڊيٽ
PHP کي ورزن 7.2 تائين اپڊيٽ ڪرڻ
ماريا ڊي بي کي ورزن 10.4 تائين اپڊيٽ ڪرڻ
Nextcloud کي ورزن 17 ۾ اپڊيٽ ڪيو پيو وڃي
پوء

اڳوڻي

شروعات ۾، مان ڊيبين 10 تي نينگڪس کي انسٽال ۽ ترتيب ڏيڻ چاهيان ٿو، جنهن جي مٿان موجوده Nextcloud 17 بغير ڪنهن پريشاني جي انسٽال ٿي سگهي ٿي. پر مون کي انهن سڀني لاءِ وقت نه ملي سگهيو، تنهن ڪري هي آرٽيڪل اپڊيٽ ڪرڻ جي هدايتن جو هڪ سيٽ آهي. اڳيون ڪلائوڊ 13 کان موجوده ورزن 17 تائين ويب سرور جي شروعاتي تياري سان.

پهرين، اسان کي وضاحت ڪرڻ جي ضرورت آهي ڇو ته بنيادي تبديلين جي ضرورت هئي ويب سرور جي پاسي تي. اسان جو سرور موجوده ۽ سپورٽ ٿيل ڊيبين 9 تي ٻڌل آهي. توهان آساني سان آپريٽنگ سسٽم کي اپڊيٽ ڪري سگهو ٿا ۽ ويب سرور جا سڀئي حصا گهٽ ۾ گهٽ سيڪيورٽي اپڊيٽ حاصل ڪندا. سڀ ڪجھ سٺو ٿيندو جيڪڏھن اسان استعمال ڪرڻ جاري رکون Nextcloud 13 يا صرف ورزن 14 تي اپڊيٽ ڪيو. پر Nextcloud 13 ھاڻي سپورٽ ناھي، ۽ 14 هين ورزن لاءِ سپورٽ ختم ٿي رھي آھي. نسخو 15 کان شروع ڪندي، Nexctcloud پيش ڪندو ڊيٽابيس کي تبديل ڪرڻ لاءِ وڏي انٽ ۾ چار بائيٽ انڪوڊنگ کي سپورٽ ڪرڻ لاءِ، ۽ ماريا ڊي بي 10.1 سان اهو تمام مشڪل هوندو. Nexctcloud 17 کي PHP 7.1-7.3 جي ضرورت آهي، جڏهن ته ڊيبين 9 صرف ورزن 7.0 تي مشتمل آهي ان جي اصلي ذخيرن ۾. اهو وڌيڪ صحيح ٿيندو، اعتبار ۽ اڳڪٿي جي لحاظ کان، ايندڙ ڪلائوڊ جي آخري ورزن ۾ اپڊيٽ ڪرڻ، پر ڪجهه سالن کان پوءِ مون کي هن سروس جي اعتبار ۾ ايترو ته يقين ٿي ويو جو مان جديد ورزن ۾ اپڊيٽ ڪرڻ چاهيان ٿو. ويب سرور مستقبل لاءِ رزرو سان. تنهن ڪري، Nexctcloud 17 تي تازه ڪاري ڪرڻ لاء، اهو بهتر آهي ته مارڪس ڊي بي کي موجوده مستحڪم ورزن 10.4 تائين، ۽ PHP کي 7.2 تائين. بلڪل 7.2، موجوده 7.4 نه. حقيقت اها آهي ته Nextcloud 13 جي ضرورت آهي PHP 5.6، 7.0 - 7.2، ۽ Nexctcloud 17 کي PHP 7.1 - 7.3 جي ضرورت آهي. اهو PHP 7.2 استعمال ڪرڻ آسان آهي اپڊيٽ جي ڪوششن کي گهٽائڻ لاءِ. توهان جي Apache سرور کي اپڊيٽ ڪرڻ جي ڪا ضرورت ناهي - صرف ڊيبين سپورٽ ٽيم پاران ورهايل سيڪيورٽي اپڊيٽس کي انسٽال ڪريو. پر ماريا ڊي بي ۽ پي ايڇ پي اپڊيٽ لاءِ توهان کي ٻاهرين مخزن کي ڳنڍڻو پوندو.

جڏهن مان صرف Nextcloud سان واقف ٿي رهيو هوس، مون ان کي "هٿ سان" اپڊيٽ ڪيو: ڪنسول مان هڪ خاص ڪمانڊ استعمال ڪندي، سائيٽ کي مينٽيننس موڊ ۾ تبديل ڪيو ويو، سائيٽ جي نئين ورزن سان گڏ آرڪائيو دستي طور تي ڊائون لوڊ ڪيو ويو ۽ انپيڪ ڪيو ويو، فائلون. اپڊيٽ ڪيو ويو ۽ تازه ڪاري جو عمل شروع ڪيو ويو. اهڙي تازه ڪاري عام طور تي متوقع نتيجن جي ڪري ٿي، جيتوڻيڪ آئون سائيٽ، ڊيٽابيس ۽ صارف جي ڊيٽا جي بيڪ اپ ڪاپي ٺاهڻ ۾ سست نه هو. پر خودڪار تازه ڪاريون ڪڏهن ڪڏهن سڀني قسمن جي تعجب جي ڪري ٿي. پر اهو ڪافي وقت اڳ هو، ان وقت کان وٺي انجڻ جي استحڪام تمام گهڻي وڌي وئي آهي، ۽ هن ڀيري مون خاص طور تي ويب انٽرفيس ذريعي تازه ڪاريون ڪيون. سچ، مان اڃا تائين ڪمانڊ لائن کان پري نه ٿي سگهيو. هر نئين ورزن ۾ هڪ ورهاڱي واري تازه ڪاري دوران، ڪنٽرول پينل ۾ مختلف ڊيڄاريندڙ ۽ نوٽيفڪيشن ظاهر ٿيندا، جن کي "هٽايو" ڪرڻ جي ضرورت پوندي ڪمانڊ لائن تي ڪمانڊز کي بامعني طور تي عمل ڪندي. توهان کي اهو ڪرڻ جي ضرورت ناهي - خدمت اڃا به ڪم ڪندي. جيتوڻيڪ اهو طريقو بنيادي طور تي غلط آهي، Nextcloud مون لاءِ 3 مهينن تائين هن موڊ ۾ ڪم ڪيو ان کان اڳ جو مون مقصد سان پيدا ٿيندڙ مسئلن کي حل ڪيو.

ڊيبين اپڊيٽ

ويب سرور کي روڪيو:

# service apache2 stop


۽ اسان تازه ڪاري ڪريون ٿا:

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


تازه ڪاري کان پوء، توهان OS ورزن کي چيڪ ڪري سگهو ٿا ۽ هڪ ٽيسٽ ريبوٽ ڪري سگهو ٿا انهي کي يقيني بڻائڻ لاء ته هر شي عام طور تي تازه ڪاري کان پوء شروع ٿئي ٿي:

# cat /etc/debian_version
# reboot


PHP کي ورزن 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


[ هي متن خاص طور تي سائيٽ لاءِ لکيو ويو آهي www.habr.com ليکڪ اليگزينڊر ايس.
ذريعن جو هڪ لنڪ اختياري آهي، پر ان جو ذڪر ڪرڻ انتهائي سفارش آهي! ]

اسان پي ايڇ پي ورزن کي چيڪ ڪريو، ويب سرور شروع ڪريو ۽ Nextcloud جي ڪارڪردگي چيڪ ڪريو:

# php -v
# service apache2 start


ماريا ڊي بي کي ورزن 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


ماريا ڊي بي کي انسٽال ڪرڻ وقت، پيڪيج مئنيجر صحيح طور تي پوئين ورزن کي ختم ڪندو ۽ نئون انسٽال ڪندو، جڏهن ته سڀئي ڊيٽابيس محفوظ ڪيا ويندا. بهرحال، اهو ضرور سفارش ڪئي وئي آهي ته هڪ بيڪ اپ ڪاپي ٺاهي وڃي Nextcloud ڊيٽابيس.

ماريا ڊي بي کي انسٽال ڪريو ۽ تازه ڪاري جو عمل شروع ڪريو:

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


پاسورڊ داخل ڪرڻ کان پوء، ماريا ڊي بي کي اپڊيٽ ڪيو ويندو ۽ توھان ان کي ترتيب ڏيئي سگھوٿا ٻئي حصي کان هدايتون:

# 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، ماريا ڊي بي 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] پهريون نسخو.

جو ذريعو: www.habr.com