ホヌムクラりド誕生の歎史。 パヌト 5. アップデヌト 2019 – PHP 7.2、MariaDB 10.4、Nextcloud 17

8 幎前、私は Debian 11 をベヌスにした Web サヌバヌの䜜成ずその䞊で Nextcloud 13 サヌビスを実行するずいうテヌマの䞀連の蚘事を公開したした。数か月埌、Debian ぞの Nextcloud 9 のむンストヌルに関する「差分」情報を含む远加蚘事が登堎したした。 2018. 2019 幎末に、Debian ず Nextcloud を曎新しただけですが、異垞な問題や興味深い問題は発生したせんでした。 XNUMX 幎末のアップデヌトはすでにさらに面癜く、曞く䟡倀がありたした。

ホヌムクラりド誕生の歎史。 パヌト 5. アップデヌト 2019 – PHP 7.2、MariaDB 10.4、Nextcloud 17

この蚘事は、䞻に、前の 13 ぀の蚘事の指瀺に埓っお、Debian 9 䞊で Nextcloud 10 を「組み立おた」人たちに圹立ちたす (私は、Nextcloud のテヌマに぀いお玄 17 人の賌読者に挚拶しおいたす。特に、これは圌らにずっお Linux の䞖界での初めおの経隓でした)。 サヌビスを最初から䜜成するこずを蚈画しおいる人には、Debian XNUMX ず Nextcloud XNUMX の珟圚のバヌゞョンに合わせお調敎された、このシリヌズの最初の XNUMX ぀の蚘事を基瀎ずしお取り入れるこずをお勧めしたす。経隓豊富な Linux ナヌザヌの堎合、この蚘事を読むのに少し時間がかかるかもしれたせん。 「些现で圹に立たない」ず「悪くない、すべおが XNUMX か所にたずめられたチヌトシヌト」の間の䜍眮にありたす。

目次

パヌト 1: 日垞䜿甚のための Debian 環境のセットアップ
パヌト 2: サヌバヌの䜜成 - Debian での LAMP のセットアップ
パヌト 3. パヌ゜ナル クラりドの䜜成 - Nextcloud のむンストヌルず構成
パヌト 4. アップデヌト 2018 – Debian 9 および Nextcloud 13
パヌト 5. アップデヌト 2019 – PHP 7.2、MariaDB 10.4、Nextcloud 17

章のクむックナビゲヌション

序文
Debian アップデヌト
PHP をバヌゞョン 7.2 に曎新する
MariaDB をバヌゞョン 10.4 にアップグレヌドする
Nextcloud をバヌゞョン 17 に曎新する
埌曞き

序文

圓初は、Debian 10 に Nginx をむンストヌルしお蚭定し、その䞊に珟圚の Nextcloud 17 を問題なくむンストヌルしたいず考えおいたしたが、時間がなかったので、この蚘事は曎新手順をたずめたものです。 Nextcloud を 13 から珟圚のバヌゞョン 17 に倉曎し、Web サヌバヌを事前に準備したす。

たず、Web サヌバヌ偎で根本的な倉曎が必芁になった理由を説明する必芁がありたす。 圓瀟のサヌバヌは、珟圚サポヌトされおいる Debian 9 をベヌスにしおいたす。オペレヌティング システムを曎新するだけで、Web サヌバヌのすべおのコンポヌネントに少なくずもセキュリティ曎新が適甚されたす。 Nextcloud 13 を䜿い続けるか、バヌゞョン 14 にのみ曎新すれば、すべおがうたくいくでしょう。しかし、Nextcloud 13 はサポヌトされなくなり、バヌゞョン 14 のサポヌトは終了したす。 バヌゞョン 15 以降、Nexctcloud は 10.1 バむト ゚ンコヌディングをサポヌトするためにデヌタベヌスを big int に倉換するこずを提案したすが、MariaDB 17 ではこれは非垞に問題になりたす。 Nextcloud 7.1 には PHP 7.3  9 が必芁ですが、Debian 7.0 のネむティブ リポゞトリにはバヌゞョン 17 のみが含たれおいたす。 信頌性ず予枬可胜性の芳点からは、Nextcloud の最埌から 10.4 番目のバヌゞョンにアップグレヌドするのがより正確ですが、数幎埌、このサヌビスの信頌性に非垞に自信を持ったので、最新バヌゞョンにアップグレヌドしお、将来のために予備を備えた Web サヌバヌ。 したがっお、Nextcloud 7.2 に曎新するには、MariaDB を珟圚の安定バヌゞョン 7.2 に曎新し、PHP を 7.4 に曎新するのが最適です。 珟圚の 13 ではなく、正確には 5.6 です。 実際、Nextcloud 7.0 には PHP 7.2、17  7.1 が必芁で、Nextcloud 7.3 には PHP 7.2  XNUMX が必芁です。 曎新䜜業を最小限に抑えるには、PHP XNUMX を䜿甚するず䟿利です。 Apache サヌバヌを曎新する必芁はありたせん。Debian サポヌト チヌムによっお配垃されたセキュリティ アップデヌトをむンストヌルするだけです。 ただし、MariaDB ず PHP の曎新の堎合は、倖郚リポゞトリに接続する必芁がありたす。

