GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Nextcloud di Debian 11

Nextcloud adalah perangkat lunak sumber terbuka untuk membuat penyimpanan file publik dan pribadi. Ini memungkinkan Anda untuk membuat layanan yang dihosting sendiri seperti Dropbox, Google Drive, atau Mega.nz. Awalnya, itu dibuat oleh pengembang owncloud asli Frank Karlitschek. Pada tahun 2016, ia memotong proyek Owncloud dan membuat proyek baru dengan nama baru "Nextcloud"

Pada saat ini, proyek Nextcloud berkembang pesat dan menjadi lebih dari sekadar perangkat lunak hosting file, ini lebih seperti platform sinkronisasi file dan kolaborasi konten. Didukung dengan banyak plugin, Nextcloud menjadi perangkat lunak kolaborasi yang sangat kuat. Anda dapat menginstal plugin untuk manajemen proyek, konferensi video, pengeditan kolaboratif, pembuatan catatan, klien email, dll.

Dalam panduan ini, Anda akan mempelajari cara menginstal Nextcloud di Debian 11 Bullseye terbaru. Anda akan menginstal Nextcloud di bawah LAMP Stack (Linux, Apache2/httpd, MySQL/MariaDB, dan PHP).

Prasyarat

  • Server Debian 11. Pastikan semua paket diperbarui ke versi terbaru.
  • Pengguna root atau pengguna dengan hak akses root. Pengguna ini akan digunakan untuk menginstal paket baru dan mengedit konfigurasi sistem.

Dapatkan Root dan Perbarui Repositori

Pertama, jalankan perintah berikut untuk mendapatkan hak akses root.

1. Jika Anda memiliki 'sudo ' diinstal, jalankan perintah sudo di bawah ini.

sudo su

Sekarang ketik kata sandi login untuk pengguna Anda.

2. Jika Anda tidak memiliki paket sudo, jalankan 'su ' perintah seperti di bawah ini

su

Sekarang ketik root . Anda sandi dan tekan 'Enter '.

3. Setelah itu, perbarui semua repositori Debian Anda menggunakan perintah apt di bawah ini.

perbaruan tepat

Menginstal Apache Web Server

Setelah memperbarui repositori Debian, Anda akan menginstal server web apache dan mengaktifkan beberapa modul Apache untuk Nextcloud.

1. Jalankan perintah apt di bawah ini untuk menginstal server web apache.

apt install apache2

Ketik 'y ' dan tekan 'Enter ' untuk melanjutkan penginstalan.

2. Jika instalasi sudah selesai, periksa layanan apache menggunakan perintah berikut.

systemctl diaktifkan apache2
systemctl status apache2

Anda akan melihat output 'diaktifkan ', yang berarti layanan apache akan secara otomatis mulai saat startup sistem. Dan status layanan Apache saat ini, 'aktif (berjalan) '.

3. Selanjutnya, aktifkan modul Apache 'ssl, rewrite, and headers' dengan menjalankan perintah a2enmod di bawah ini.

a2enmod ssl menulis ulang header

Di bawah ini adalah output yang akan Anda dapatkan.

4. Setelah itu, jalankan perintah berikut untuk me-restart layanan apache.

systemctl restart Apache2

Modul apache baru akan diterapkan, verifikasi modul tersebut menggunakan perintah apachectl di bawah ini.

apachectl -M | egrep "ssl|rewrite|headers"

Anda akan melihat output serupa seperti di bawah ini.

Instalasi dan Konfigurasi PHP

Untuk panduan ini, Anda akan menerapkan Nextcloud dengan versi stabil terbaru dari PHP 8.0.

Secara default, repositori Debian menyediakan paket untuk PHP 8.0. Namun, Nextcloud memerlukan beberapa paket PHP tambahan yang dapat diinstal dari repositori pihak ketiga. Dan Anda akan menambahkan repositori baru ke sistem Debian Anda.

1. Jalankan perintah di bawah ini untuk menambahkan repositori PHP untuk sistem Debian.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"\
| sudo tee /etc/apt/sources.list.d/sury-php.list

Unduh kunci GPG ke '/etc/apt/trusted.gpg.d ' direktori.

curl -o /etc/apt/trusted.gpg.d/sury-php8.gpg https://packages.sury.org/php/apt.gpg

Sekarang jalankan kembali perintah 'apt update' untuk memperbarui semua repositori.

