Dua tahun lalu, saya menerbitkan serangkaian artikel tentang topik membuat server web berbasis Debian 8 dan meluncurkan layanan Nextcloud 11. Beberapa bulan kemudian ada add-on yang berisi informasi "diferensial" tentang menginstal Nextcloud 13 pada Debian 9. Pada akhir 2018, saya baru saja memperbarui Debian dan Nextcloud dan tidak menemukan masalah yang tidak biasa atau menarik. Pembaruan pada akhir 2019 sudah lebih menarik dan layak untuk ditulis.

Artikel ini akan bermanfaat terutama bagi mereka yang, sesuai dengan instruksi dari empat artikel terakhir, "mengumpulkan" Nextcloud 13 pada Debian 9 (Saya mengirim salam kepada sepuluh pelanggan saya di Nextcloud, terutama mereka yang merupakan pengalaman pertama di dunia Linux). Bagi mereka yang akan membuat layanan dari awal, saya menyarankan Anda untuk mengambil sebagai dasar empat artikel pertama dari seri ini, disesuaikan dengan versi Debian 10 dan Nextcloud saat ini. Untuk pengguna Linux yang berpengalaman, artikel tersebut dapat berlangsung antara “sepele dan tidak berguna” dan “tidak buruk, lembar contekan semua tempat. ”
Daftar isi
Bagian 1. Mengatur lingkungan Debian Anda untuk penggunaan sehari-hariBagian 2. Membuat server - mengatur LAMP di DebianBagian 3. Membuat cloud pribadi - menginstal dan mengkonfigurasi NextcloudBagian 4. Pembaruan 2018 - Debian 9 dan Nextcloud 13Bagian 5. Memperbarui 2019 - PHP 7.2, MariaDB 10.4 dan Nextcloud 17
Navigasi bab cepat
Kata PengantarPembaruan DebianPembaruan PHP ke versi 7.2Perbarui MariaDB ke versi 10.4Pembaruan Nextcloud ke versi 17Kata penutup
Kata Pengantar
Awalnya, saya ingin menginstal dan mengkonfigurasi Nginx pada Debian 10, yang mana Nextcloud 17 saat ini akan diinstal tanpa masalah, tetapi untuk semua ini, saya tidak dapat memilih waktu, jadi artikel ini adalah sekumpulan instruksi untuk meningkatkan Nextcloud dari 13 ke versi saat ini dari pendahuluan menyiapkan server web.
Pertama, Anda perlu menjelaskan mengapa perubahan radikal diperlukan di sisi server web. Server kami didasarkan pada Debian saat ini dan yang didukung 9. Anda dapat memperbarui sistem operasi dan semua komponen server web akan menerima setidaknya pembaruan keamanan. Semuanya akan lebih baik jika kita lebih lanjut menggunakan Nextcloud 13 atau ditingkatkan hanya ke versi 14. Tetapi Nextcloud 13 tidak lagi didukung, dan dukungan untuk versi ke-14 sedang berjalan. Dimulai dengan versi ke-15, Nexctcloud akan menawarkan untuk mengonversi basis data ke int besar untuk mendukung pengodean empat byte, dan dengan MariaDB 10.1 ini akan sangat bermasalah. Nexctcloud 17 membutuhkan PHP 7.1-7.3, sementara Debian 9 hanya berisi versi 7.0 di repositori aslinya. Akan lebih benar, dalam hal keandalan dan prediktabilitas, untuk memutakhirkan ke versi kedua dari Nextcloud, tetapi selama beberapa tahun saya begitu yakin dengan keandalan layanan ini sehingga saya ingin memutakhirkan ke versi terbaru dan memperbarui server web dengan cadangan untuk masa depan. Oleh karena itu, untuk meningkatkan ke Nexctcloud 17, optimal untuk meningkatkan MariaDB ke versi stabil saat ini 10.4, dan PHP ke 7.2. Ini 7.2, dan tidak relevan 7.4. Faktanya adalah bahwa Nextcloud 13 membutuhkan PHP 5.6, 7.0 - 7.2, dan Nexctcloud 17 membutuhkan PHP 7.1 - 7.3. Menggunakan PHP 7.2 itu mudah untuk meminimalkan tindakan peningkatan. Server Apache tidak perlu diperbarui - cukup instal pembaruan keamanan yang didistribusikan oleh tim dukungan Debian. Tetapi untuk pembaruan, MariaDB dan PHP harus menghubungkan repositori eksternal.
Ketika saya pertama kali bertemu Nextcloud, saya memperbaruinya "dengan tangan": situs web dimasukkan ke dalam mode pemeliharaan dari konsol oleh tim khusus, arsip dengan versi baru situs diunduh dan dibuka secara manual, file diperbarui dan prosedur pembaruan dimulai. Pembaruan seperti itu biasanya menghasilkan hasil yang diharapkan, meskipun saya tidak malas membuat salinan cadangan dari situs, basis data, dan data pengguna. Tetapi pembaruan otomatis terkadang menyebabkan segala macam kejutan. Tapi itu sudah lama sekali, stabilitas mesin telah meningkat pesat sejak saat itu, dan kali ini saya melakukan pembaruan secara eksklusif melalui antarmuka web. Benar, itu masih tidak mungkin untuk keluar dari baris perintah. Selama pembaruan berulang untuk setiap versi baru, berbagai peringatan dan pemberitahuan akan muncul di panel kontrol, yang perlu "dihapus" dengan mengeksekusi perintah pada baris perintah. Anda tidak dapat melakukan ini - layanan akan tetap bekerja. Meskipun pendekatan ini pada dasarnya salah, Nextcloud bekerja untuk saya selama 3 bulan dalam mode ini sebelum saya sengaja memilah masalah yang muncul.
Pembaruan Debain
Hentikan server web:
Dan diperbarui:
Setelah pembaruan, Anda dapat memeriksa versi OS dan melakukan pemeriksaan ulang untuk memastikan semuanya berjalan normal setelah pembaruan:
Pembaruan PHP ke versi 7.2
Hentikan server web:
Tambahkan kunci sertifikat dan PPA, repositori PHP:
Jika Anda menghapus versi lama PHP 7.0, phpmyadmin juga akan dihapus, karena kami akan membersihkan "jejak" dari paket yang dihapus menggunakan autoremove. Ini tidak akan menyebabkan banyak kesulitan, karena tidak ada pengaturan khusus yang dibuat untuk phpmyadmin dan menginstalnya lagi tidak akan menjadi masalah.
Memasang modul yang diperlukan untuk Nextcloud 17:
[ Teks ini ditulis khusus untuk habr.com oleh AlexanderS .
Tautan ke sumber itu opsional, tetapi rujukannya sangat diinginkan! ]Kami memeriksa versi PHP, memulai server web dan memeriksa operabilitas Nextcloud:
Perbarui MariaDB ke versi 10.4
Situs web proyek memiliki
halaman yang menarik di mana Anda perlu menunjukkan OS Anda, rilisnya dan pilih versi database. Setelah dipilih, kode akan dihasilkan untuk menambahkan repositori.
Hentikan server web:
Tambahkan repositori dan perbarui paket:
Saat memasang MariaDB, manajer paket akan menghapus versi sebelumnya dengan benar dan menginstal yang baru, semua basis data akan disimpan. Namun, membackup database Nextcloud tentu saja direkomendasikan.
Instal MariaDB dan jalankan prosedur pembaruan:
Setelah memasukkan kata sandi, MariaDB akan diperbarui dan akan mungkin untuk mengonfigurasinya, mengikuti
instruksi dari bagian kedua :
Kami memulai server web dan memeriksa kinerja Nextcloud:
Pembaruan Nextcloud ke versi 17
Untuk memulai pembaruan, Anda harus masuk ke layanan di bawah entri administratif, lanjutkan ke pengaturan dan buka "Pengaturan Umum" di bagian administrasi. Nextcloud menunjukkan versi yang diinstal dan versi yang tersedia untuk memperbarui, yang dapat diluncurkan dengan mengklik tombol "Buka jendela pembaruan". Setelah inisiasi, Nextcloud membuat cadangan, mengunduh dan memeriksa integritas file pembaruan, menyalakan mode perawatan, dan memperbarui file. Berikut ini pertanyaan "Tetap aktifkan mode pemeliharaan"? Anda harus berhati-hati di sini. Jawaban positif akan membuat situs dalam mode pemeliharaan - diasumsikan bahwa administrator tahu apa yang harus dilakukan selanjutnya dan melakukannya secara manual. Jika tidak, Nextcloud akan melakukan semuanya sendiri, jadi klik "Tidak" untuk melanjutkan.
Pembaruan dilakukan secara berulang. Nextcloud 13.x akan meningkatkan ke versi terbaru dari cabang 14.x terlebih dahulu. Setelah itu, Anda harus kembali ke pusat admin dan memulai pembaruan, sekarang dari 14.x hingga 15.x. Dan seterusnya, hingga versi terakhir yang mungkin saat ini tercapai. Setelah setiap pembaruan, pada halaman Pengaturan Umum di bagian administrasi, daftar saran dan masalah yang dihadapi, serta rekomendasi untuk menyelesaikannya, akan ditampilkan. Di bawah ini kita akan berbicara tentang apa yang perlu dilakukan setelah setiap pembaruan.
Sebelum pembaruanPada versi Nextcloud terbaru, Anda disarankan untuk mengaktifkan PHP OPcache untuk meningkatkan kinerja. Sungguh aneh bahwa saya entah bagaimana melewatkan momen ini beberapa tahun yang lalu, karena OPcache muncul di PHP 5. Di /etc/php/7.2/apache2/php.ini Anda perlu menghapus komentar dan mengedit parameter berikut:
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
Perbarui 13.x -> 14.xKami mengembalikan indeks tabel:
Perbarui 14.x -> 15.xMempersiapkan database awan berikutnya untuk mengaktifkan pengodean empat byte:
Aktifkan dukungan untuk pengodean empat byte di Nextcloud:
Kami mengubah tabel:
Pulihkan indeks tabel yang hilang:
Ubah indeks tabel menjadi bigint:
Perbarui 15.x -> 16.xPulihkan indeks tabel yang hilang:
Ubah indeks tabel menjadi bigint:
Perbarui 16.x -> 17.xTidak diperlukan tindakan lebih lanjut.
Kata penutup
Mengikuti instruksi ini, mesin virtual dengan Nextcloud 13 telah diperbarui. Menggunakan mesin virtual memungkinkan Anda untuk tidak mencadangkan file Nextcloud dan database-nya, karena jika terjadi masalah, Anda dapat dengan mudah mengembalikan file mesin virtual yang disimpan sebelumnya dan memulai dari awal lagi. Namun, ini tidak berlaku untuk folder data pengguna, yang saya sarankan juga membuat cadangan dengan mesin virtual Nextcloud. Dalam kasus saya, "cloud" digunakan sebagai folder jarak jauh dengan versi otomatis, apalagi, dengan arah sinkronisasi "hanya di sana", dan bagi saya hilangnya data ini tidak penting - saya hanya perlu menyinkronkan lagi selama beberapa jam. Meskipun saya mengabaikan aturan "tetap aman kalau-kalau" berjalan baik dalam hidup saya, pembaruan berjalan lancar dan semua klien juga menghasilkan uang dengan Nextcloud 17 tanpa masalah. Saya terkesan, Frank Karlitshek - Anda dan tim Anda melakukan pekerjaan yang sangat baik!
Setelah pembaruan, saya memutuskan untuk membersihkan data pengguna, yang, jika dilihat dari statistik, menghabiskan dua terabyte. Saya tidak memiliki begitu banyak data operasional - sebagian besar volume ditempati oleh file versi dan file yang dihapus. Masalah yang saya temui adalah bahwa ada begitu banyak data yang dihapus untuk satu pengguna (bahkan bukan volume, tetapi kuantitas - banyak file kecil) sehingga Nextcloud tidak bisa menampilkannya di antarmuka web. Setelah mempelajari panduan administrasi, saya menemukan solusinya melalui baris perintah. Mungkin ini akan berguna bagi seseorang.
Untuk menghapus file yang dihapus dari pengguna pengguna:
Untuk menghapus file versi pengguna:
Kembali
ke awal, ke daftar isi .
Sejarah menciptakan cloud rumah. Bagian 5. Memperbarui 2019 - PHP 7.2, MariaDB 10.4 dan Nextcloud 17
Versi teks: 1.1.1.
Tanggal publikasi pertama: 01/15/2020.
Terakhir diedit: 15/01/2020.
Perbarui log1.1.1 [15-01-2020]
Koreksi kesalahan ketik.
1.1.0 [15-01-2020]
Kode untuk mempersiapkan basis data nexcloud untuk mengaktifkan pengodean empat byte telah diperbaiki.
1.0.0 [15-01-2020]
Versi pertama.