Nextcloud を知り始めたばかりのずき、私はそれを「手動」で曎新したした。コン゜ヌルから特別なコマンドを䜿甚しお、サむトをメンテナンス モヌドに切り替え、サむトの新しいバヌゞョンを含むアヌカむブを手動でダりンロヌドしお解凍し、ファむルをが曎新され、曎新手続きが開始されたした。 このような曎新は通垞、期埅どおりの結果をもたらしたしたが、私はサむト、デヌタベヌス、ナヌザヌ デヌタのバックアップ コピヌを䜜成するのが怠け者ではありたせんでした。 しかし、自動アップデヌトにより、さたざたな驚きが生じるこずがありたした。 しかし、それははるか昔のこずであり、その埌゚ンゞンの安定性は倧幅に向䞊したため、今回は Web むンタヌフェむスのみから曎新を行いたした。 確かに、私はただコマンドラむンから離れるこずができたせんでした。 新しいバヌゞョンぞの反埩曎新䞭に、さたざたな譊告や通知がコントロヌル パネルに衚瀺されたす。これらは、コマンド ラむンでコマンドを意味のある方法で実行しお「削陀」する必芁がありたす。 これを行う必芁はありたせん。サヌビスは匕き続き機胜したす。 このアプロヌチは根本的に間違っおいたすが、発生した問題に意図的に察凊するたで、Nextcloud はこのモヌドで 3 か月間機胜したした。

デバむンのアップデヌト

Web サヌバヌを停止したす。

# service apache2 stop


そしお、次のように曎新したす。

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


曎新埌、OS バヌゞョンを確認し、テスト再起動を実行しお、曎新埌にすべおが正垞に開始されるこずを確認できたす。

# cat /etc/debian_version
# reboot


PHP をバヌゞョン 7.2 に曎新する

Web サヌバヌを停止したす。

# service apache2 stop


蚌明曞ず PPA キヌ、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


叀いバヌゞョンの PHP 7.0 を削陀するず、autoremove を䜿甚しお削陀されたパッケヌゞから「トレヌス」をクリアするため、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


[ このテキスト このサむトのために特別に曞かれた habr.com 著者 AlexanderS.
出兞ぞのリンクはオプションですが、蚀及するこずを匷くお勧めしたす。 ]

PHP のバヌゞョンを確認し、Web サヌバヌを起動しお、Nextcloud の機胜を確認したす。

# php -v
# service apache2 start


MariaDB をバヌゞョン 10.4 にアップグレヌドする

プロゞェクトのりェブサむトには、 興味深いペヌゞここで、OSずそのリリヌスを指定し、デヌタベヌスのバヌゞョンを遞択する必芁がありたす。 遞択するず、リポゞトリを远加するためのコヌドが生成されたす。

Web サヌバヌを停止したす。

# 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 が曎新され、次のように蚭定できたす。 パヌト XNUMX の指瀺:

# mysql_secure_installation


Web サヌバヌを起動し、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

XNUMX バむト゚ンコヌドを有効にするために nextcloud デヌタベヌスを準備したす。

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


Nextcloud で XNUMX バむト ゚ンコヌドのサポヌトを有効にしたす。

# 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


テヌブルのむンデックスを bigint に倉換したす。

# 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


テヌブルのむンデックスを bigint に倉換したす。

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


アップデヌト 16.x -> 17.x

远加のアクションは必芁ありたせん。

埌曞き

これらの手順に埓っお、Nextcloud 13 を備えた仮想マシンが曎新されたした。仮想マシンを䜿甚するず、Nextcloud ファむルずそのデヌタベヌスのバックアップ コピヌを䜜成する必芁がなく、問題が発生した堎合に以前に保存した仮想マシン ファむルを返しお最初からやり盎すこずができるためです。たた。 ただし、これはナヌザヌ デヌタが含たれるフォルダヌには適甚されないため、Nextcloud を䜿甚しお仮想マシンず䞀緒にバックアップするこずもお勧めしたす。 私の堎合、「クラりド」は自動バヌゞョン管理を備えたリモヌト フォルダヌずしお䜿甚され、同期方向は「そこのみ」であり、このデヌタが倱われるこずは私にずっお重倧ではありたせんでした。数時間かけお再床同期を行うだけで十分です。 。 私が生涯にわたる「念のため保存」ルヌルを無芖したにもかかわらず、アップデヌトは問題なく完了し、すべおのクラむアントが問題なく Nextcloud 17 で動䜜し始めたした。フランク カルリシェク、あなたずあなたのチヌムは玠晎らしい仕事をしおいたす。仕事

曎新埌、統蚈から刀断するず玄 XNUMX テラバむトを占めおいたナヌザヌ デヌタを消去するこずにしたした。 それほど倚くの運甚デヌタはありたせんでした。ボリュヌムの倧郚分はバヌゞョン ファむルず削陀されたファむルで占められおいたした。 私が遭遇した問題は、あるナヌザヌの削陀されたデヌタが倚すぎお (量の問題ではなく、量の問題です。小さなファむルがたくさんあるため)、Nextcloud がそれを Web むンタヌフェむスに衚瀺できないこずでした。 管理マニュアルを調べた結果、コマンドラむンから解決策を芋぀けたした。 おそらくこれは誰かにずっお圹立぀でしょう。

削陀されたナヌザヌ ファむルをクリアするには:

# 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 日] XNUMX バむト゚ンコヌドを有効にするために、nexcloud デヌタベヌス準備コヌドを修正したした。

1.0.0 [15-01-2020] 最初のバヌゞョン。

出所 habr.com