perbaruan tepat

2. Instal paket PHP dan modul PHP tambahan untuk Nextcloud menggunakan perintah apt di bawah ini.

apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu

Setelah itu, jalankan kembali perintah apt untuk menginstal beberapa paket tambahan.

apt install -y libmagickcore-dev

'libmagickcore-dev ' paket diperlukan oleh php-imagick untuk pemrosesan gambar SVG di Nextcloud.

3. Jika semua paket instalasi selesai, ubah direktori kerja menjadi '/etc/php/8.0/apache2 ' dan edit konfigurasi 'php.ini ' menggunakan nano.

cd /etc/php/8.0/apache2/
nano php.ini

Untuk penerapan nextcloud dasar, ubah opsi default menggunakan konfigurasi berikut.

file_uploads =Aktif
allow_url_fopen =Aktif
memory_limit =512M
upload_max_filesize =500M
post_max_size =600M
max_execution_time =300
display_errors =Nonaktif
date.timezone =Eropa/Amsterdam
output_buffering =Mati

Batalkan komentar pada 'zend_extension=opcache ' untuk memuat ekstensi opcache.

zend_extension=opcache

Pindah ke bagian '[opcache]' dan tambahkan konfigurasi berikut.

[opcache]
...
....
.....
opcache.enable =1
opcache.interned_strings_buffer =8
opcache.max_accelerated_files =10.000
opcache.memory_consumption =128
opcache.save_comments =1
opcache.revalidate_freq =1

Simpan konfigurasi dengan menekan 'Ctrl+x ' dan ketik 'y ', lalu tekan 'Enter ' untuk keluar.

4. Sekarang restart layanan apache untuk menerapkan perubahan baru menggunakan perintah di bawah ini.

systemctl restart Apache2

Menginstal dan Mengonfigurasi MariaDB

Untuk tahap ini, Anda akan menginstal server database mariadb, mengamankan penerapan mariadb, dan membuat database dan pengguna baru untuk Nextcloud.

1. Untuk menginstal server database mariadb, jalankan perintah di bawah ini.

apt install mariadb-server mariadb-client

Ketik 'y ' untuk mengonfirmasi dan menginstal paket mariadb.

2. Setelah instalasi selesai, periksa layanan mariadb menggunakan perintah berikut.

systemctl diaktifkan mariadb
systemctl status mariadb

Layanan mariadb aktif dan berjalan, dan diaktifkan untuk memulai secara otomatis saat startup sistem.

3. Selanjutnya, Anda perlu mengamankan penerapan mariadb Anda dengan mengatur kata sandi root untuk mariadb dan menghapus beberapa konfigurasi default. Untuk melakukannya, Anda dapat menggunakan alat baris perintah 'mysql_secure_installation', yang disertakan pada instalasi mariadb default.

Jalankan "mysql_secure_installation " perintah di bawah.

mysql_secure_installation

Pada awalnya, Anda akan diminta untuk memasukkan kata sandi root mariadb. Cukup tekan 'Enter ' untuk melanjutkan.

Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):
Oke, kata sandi berhasil digunakan, lanjutkan...

Ketik 'Y ' untuk mengaktifkan 'unix_socket ' otentikasi untuk pengguna 'root '.

Beralih ke autentikasi unix_socket [Y/n] Y
Berhasil diaktifkan!
Memuat ulang tabel hak istimewa..
 ... Berhasil!

Ketik kata sandi root mariadb yang kuat dan ulangi, lalu tekan "Enter " untuk melanjutkan.

Ubah kata sandi root? [Y/n] Y
Sandi baru:
Masukkan kembali sandi baru:
Sandi berhasil diperbarui!
Memuat ulang tabel hak istimewa..
 ... Berhasil!

Sekarang ketik "Y " dan tekan "Enter " untuk menghapus pengguna anonim default dari server mariadb.

Secara default, instalasi MariaDB memiliki pengguna anonim, memungkinkan siapa saja
untuk masuk ke MariaDB tanpa harus membuat akun pengguna untuk
mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat penginstalan
berjalan sedikit lebih lancar. Anda harus menghapusnya sebelum pindah ke
lingkungan produksi.

Hapus pengguna anonim? [Y/n] Y
 ... Sukses!

Setelah itu, nonaktifkan login jarak jauh untuk pengguna default 'root '. Ketik "Y " dan tekan "Enter " untuk melanjutkan.

Biasanya, root hanya diperbolehkan untuk terhubung dari 'localhost'. Ini
memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan.

Larang login root dari jarak jauh? [Y/n] Y
 ... Sukses!

Ketik "Y " lagi untuk menghapus database default "test " dan tekan "Enter ".

Secara default, MariaDB hadir dengan database bernama 'test' yang dapat
akses siapa saja. Ini juga dimaksudkan hanya untuk pengujian, dan harus dihapus
sebelum pindah ke lingkungan produksi.

Hapus database pengujian dan akses ke sana? [Y/n] Y
 - Menghapus database pengujian...
 ... Berhasil!
 - Menghapus hak istimewa pada database pengujian...
 ... Berhasil!

Dan yang terakhir, ketik "Y " lagi untuk memuat ulang semua hak istimewa tabel untuk menerapkan konfigurasi baru.

Memuat ulang tabel hak istimewa akan memastikan bahwa semua perubahan yang dibuat sejauh ini
akan segera berlaku.

Muat ulang tabel hak istimewa sekarang? [Y/n] Y
 ... Sukses!

Sekarang prosesnya selesai dan Anda akan melihat output berikut.

Membersihkan...

Selesai! Jika Anda telah menyelesaikan semua langkah di atas, penginstalan MariaDB
Anda seharusnya sudah aman.

Terima kasih telah menggunakan MariaDB!

Membuat Database dan Pengguna untuk Nextcloud

1. login ke shell mariadb menggunakan perintah mysql di bawah ini.

mysql -u root -p

2. Sekarang jalankan query mysql berikut untuk membuat database baru "nextcloud_db ".

BUAT DATABASE nextcloud_db;

3. Jalankan query berikut untuk membuat user database baru "nextclouduser ". Ubah "sandi kuat " dengan kata sandi Anda yang kuat.

BUAT PENGGUNA [dilindungi email] DIIDENTIFIKASI DENGAN 'StrongPassword';

4. Izinkan pengguna "pengguna awan berikutnya " untuk mengakses dan menulis "nextcloud_db " menggunakan kueri berikut.

BERIKAN SEMUA HAK ISTIMEWA DI nextcloud_db.* KEPADA [email protected];

5. Sekarang muat ulang semua hak istimewa tabel untuk menerapkan konfigurasi database baru.

HAK ISTIMEWA FLUSH;

Kemudian Anda dapat mengetik "keluar " dan tekan "Enter " untuk keluar dari shell mariadb.

Unduh Kode Sumber Nextcloud

1. Ubah direktori kerja menjadi "/var/www " dan unduh versi terbaru kode sumber Nextcloud menggunakan perintah wget seperti di bawah ini.

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-22.1.1.zip

2. Sekarang instal paket unzip menggunakan perintah berikut.

apt install unzip

3. Selanjutnya, ekstrak source code Nextcloud "nextcloud.zip " dan Anda akan mendapatkan direktori baru "nextcloud", lalu ganti pemilik "nextcloud " direktori ke "www-data " pengguna.

unzip nextcloud-22.1.0.zip
chown -R www-data:www-data nextcloud

Sekarang Anda siap untuk membuat SSL Letsencrypt dan mengonfigurasi host virtual apache untuk Nextcloud.

Membuat SSL Letsencrypt

Pada tahap ini, Anda akan menginstal alat certbot dan menghasilkan sertifikat SSL untuk instalasi Nextcloud. Anda akan membuat SSL Letsencrypts dengan plugin webroot.

1. Jalankan perintah berikut untuk menginstal alat certbot untuk menghasilkan SSL Letsencrypt.

apt install certbot

Ketik 'y ' dan tekan 'Enter ' untuk melanjutkan penginstalan.

2. Setelah instalasi selesai, buat direktori baru untuk otorisasi letsencrypt menggunakan perintah berikut.

mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt

3. Selanjutnya, ubah direktori kerja menjadi "/etc/apache2/conf-available/ " dan buat konfigurasi baru "well-known.conf " menggunakan nano.

cd /etc/apache2/conf-available/
nano well-known.conf

Salin dan tempel konfigurasi berikut.

Alias ​​/.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"

    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
    Memerlukan metode GET POST OPTIONS

Tekan "Ctrl+x " dan ketik "y " dan tekan 'Enter ' untuk menyimpan konfigurasi dan keluar.

Sekarang aktifkan konfigurasi baru dengan membuat symlink dari 'well-known.conf ' file ke direktori 'conf-enabled' menggunakan 'ln ' perintah di bawah.

ln -s /etc/apache2/conf-available/well-known.conf /etc/apache2/conf-enabled/

4. Sekarang jalankan perintah berikut untuk memverifikasi konfigurasi apache dan restart layanan apache.

apachectl configtest
systemctl restart apache2

Jika tidak ada kesalahan, Anda siap membuat SSL Letsencrypt dengan plugin webroot.

5. Sebelum membuat SSL Letsencrypt, pastikan nama domain Anda diselesaikan ke alamat IP server. Setelah itu, Anda dapat membuat SSL Letsencrypt dengan plugin webroot dengan menjalankan perintah certbot di bawah ini. Juga, ubah alamat email dan nama domain menjadi milik Anda.

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain-name.io

Setelah proses selesai, sertifikat SSL Anda tersedia di "/etc/letsencrypt/live/files.domain-name.io/ " direktori.

Menyiapkan Apache Virtual Host untuk Nextcloud

Pada langkah ini, Anda akan menambahkan konfigurasi virtual host Apache/httpd baru untuk Nextcloud.

1. Ubah direktori kerja menjadi "/etc/apache2/sites-available/ " dan buat konfigurasi baru "nextcloud.conf " menggunakan nano.

cd /etc/apache2/sites-available/
nano nextcloud.conf

Ubah nama domain detail dan direktori jalur SSL menjadi milik Anda dan rekatkan konfigurasi ke "nextcloud.conf " file.


    ServerName files.domain-name.io
    ServerAlias ​​www.files.domain-name.io

    # auto redirect HTTP ke HTTPS
    Redirect permanent / https://files.domain-name.io/



    FileName ServerName.domain-name .io
    ServerAlias ​​www.files.domain-name.io
 
    DocumentRoot /var/www/nextcloud/

    Protokol h2 http/1.1

    # auto redirect www ke non-www
   
        Redirect permanen / https://files. domain-name.io/
   


    # file log
    ErrorLog /var/log/apache2/files.domain-name.io-error.log
    CustomLog /var/log/apache2/files.domain-name.io-access.log digabungkan

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/files.domain-name. io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain-name.io/privkey.pem

    # HSTS
   
        Header selalu menyetel Strict-Transport-Security "max-age=15552000; includeSubDomains"
   


   
       Opsi +FollowSymlinks
       AllowOverride All

      
           Dav off
      


        SetEnv HOME /var/www/nextcloud
       SetEnv HTTP_HOME /var/www/nextcloud>   

Tekan "Ctrl+x" dan ketik "Y" , lalu tekan 'Enter ' untuk menyimpan konfigurasi dan keluar.

2. Sekarang aktifkan 'nextcloud.conf ' konfigurasi host virtual dengan menjalankan perintah berikut.

a2ensite nextcloud.conf

3. Sekarang verifikasi konfigurasi apache baru dan pastikan Anda tidak memiliki kesalahan, lalu restart layanan apache.

apachectl configtest
systemctl restart apache2

Instalasi Nextcloud

Jika semua konfigurasi server terkait telah selesai, Anda dapat mengakses instalasi Nextcloud dengan browser web.

1. Buka browser web Anda dan ketik alamat URL penginstalan Nextcloud Anda.

https://files.domain-name.io

Buat pengguna pertama dan admin Anda untuk Nextcloud dan direktori data dapat ditulis oleh pengguna 'www-data '.

2. Scroll halaman ke bawah, ketik detail nama database, user, dan password. Untuk opsi 'Instal aplikasi yang disarankan ', hapus centang itu untuk membuat instalasi lebih cepat. Kemudian klik 'Selesaikan penyiapan ' untuk menginstal Nextcloud.

3. Jika instalasi berhasil, Anda akan melihat dashboard Nextcloud seperti di bawah ini.

4. Sekarang klik ikon pengguna di kanan atas dan klik menu 'Setelan '. Di 'Administrasi ', klik 'Ringkasan '.

  • Di bagian 'Peringatan keamanan dan penyiapan', Anda akan mendapatkan beberapa rekomendasi yang perlu Anda lakukan, tergantung pada lingkungan penginstalan Anda.
  • Di bagian 'Versi', Anda akan melihat cabang penginstalan Nextcloud Anda saat ini.

5. Selanjutnya, klik menu 'Sistem ' di bagian bawah 'Administrasi bagian '.

Anda akan melihat detail lingkungan Anda, beban sistem, status ruang disk, status memori, status jaringan, dll.

6. Seperti yang dikatakan sebelumnya, nextcloud telah menjadi lebih dari sekedar sinkronisasi file. Dengan dukungan aplikasi/plugin tambahan, ini menjadi setelan kolaborasi.

Di ikon profil kanan atas, klik menu 'Aplikasi ', dan Anda akan melihat toko aplikasi nextcloud seperti di bawah ini.

Pilih aplikasi yang ingin Anda pasang, lalu klik tombol 'Unduh dan aktifkan ' untuk memasang aplikasi baru.

7. Di bawah ini adalah tampilan default dasbor pengguna Nextcloud. Anda dapat memperluas fungsionalitas dasbor Anda dengan memasang plugin tambahan.

Penyetelan Performace Nextcloud

Setelah menginstal Nextcloud, Anda dapat melakukan beberapa langkah lebih lanjut untuk meningkatkan kinerja Nextcloud dengan mengaktifkan cache memori lokal dan menyiapkan cronjob untuk Nextcloud itu sendiri.

1. Di bagian instalasi PHP atas, Anda sudah mengatur PHP untuk caching. Untuk mengaktifkan caching di Nextcloud, edit konfigurasi Nextcloud "config.php".

Ubah direktori kerja menjadi "/var/www/nextcloud/config " dan edit konfigurasi "config.php " menggunakan editor nano.

cd /var/www/nextcloud/config/
nano config.php

Tambahkan konfigurasi berikut di dalam 'array ( .. ); ' kurung seperti di bawah

$CONFIG =array (
....
  # Konfigurasi tambahan
  'memcache.local' => '\OC\Memcache\APCu',
);

Sekarang tekan tombol "Ctrl+x tombol " dan ketik "y ", lalu tekan 'Enter ' untuk menyimpan konfigurasi dan keluar.

2. Sistem Nextcloud perlu menjalankan beberapa tugas latar belakang secara teratur dan tanpa interaksi pengguna/admin. Untuk melakukannya, Anda dapat menggunakan cronjob untuk tugas penjadwal tugas Nextcloud.

Pada sistem Linux Debian, instalasi apache default yang berjalan di bawah pengguna adalah "www-data ". Buat cronjob baru untuk pengguna "www-data " menggunakan perintah di bawah ini.

crontab -u www-data -e

Jika Anda memiliki beberapa editor di sistem Anda, pilih editor yang nyaman Anda gunakan. Untuk panduan ini, kami akan menggunakan editor nano.

Tambahkan konfigurasi berikut.

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

Simpan konfigurasi dan keluar.

Konfigurasi cronjob yang harus Anda ketahui:

  • Konfigurasi cronjob ini memungkinkan pengguna "www-data " untuk mengeksekusi skrip PHP "/var/www/nextcloud/cron.php " setiap 5 menit.

Untuk memverifikasi konfigurasi cronjob, Anda dapat menjalankan perintah berikut.

crontab -u www-data -l

Jika konfigurasi Anda berhasil, Anda akan mendapatkan konfigurasi di atas sebagai output Anda. Jika tidak, Anda akan mendapatkan hasil kosong.

Kesimpulan

Selamat! Anda telah berhasil menginstal Nextcloud di Debian 11 Bullseye. Server Nextcloud berjalan di bawah LAMP Stack dengan SSL diaktifkan. Selain itu, penginstalan Nextcloud Anda berjalan dengan cache memori yang diaktifkan dengan PHP APC dan ekstensi opcache.


Debian
  1. Cara Menginstal Nextcloud Di Debian 9

  2. Bagaimana cara menginstal Java 17 di Debian 11

  3. Cara menginstal NextCloud 13 di Debian 9

  1. Cara Menginstal R di Debian 9

  2. Cara Menginstal R di Debian 10

  3. Cara Menginstal Nextcloud 15 di Debian 9

  1. Cara Menginstal NextCloud di Debian 10

  2. Cara Menginstal Gradle di Debian 11

  3. Cara Menginstal Webmin di Debian 11